PMG/Kurs 1214/DB Beleg/Patrick
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>SQL</language> '''Thema:''' Punkteverwaltungsdatenbank für Jahrgänge der Sekundarstufe II. '''Begründung:''' Das o.g. Projekt ist im Grunde genommen einfach zu entwerfen und zu entwickeln und füllt im Schulverwaltungsprozess eine zeitaufwändige Lücke. Für die Noten der Klassen 1-10 (Primarstufe, Sekundarstufe I.) gibt es Klassen- bzw. Notenbücher. Durch diese ist es problemlos möglich, den Überblick über einen einzigen Schüler zu erhalten. Da die einzelnen Kurse in den Klassenstufen 11 und 12 jedoch separat vom jeweiligen Kursleiter verwaltet werden (durch Kursbücher), ist es nicht möglich, eine komplette Leistungsübersicht für einen Abiturienten zu erstellen. '''Entity-Relationship-Modell (ERM):''' [[Datei:Erm_patrick_hoehne.jpeg|1100px]] '''Relationenmodell:''' [[Datei:Rel_patrick_hoehne.jpg|800px]] '''Erstellen der Datenbank/notwendige Datensätze:''' <code id="52dc2f3061d37"> DROP TABLE IF EXISTS tbl_fachbereiche; CREATE TABLE tbl_fachbereiche ( BereichID integer, BereichKurzform varchar(6), BereichLangform varchar(255), [CONSTRAINT bereichid] PRIMARY KEY(BereichID) ); DROP T ABLE I F EXISTS tbl_faecher; CREATE T ABLE tbl_faecher ( FachID integer, FachKurzform varchar(6), FachLangform varchar(255), FachBereich integer, [CONSTRAINT fachid] PRIMARY KEY(FachID), FOREIGN KEY (FachBereich) REFERENCES tbl_fachbereiche(BereichID) ); DROP T ABLE IF EXISTS tbl_lehrer; CREATE T ABLE tbl_lehrer ( LehrerID integer, LehrerKurzform varchar(6), LehrerLangform varchar(255), LehrerPasswort v archar(255), LehrerAdministrator boolean, LehrerPWÄnderung boolean, [CONSTRAINT lehrerid] PRIMARY KEY(LehrerID) ); DROP TABLE IF EXISTS tbl_jg; CREATE T ABLE tbl_jg ( JgID integer, JgKurzform varchar(6), JgLangform varchar(255), JgAbiturjahr v archar(4), JgAktuellesHalbjahr integer, [CONSTRAINT jgid] PRIMARY KEY(JgID) ); DROP TABLE IF EXISTS tbl_schueler; CREATE TABLE tbl_schueler ( SchuelerID integer, SchuelerNachname varchar(255), SchuelerVorname varchar(255), SchuelerJg integer, SchuelerTutorKurs integer, [CONSTRAINT schuelerid] PRIMARY KEY(SchuelerID), FOREIGN KEY (SchuelerJg) REFERENCES tbl_jg(JgID), FOREIGN KEY (SchuelerTutorKurs) REFERENCES tbl_kurse(KursID) ); DROP TABLE IF EXISTS tbl_kurse; CREATE TABLE tbl_kurse ( KursID integer, KursJg integer, KursKurzform varchar(8), KursLangform varchar(255), KursFach integer, KursKursleiter integer, [CONSTRAINT kursid] PRIMARY KEY(KursID), FOREIGN KEY (KursJg) REFERENCES tbl_jg(JgID), FOREIGN KEY (KursFach) REFERENCES tbl_faecher(FachID), FOREIGN KEY (KursKursleiter) REFERENCES tbl_lehrer(LehrerID) ); DROP TABLE IF EXISTS tbl_schueler_kurse; CREATE TABLE tbl_schueler_kurse ( SchuelerKursID integer, Schueler integer, Kurs integer, Halbjahr integer, K1 integer, K2 integer, K3 integer, S1 integer, S2 integer, S3 integer, S4 integer, S5 integer, S6 integer, [CONSTRAINT schuelerkursid] PRIMARY KEY(SchuelerKursID) ); </code> '''Abfragen in SQL:''' <run id="52dc2f5b609c9"></run>