Webcam Diggs Cam


Regeln der Relationalität

Kapitel 4 - Codd's Regeln der Relationalität

Inhalt
  • Wie werden relationale Datenbanken implementiert?
  • Zwölf Regeln der Relationalität
  • Worin unterscheiden sich Netzwerkdatenbanken?

Zwölf Regeln der Relationalität

Regel 1: Darstellung von Information

Alle Information in relationalen Datenbanken müssen logisch in Tabellen dargestellt sein, insbesondere
  • Daten
  • Definitionen von Tabellen und Attributen
  • Integritätsbedingungen und Beschreibung der Aktion bei Verletzung (siehe Regel 10)
  • Sicherheitsinformationen (z. B. Zugriffsrechte etc.)

Regel 2: Zugriff auf Daten

Jeder Wert einer relationalen Datenbank muß logisch durch eine Kombination von Tabellenname, Primärschlüssel und Attributname (Spaltenname) auffindbar sein. Dies bedeutet, daß in einer Tabelle an jedem Schnittpunkt einer Zeile mit einer Spalte nur ein Wert stehen darf.

Beispiel:

Tabellenname: Angestellte ; Primärschlüssel: Angestellter = Meier; Attributname: Gehalt = 5300

Regel 3: Systematische Behandlung von Nullwerten

Nullwerte stellen in Attributen, die nicht Teil eines Primärschlüssels sind, fehlende Information dar und werden durchgängig gleich, insbesondere unabhängig vom Datentyp des Attributes, behandelt.

Beispiel:

Man kann also nicht in numerischen Feldern bei fehlenden Daten das Feld leerlassen, und bei Textfeldern das Zeichen -- einfügen. Fehlende Informationen werden heute meist mit NULL bezeichnet.

Regel 4: Struktur einer Datenbank

Die Datenbankstruktur wird in derselben logischen Struktur wie die Daten gespeichert, also in Tabellen. Dazu muß die Struktur aller Tabellen, die zu einer Datenbank gehören, in einer Tabelle (dem Katalog) zugänglich sein. Diese Forderung bedingt, daß sich eine Änderung im Katalog automatisch in einer geänderten Datenbankstruktur auswirkt!

Regel 5: Die Abfragesprache

Ein relationales System enthält mindestens eine befehlsgesteuerte Abfragesprache, die mindestens die folgenden Funktionen unterstützt:
  • Datendefinition
  • Definition von Views (logische Sichten der Datenbank, die der Benutzer aus den Attributen der Basistabellen erstellt und mit den gewohnten Operatoren manipulieren kann)
  • Definition von Integritätsbedingungen
  • Definition von Transaktionen (Eine Transaktion ist eine Folge von Befehlen, die eine Datenbank von einem konsistenten Zustand in einen anderen überführen. Eine Transaktion muß entweder vollständig durchgeführt oder, bei einem Abbruch, vollständig zurückgesetzt werden)
  • Definition von Berechtigungen

Regel 6: Aktualisieren von Views

Alle Views, die theoretisch aktualisiert werden können, können auch vom System aktualisiert werden.

Beispiel:

Hat man zwei Spalten A und B mit Zahlen, so kann man sich eine weitere Spalte definieren, die A*B enthält. Ändert man einen Wert in dieser Spalte, so kann daraus nicht der Wert der Spalten A und B bestimmt werden, da im allgemeinen aus dem Produkt zweier Zahlen diese zwei Zahlen nicht bestimmt werden können. Dieses View kann also theoretisch nicht aktualisiert werden.

Problem:

Im allgemeinen kann nicht entschieden werden, ob ein View theoretisch aktualisiert werden kann

Regel 7: Abfragen und Editieren ganzer Tabellen

Abfrage- und Editieroperationen müssen als Operanden ganze Tabellen und nicht nur einzelne Sätze erlauben.

Regel 8: Physikalische Unabhängigkeit

