Excel 2.0
| Back to OverviewBegriffe
- Domäne : Wertebereich einer Spalte z.B. INTEGER.
- Relation: ist einfach dann gegeben : Also eine Tabelle wow.
- Tupel: Eine Zeile der Tabelle, bzw. ein Element der Relation
- geordnetes Relationenschema: Hierbei haben die Zeilen eine feste Ordnung
Relationen
Beispiel ist folgende Tabelle:
Name | Einwohnen | Land |
---|---|---|
München | 1.472.000 | Bayern |
Bremen | 569.352 | Bremen |
Aachen | 245.885 | NRW |
Als geordnetes Schema wäre das:
- Schema: Städte(Name, Einwohner, Land)
- dom(Name) = STRING, dom(Einwohner) = INTEGER, dom(Land) = STRING
- Ausprägung
- (Name) = München. (Einwohner) = 569.352
Schlüsselattribute
Definition Schlüsselkandidat:
- Eindeutigkeit: In keinen zwei Tupeln gleichen sich alle Schlüsselattribute
- Minimalität: Du kannst nicht eins wegnehmen und es ist immer noch ein Schlüsselattribut. (Keine echte Teilmenge erfüllt Eindeutigkeit)
Formell:
- Relation, ist eine Projektion(Einschränkung) vom Tupel auf die Attribute .
- Für alle Attributmengen die Eindeutigkeit erfüllen gilt:
Relationale Modell
Alle Entities und Beziehungen werden als Relationen dargestellt.
- Intrarelationale Abhängigkeit: Aussagen über die Konsistenz einer Relation. Z.B.Schlüssel einer Relation
- Wird durch ausgedrückt. . Wobei eine Menge von Attributen, die Menge aller Relationen über und wäre das gleiche nur mit Tupeln
- Man erweitert also das Relationenschema: wobei die Menge der Intra-Relationen-Abhängigkeiten ist und ein geordnetes Relationenschema.
- Interrelationale Abhängigkeit: Aussagen über die Konsistenz einer Datenbank. Also zum Beispiel Fremdschlüssel müssen existieren.
- ist die Menge aller Datenbanken über . Eine Datenbank ist eine Menge von Relationen
- Eine Interrelationale Abhängigkeit wird durch spezifiziert.
- Z.B: true wenn die Bedingung stimmt, sonst false
Somit ist ein Datenbankschema: Eine Datenbank ist konsistent/gültig wenn alle Intra- und Interrelationalen Abhängigkeiten erfüllt sind.
Fremdschlüssel
Man nutzt um Beziehung zu anderen Entitäten herzustellen deren Schlüssel. Das heißt dann Fremdschlüssel. Also wobei die Fremdschlüsselattribute und die Schlüsselattribute sind.
Von ER-Diagrammen zu Relationen
- Entity: Relation
- Attribut: Attribut der Relation
- Mehrwertiges Attribut: Neue Relation mit zusammengesetzten Schlüssel aus dem Schlüssel der Entity und dem Attribut
Ein Student wäre dann Student(MatrNr, Name, Semester)
- n-m-Beziehung: Relation mit Schlüssel aus den Schlüsseln der Entities. Z.B. Hört(MatrNr, VorlesungsNr) Dabei gibt es natürlich interrelationale Abhängigkeiten.
- 1-n-Beziehung: Die Beziehung wird als Attribut der n-Entität gespeichert: z.B. Vorlesung(Nummer, Titel, SWS, Prof)
- 1-1-Beziehung: Die Beziehung wird als Attribut einer der beiden Entitäten gespeichert
- Rekursive Beziehung: Laufen halt rekursiv...
Generalisierungen 4 Möglichkeiten:
-
partiell: Tabelle für jeden Entity-Typ
-
total: Tabelle für alle Sub-Entities
-
disjunkt: eine Tabelle für alle Attribute enthält und ein Typ-Attribut
-
überlappend: eine Tabelle für alle Attribute enthält und ein boolsches Attribut für jeden Typ
-
Schwache Entities werden als Relation mit Schlüssel aus dem Schlüssel der starken Entity und dem schwachen Attribut gespeichert.
-
n-stellige Beziehungen werden als Relation mit Schlüssel aus den Schlüsseln der Entities und den Attributen gespeichert.
Relationale Algebra
Hiermit macht man Operationen auf Relationen. Bissle wie SQL nur in "mathematisch".
Operationen:
- Vereinigung:
- Differenz:
- Kreuzprodukt:
- Selektion: wobei eine Formel ist die auf die Attribute von definiert ist.
- Projektion: wobei Attribute von sind. Also Auswahl von Spalten aus einer Relation wie vorher.
- Umbenennung: oder Also Umbenennung einer Relation oder eines Attributs.
- Durchschnitt:
- Natural Join: Selektierung aus dem Kreuzprodukt von und mit der Bedingung, dass die Attribute die gleichen Werte haben.
- Theta Join: Selektierung aus dem Kreuzprodukt von und mit der Bedingung, dass die Formel gilt.
- Outer Join: Hier bleiben nicht nur die Tupel die gleiche Werte haben übrig. Bei left / right bleiben alle der linken / rechten Relation übrig. Bei full bleiben alle übrig.
Kalkül
Aus der Algebra baut man dann logischer weise ein Kalkül nach MALO Style auf.
Hierbei sind die Atome:
- wobei ein Vergleichsoperator ist.
- wobei ein Konstante ist. Verknüpfungen:
Ja ist glaube ich nicht so spannend
Vielleicht guck ich mirs später nochmal an
Oder mit ihren eigenen Worten:
"Wozu zur Hölle ist das Tupelkalkül zu gebrauchen?"