Erste Seite Zurück Weiter Letzte Seite Übersicht Grafik

Die 13 "12 goldenen Regeln" f. RDBMSs


Notizen:

Dr. Edgar F. Codd, formulierte 12 Regeln (inkl. Regel 0 eigentlich 13), die eine relationale Datenbank im strengen Sinne definieren.
(Anm.: eigentlich hat das RMv2 20 Regeln, aus denen insgesamt 333 Features abgeleitet werden. die 12 goldenen Regeln stellen aber die wichtigsten dar.)
0. Ein RDBMS muss in der Lage sein, DBs vollständig über seine relationalen Fähigkeiten zu verwalten.
1. Darstellung von Informationen: Alle Information in einer relationalen DB (einschl. Namen von Tabellen & Spalten etc.) sind explizit als Werte in Tabellen darzustellen.
2. Zugriff auf Daten: Jeder Wert einer RDB muss durch eine Kombination von Tabellenname, Primärschlüssel und Spaltenname auffindbar sein.
Anm.: Speziell diese Forderung ist durch den objektrelationalen Sprachstandard SQL:1999 ff. verletzt: Es gibt nunmehr Datentypen für Arrays und Records, sodass zumindest ein weiterer Index in die Regel aufgenommen werden muss.
3. Systematische Behandlung von Nullwerten: Das DBMS behandelt Nullwerte durchgängig gleich als unbekannte oder fehlende Daten und unterscheidet diese von Standardwerten.
4. Struktur einer DB: Die DB und ihre Inhalte werden in einem so genannten Systemkatalog auf derselben logischen Ebene wie die Daten selbst - also in Tabellen - beschrieben. Demzufolge lässt sich der Katalog mit Hilfe der Datenbanksprache abfragen.
5. Abfragesprache: Zu einem relationalen System gehört mindestens eine Abfragesprache mit einem vollständigen Befehlssatz für Datendefinition & Integritätsregeln, Manipulation & Transaktionen, Autorisierung.
6. Aktualisierung von Sichten: Alle Sichten, die theoretisch aktualisiert werden können, lassen sich auch vom System aktualisieren.
7. Abfragen & Bearbeiten ganzer Tabellen: Das DBMS unterstützt nicht nur Abfragen, sondern auch die Operationen für Einfügen, Aktualisieren und Löschen in Form ganzer Tabellen.
8. Physikalische Datenunabhängigkeit: Der logische Zugriff auf die Daten durch Anwendungen und Ad-Hoc-Programme muss unabhängig von den physikalischen Zugriffsmethoden oder den Speicherstrukturen der Daten sein.
9. Logische Datenunabhängigkeit: Änderungen an den Tabellenstrukturen dürfen keinen Einfluss auf die Logik der Anwendungen und Ad-Hoc-Programme haben.
10. Unabhängigkeit der Integrität: Integritätsregeln müssen sich in der Datenbanksprache definieren lassen. Die Regeln müssen im Systemkatalog gespeichert werden. Es darf nicht möglich sein, diese Regeln zu umgehen.
11. Verteilungsunabhängigkeit: Der logische Zugriff auf die Daten durch Anwendungen und Ad-Hoc-Programme darf sich beim Übergang von einer nicht-verteilten zu einer verteilten Datenbank nicht ändern.
12. Kein Unterlaufen der Abfragesprache: Integritätsregeln, die über die Datenbanksprache definiert sind, dürfen sich nicht mit Hilfe von Low-Level-Sprachen umgehen lassen.