Der Zugriff auf die Daten durch den Benutzer muß unabhängig davon sein, wie die Daten gespeichert werden oder wie physikalisch auf sie zugegriffen wird. Dies bedeutet, daß Anwendungen nur auf die logische Struktur des Systems zugreifen dürfen.

Beispiel:

Die Daten dürfen auf einem Datenträger durchaus hierarchisch gespeichert sein. Nur die logische Struktur der Datenbank muß relational sein. Ändert der Datenbankverwalter die physikalische Struktur, darf der Anwender davon nichts mitbekommen.

Regel 9: Logische Unabhängigkeit der Daten

Anwendungen und Zugriffe dürfen sich logisch nicht ändern, wenn Tabellen so geändert werden, daß alle Informationen erhalten bleiben. (z. B. beim Aufspalten einer Tabelle in zwei Tabellen)

Regel 10: Unabhängigkeit der Integrität

Alle Integritätsbedingungen müssen in der Abfragesprache definierbar sein und in Tabellen dargestellt werden. Das System muß mindestens die folgenden Integritätsbedingungen prüfen:

Vollständigkeitsintegrität (Entity Integrity, Existential Integrity)

Ein Primärschlüssel muß eindeutig sein und darf insbesondere keinen Nullwert enthalten.

Beziehungsintegrität (Referentielle Integrität, Referential Integrity)

Zu jedem Fremdschlüsselwert existiert ein Primärschlüsselwert.

Beispiel: Zu jeder Personalnummer muß es auch einen Namen eines Angestellten geben

Regel 11: Verteilung der Daten

Anwendungen für eine nicht-verteilte Datenbank dürfen sich beim Übergang zu einer verteilten Datenbank logisch nicht ändern.

Beispiel: Wenn die oben beschriebenen Tabellen in einem Netzwerk auf zwei verschiedenen Rechnern gespeichert sind, darf sich bei der Anwendung nichts ändern, wenn die Tabellen irgendwann auf denselben Rechnern gespeichert werden.

Regel 12: Unterlaufen der Abfragesprache

Unterstützt ein relationales Datenbanksystem neben der High-Level-Abfragesprache eine Low-Level-Abfragesprache, so darf diese die Integritätsbedingungen der High-Level-Sprache nicht unterlaufen.

Beispiel: Die Low-Level Abfragesprache darf z. B. nicht direkt auf die physikalischen Eigenschaften der gespeicherten Daten zugreifen.
Printansicht Inhalt Anfang zurück vor
Kapitel 1DBMS Konzept
Eigenschaften, Bestandteile, Ebenen...
Kapitel 2DB Entwurf
Qualitätsmerkmale, funktionale Abhängigkeiten, ER...
Kapitel 3Normalformen
Übersicht Normalformen, Anomalien...
Kapitel 4Relationalität
Regeln und Vorgehensweisen...
Kapitel 5Sprachen
relationale Sprachen, SQL, Query...
Kapitel 6Datenorganisation
Tertiärspeicher, Adressierung, Indexe, ISAM...
Kapitel 7Transaktionskonzept
Datenintegrität, Serialisierbarkeit, ACID...
Kapitel 8Concurrency Control
Read-Write Modell, Schedules, Prinzip...
Kapitel 9Scheduler & Recovery
2-Phasen-Sperren,Deadlocks,Recovery...
PDF download:
Kleine ÜbersichtNormalformen
DMBSDMBS Bestandteile
Concurrency ControlConcurrency Control
All In OneKomplett (115 KByte)
Quellen:
Gottfried Vossen
Datenbankmanagementsysteme
Heuer und Saake
Konzepte und Sprachen
Prof. Benn
Skript und Vorlesung
Relationale Datenbanken
Andreas Kelz
Word Wide Web
Verschiedenste Seiten
Links:
Relationale Datenbanken
Andreas Kelz
ER Modell
Universität Wien

login

last change 06.04.2008 16:28:54  © 2002 - 2005 Holger Kreissl