1) Datenmodellierung und Indexstrukturen
a) Datenmodelle
- Relationales Datenmodell: Dieses Model organisiert Daten in Tabellen oder “Relationen”. Jede Tabelle besteht aus einer Reihe von Zeilen (auch also Tuple bezeichnet) und Spalten (auch also Attribute bezeichnet). Es ist das am häufigsten verwendete Datenmodell für Datenbanken.
- Netzwerk Datenmodell: (Die Beschreibung fehlt im Originaltext)
b) Vorteile von Indexstrukturen
Die Verwendung von Indexstrukturen in Datenbanksystemen bietet den wesentlichen Vorteil der Verbesserung der Abfrageleistung durch effizienteres Finden von Daten im Vergleich zu einem Volltabellenscan. Indizes können jedoch zusätzlichen Speicherplatz benötigen und die Geschwindigkeit von Schreibvorgängen verlangsamen.
c) Klassen von Indexstrukturen
- B-Bäume: Effizient für Operationen auf Sekundärspeicher und gut für geordnete Durchläufe.
- Hash-Indizes: Schnelle Suche durch Einsatz einer Hash-Funktion, jedoch nicht geeignet für geordnete Durchsichten.
d) Abhängigkeitserhaltende Zerlegung
Eine Zerlegung eines Relationenschemas ist abhängigkeitserhaltend, wenn die Projektionen der funktionalen Abhängigkeiten auf die Schemata der Zerlegung äquivalent zu den ursprünglichen funktionalen Abhängigkeiten sind. Dies ist gegeben, auch wenn nicht alle Abhängigkeiten explicit erhalten bleiben.
e) Operationen mit Relationen
- Vereinigung: Die maximale Anzahl von Tupeln ist die Summe der Tupeln in beiden Relationen, die minimale Anzahl entspricht der Anzahl der Tupeln in der größeren Relation, falls eine vollständige Überschneidung besteht.
- Division: Beispiel SQL-Abfrage für die Division von
R
durchS
in relationaler Algebra.