Relationales Datenmodell: Schemata, Schlüssel, Integrität
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 5,77 KB
Konzeptionelle Grafik
Konzeptionelle Grafik: Darstellung von Informationen und Ressourcen, unabhängig vom Systembenutzer oder bestimmten Anwendungen und ohne Rücksicht auf effizienzbezogene Fragen. Sie basiert in der Regel auf dem unterstützten E/R-Modell.
Logisches Schema (global / extern)
Logisches Schema (global / extern): Transformation des konzeptionellen Rahmens in ein Datenmodell, das vom DBMS unterstützt wird. Dabei wird ein globales logisches Datenschema gewonnen. Die häufigste Form ist das relationale Modell.
Internes oder physisches Schema
Internes oder physisches Schema: Umsetzung des logischen Schemas so effizient wie möglich in Bezug auf Performanz und Voraussetzungen, unter Berücksichtigung der spezifischen Nutzungsbedingungen des DBMS sowie der Konfiguration und Eigenschaften von Hardware und Betriebssystem.
Relationales Modell — Struktur
Relationales Modell — STRUKTUR.
Die Anzahl von Attributen heißt Grad. Die Anzahl der Zeilen heißt Kardinalität.
Die Darstellung einer Tabelle (Relation) kann durch Extension — d. h. tabellarische Darstellung mit allen Attributen und Zeilen — oder durch Intension (häufiger, Beschreibung des Schemas) erfolgen.
Schlüsseltypen
Arten von Schlüsseln:
- Candidate: Menge von Attributen, die jede Zeile eindeutig identifiziert. Es gibt immer mindestens einen Kandidatenschlüssel.
- Primär: Der ausgewählte Kandidatenschlüssel zur Identifikation der Zeilen der Relation. Ein Primärschlüssel ist zusammengesetzt, wenn er aus mehr als einem Attribut besteht.
- Alternative: Jeder Kandidatenschlüssel, der nicht als Primärschlüssel gewählt wurde.
- Sonstiges (Fremdschlüssel): Eine Gruppe von Attributen, deren Werte mit dem Primärschlüssel in einer anderen Tabelle oder Relation übereinstimmen. Sie müssen dieselbe Domäne wie der Primärschlüssel besitzen. Fremdschlüssel werden verwendet, um Tabellen zu verknüpfen.
Kein Attribut, das Teil des Primärschlüssels ist, darf einen NULL-Wert annehmen (Entity Integrity).
Integritätsbedingungen und Einschränkungen
Einschränkungen sind Regeln, die bestimmte Strukturen oder Zustände untersagen. Sie können sein:
Inhärente Einschränkungen des Modells
- Primärschlüssel: Muss eindeutig und NOT NULL sein (Eindeutigkeit und Entity-Integrity).
- Die Reihenfolge der Zeilen ist nicht signifikant.
- Die Reihenfolge der Attribute ist nicht relevant.
- Jedes Attribut kann einen einzelnen Wert der Domäne annehmen (homogene Wertemenge), d. h. es darf keine wiederholten Gruppen geben. Wenn diese Bedingung erfüllt ist, befindet sich die Relation in der 1. Normalform.
- Kein Attribut, das Teil des Primärschlüssels ist, kann NULL-Werte annehmen (Entity Integrity).
Semantische (durch den Benutzer definierte) Einschränkungen
Referentielle Integrität: Alle Werte eines Fremdschlüssels müssen einem Primärschlüsselwert in der referenzierten Tabelle entsprechen oder NULL sein (sofern NULL-Werte für den Fremdschlüssel erlaubt sind). Für jeden Fremdschlüssel wird definiert, welche Lösch- und Aktualisierungswirkungen gelten sollen (Löschen und Update).
Referentielle Aktionen
- Cascade (ON CASCADE): Bei Aktualisierung oder Löschung eines Primärschlüsselwerts werden automatisch die entsprechenden Zeilen mit dem Fremdschlüssel gelöscht oder aktualisiert.
- Restrict / No Action (Operation beschränkt): Das Löschen oder Ändern eines Schlüssels in der referenzierten Tabelle ist nur zulässig, wenn es keine Zeilen mit diesem Wert im Fremdschlüssel gibt.
- Set Null (Null setzen): Wenn ein referenzierter Primärschlüsselwert gelöscht oder geändert wird, werden die entsprechenden Fremdschlüsselwerte auf NULL gesetzt (vorausgesetzt, der Fremdschlüssel erlaubt NULL-Werte).
- Set Default (Auf Standard setzen): Löschung oder Änderung eines referenzierten Schlüsselwerts führt dazu, dass im Fremdschlüssel ein Default-Wert gesetzt wird.
Weitere Beschränkungen
Der Benutzer kann zusätzliche Beschränkungen durch Bedingungen an einem oder mehreren Attributen ausdrücken. Beispiele in SQL:
- CHECK: Bei einer Update- oder Insert-Operation prüft das System, ob die angegebene Bedingung erfüllt ist; andernfalls wird die Operation abgelehnt.
- ASSERTION: Prüfung, wenn die Bedingung mehrere Attribute oder mehrere Relationen betrifft.
Trigger
Einige DBMS (z. B. Oracle) unterstützen weitere Beschränkungen in Form von Triggern, bei denen der Benutzer eine Antwort oder Aktion für bestimmte Zustände definiert.
Hinweis: Alle genannten Mechanismen (Schlüssel, Integritätsbedingungen, Aktionen, CHECK, ASSERTION, Trigger) dienen dazu, die Konsistenz der Daten und die Semantik der Anwendung in einem DBMS sicherzustellen.