Das relationale Modell Relationstyp, Tabelle, Datei Spalten, Attribute, Felder Zeilen, Tupel, Datensätze Primärschlüssel Baispie Keine Information zu Sortierungen Keine Information zur Anzahl von Zeilen
Schlüssel im relationalen Datenmodell Primärschlüssel Eine Teilmenge von Attributen (=Spalten, =Felder) eines Relationstyps (=Tabelle, =Datei) zur eindeutigen Identifikation und Unterscheidung der Zeilen (=Tupel, =Datensätze) Basiert auf eindeutigen Werten für den Primärschlüssel einer Tabelle Vermeidet doppelte Werte für den Primärschlüssel innerhalb einer Tabelle Für jeden Relationstyp muss ein Primärschlüssel definiert werden (ein Typ – ein Schlüssel). Fremdschlüssel / Sekundärschlüssel Eine Teilmenge analoger Attribute (=Spalten, =Felder) zweier Relationstypen (=Tabelle, =Datei), um einer Zeile (=Tupel, =Datensatz) des ersten Relationstyps eine oder mehrere Zeilen des zweiten Relationstyps zuzuordnen (join, link) Basiert auf gleichen Werten für die Fremdschlüssel in den beiden verbundenen Relationen Der Verbund kann vom Typ „eins zu eins“ (1:1) oder „eins zu viele“ (1:n) sein Jeder Relationstyp kann (muss jedoch nicht) eine oder auch mehrere Fremdschlüssel zu anderen Relationstypen besitzen.
Beispiele für Primärschlüssel
Beispiele für Fremdschlüssel 1:n 1:1
Normalisierung des relationalen Modells 1. Normalform alle Attribute eines Relationstyps sind elementar 2. Normalform fordert die volle funktionale Abhängigkeit zwischen den Nichtschlüsselattributen einer Relation und einem aus mehreren Attributen zusammengesetzten Primärschlüssel wird verletzt, wenn ein Nichtschlüsselattribut bereits von einer echten Teilmenge der Primärschlüsselattribute abhängig ist 3.Normalform schließt transitiv funktionale Abhängigkeiten zwischen dem Primärschlüssel (S), einem Nichtschlüsselattribut (N1) und einem Nichtschlüsselattribut (N2) aus 4. Normalform wird verletzt, wenn innerhalb des Primärschlüssels zwei oder mehrere, voneinander unabhängige mehrwertige Abhängigkeiten existieren
= Operatoren des relationalen Modells Selektion: Projektion: Auswahl von Tupeln (= Zeilen, =Records) einer Relation Basiert auf Bedingungen Projektion: Auswahl von Attributen (=Spalten, =Felder) einer Relation Beinhaltet i.d.R. das Streichen doppelter Ergebnistupel Sortierung: Bestimmung der Reihenfolge der Tupel (= Zeilen, =Records) einer Relation Basiert auf Kriterien und Prioritäten Verbund (JOIN, LINK): Kombination von Attributen zweier Relationen Basiert auf Fremdschlüsseln = Durchschnittsmenge: Auswahl derjenigen Tupel einer Relation A, die identisch mit Tupeln einer Relation B sind Differenzmenge: Auswahl derjenigen Tupel einer Relation A, für die es keinen identischen Vertreter in einer Relation B gibt Vereinigungsmenge: Aneinanderfügen der Tupel zweier strukturgleicher Relationen
Selektion
Selektion
Sortierung
Sortierung
Projektion
Projektion
Verbund Inner Join Outer Join
= Verbund (INNER JOIN)
= Verbund (OUTER JOIN) Left Join Right Join
Durchschnittsmenge A B C D E F
Durchschnittsmenge
Differenzmenge A B C D E F A B C D E F
Differenzmenge
Vereinigungsmenge A B C D E F
Vereinigungsmenge