PMG2426 1/DB Beleg/Adrian

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
='''Datenbankprojekt Musikschule'''=

==Themenwahl Begründung==

Das folgende Datenbanksystem wurde gewählt, da die Modellierung einer Musikschuldatenbank eine realitätsnahe Anwendung bietet, die auch auf den Schulkontext einfach bezogen werden kann.<br>
Die Datenbank bietet Abwechslung, mit verschiedenen kardinalitäts Beziehungen und ist eine komplexere Variante einfacherer Zusammenhänge.<br>
Außerdem habe ich aus dem Fenster die Musikschule gesehn und dachte: "Ja, das passt".

==ERM Musikschule==
[[Bild:PMGAJ_Erdplus.png|1000px]]

==RM Musikschule==
[[Bild:PMGAJ_Erdplus_RM.png| 1000px]]

<br><br>

==SQL Tabellen==

<br>

===Erstellung der Tabellen===
<code id="696767806ab23">drop table if exists Musikschule;
create table Musikschule(
    name varchar ,
    Registernummer varchar not null unique,
    PLZ varchar,
    Straße varchar,
    Straßennummer varchar,
    primary key (Registernummer)
);

drop table if exists LehrerInnen;
create table LehrerInnen(
    LehrerInnen_ID varchar not null unique,
    Name varchar,
    Vorname varchar,
    Registernummer varchar not null, 
    primary key (LehrerInnen_ID),
    foreign key (Registernummer) references Musikschule(Registernummer)
);

drop table if exists SchülerInnen;
create table SchülerInnen(
    SchülerInnen_ID varchar not null unique,
    Nachname varchar,
    Vorname varchar,
    PLZ varchar,
    Registernummer varchar not null,
    primary key (SchülerInnen_ID),
    foreign key (Registernummer) references Musikschule(Registernummer)
);

drop table if exists Instrument;
create table Instrument(
    Instrumenten_ID varchar not null unique,
    Name varchar,
    primary key (Instrumenten_ID)
);

drop table if exists Lehren;
create table Lehren(
    LehrerInnen_ID varchar not null,
    Instrumenten_ID varchar not null,
    Lehr_Nr varchar not null unique,
    primary key (Lehr_Nr),
    foreign key (LehrerInnen_ID) references Lehrer(LehrerInnne_ID),
    foreign key (Instrumenten_ID) references Instrument(Instrumenten_ID)
);

drop table if exists Lernen;
create table Lernen (
    Instrumenten_ID varchar not null,
    SchülerInnen_ID varchar not null,
    Leih_Nr varchar not null unique,
    primary key (Leih_Nr),
    foreign key (Instrumenten_ID) references Instrument(Instrumenten_ID),
    foreign key (SchülerInnen_ID) references Schüler(SchülerInnen_ID)
);

drop table if exists Unterricht;
create table Unterricht(
    SchülerInnen_ID varchar not null,
    LehrerInnen_ID varchar not null,
    Vertrags_Nr varchar not null unique,
    primary key (Vertrags_Nr),
    foreign key (SchülerInnen_ID) references Schüler(SchülerInnen_ID),
    foreign key (LehrerInnen_ID) references Lehrer(LehrerInnne_ID)
);</code>
<br><br>
===Einfügen von Werten in Tabellen===
<code id="6979c8729a7cd">insert into Musikschule values('Kreismusikschule Bautzen','01102602','02625','Schilleranlagen','3');
insert into Musikschule values('Kreismusikschule Löbau','01102707','02725','Bernstraße','13');

insert into LehrerInnen values('015637','Wodnik','Pierre','01102602');
insert into LehrerInnen values('015642','Mähr','Wolfgang','01102602');
insert into LehrerInnen values('015603','Luttner','Beate','01102602');

insert into SchülerInnen values('0256231','Mose','Friedrich','02625','01102602');
insert into SchülerInnen values('0256173','Wiedel','Alexa','02625','01102602');
insert into SchülerInnen values('0256187','Wiedel','Annette','02625','01102602');
insert into SchülerInnen values('0256188','Wiedel','Arthur','02625','01102602');

insert into Instrument values('025','Trompete');
insert into Instrument values('022','Flöte');
insert into Instrument values('016','Flügelhorn');
insert into Instrument values('031','Klavier');
insert into Instrument values('008','sopran Saxofon');

insert into Lehren values('015637','025','01');
insert into Lehren values('015637','031','02');
insert into Lehren values('015637','016','03');
insert into Lehren values('015642','031','04');
insert into Lehren values('015642','008','05');
insert into Lehren values('015603','022','06');

insert into Lernen values('025','0256231','001');
insert into Lernen values('016','0256231','002');
insert into Lernen values('031','0256173','003');
insert into Lernen values('025','0256187','004');
insert into Lernen values('031','0256187','005');
insert into Lernen values('022','0256188','006');
insert into Lernen values('008','0256188','007');

insert into Unterricht values('0256231','015637','00562716');
insert into Unterricht values('0256173','015642','00562717');
insert into Unterricht values('0256187','015637','00562718');
insert into Unterricht values('0256187','015642','00562719');
insert into Unterricht values('0256188','015603','00562720');
insert into Unterricht values('0256188','015642','00562721');</code>

<br><br>

===Ausgeben aller Inhalte===

<run id="696767806ab8b">select * from Musikschule;
select * from LehrerInnen;
select * from SchülerInnen;
select * from Instrument;
select * from Lehren;
select * from Lernen;
select * from Unterricht;</run>

<br><br>

===Abfragenerstellung===
<code id="6979d9024c3fe"></code>
<br><br>

==Kritische Reflexion==