PMG2426 4/DB Beleg/Greta

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

'''Datenbank-Projekt:'''

== Grundlagen der Datenbank == 

===[[Themenbegründung]]===
 Die Datenbank soll die Verwaltung von Schülern, Lehrern und Kursen in der gymnasialen Oberstufe einer Schule unterstützen.​
 Sie speichert, welche Schüler welche Kurse belegen, welche Lehrkraft einen Kurs unterrichtet und welche Note ein Schüler in einem Kurs erhält.
 Dadurch können typische Auswertungen durchgeführt werden, zum Beispiel: alle Kurse eines Schülers, alle Schüler eines Kurses oder die Notenübersicht für eine Lehrkraft.


===[[Grundlagen]]===
[[Datenbasis:]] Datenmaterial, strukturierte Daten

[[Datenbankmanagementsystem (DBMS):]] dient der Sortierung und Verwaltung von Daten

[[Datenbank:]] Datenbasis und Datenbankmanagementsystem (DBMS) in Verbindung


===[[Kardinalitäten]]===
1:1-Beziehung: Jeder Entität der Entitymenge A wird genau eine Entität der Entitymenge B zugeordnet und umgekehrt.

1:n-Beziehung: Jeder Entität der Entitymenge A können mehrere Entitäten der Entitymenge B zugeordnet werden, umgekehrt kann jedoch jeder Entität der Menge B nur genau eine Entität der Menge A zugeordnet werden.

m:n-Beziehung: Jeder Entität der Entitymenge A können mehrere Entitäten der Entitymenge B zugeordnet werden und umgekehrt.


===[[Normalformen]]===
ENF/1NF - Erste Normalform: jeder Spalte wird nur eine Information zugeordnet. Dadurch werden erst Abfragen ermöglicht, da es keine Komplikationen bei der Suche gibt.

ZNF/2NF - Zweite Normalform: simultane Aufteilung der Entitäten und Entitymengen in Tabellen. Jede Relation modelliert nur einen Sachverhalt. Das Verständnis der Datenbank Strukturen wird so erleichtert. Außerdem wird Redundanz (Dopplungen) vermieden.


===[[Entity Relationship Modell]]===
[[Bild:]]


===[[Transformation in das Relationenmodell ]]===
Aus dem ERM ergeben sich folgende Relationen (Tabellen):

    SCHUELER(schueler_id, vorname, nachname, stufe)

    LEHRER(lehrer_id, vorname, nachname, kuerzel)

    KURS(kurs_id, fach, art, bezeichnung, lehrer_id)


Normalformen – kurze Erklärung

        Normalform: Alle Attribute haben atomare Werte (z.B. keine Liste von Kursen in einem Feld, sondern ein eigener Datensatz pro Kursbelegung in BELEGUNG).​

        Normalform: Alle Nicht‑Schlüsselattribute hängen vollständig vom Primärschlüssel ab, z.B. in SCHUELER hängen vorname, nachname, stufe direkt von schueler_id ab.​

        Normalform: Es gibt keine transitiven Abhängigkeiten, d.h. die Attribute hängen nicht über andere Attribute vom Schlüssel ab, daher sind z.B. Lehrer‑Daten nicht in KURS dupliziert außer dem Fremdschlüssel lehrer_id.