Das relationale Modell ist das beliebteste der logischen Datenmodelle und bildet die Grundlage von SQL-Datenbanken.
Das Relationale Modell basiert auf zwei einfachen Konzepten:
- Tabellen
- Beziehungen
Das relationale Modell geht auf das Jahr 1969 und die Arbeit von Edgar F. Codd, einem englischen Informatiker, zurück. Obwohl wir als Computerprogrammierer daran gewöhnt sind, neugierig auf neue glänzende Dinge zu blicken, lohnt es sich definitiv, eine Technologie zu studieren, die 50 Jahre lang in allem rund um Computer eine zentrale Rolle spielen kann.
Die Tatsache, dass das Modell auf Tabellen basiert, macht es sehr intuitiv zu verwenden, da wir es gewohnt sind, Tabellen zu verwenden, um Dinge zu organisieren. Denken Sie zum Beispiel an eine Excel-Tabelle.
Mit SQL-basierten Datenbanken wie PostgreSQL, Oracle, MySQL, SQLite und MS SQL Server und vielen anderen können die mit dem ER-Modell analysierten Daten mit dem relationalen Modell modelliert und fast sofort in ein SQL-Datenbankformat umgewandelt werden, was möglich ist als reale Implementierung des relationalen Modells angesehen werden, aber wir werden in anderen Beiträgen darüber sprechen.
In diesem Beitrag möchte ich über die Theorie und die Konzepte sprechen, auf denen das relationale Modell basiert, nicht in mathematischen Begriffen ausgedrückt, sondern was es in der Praxis bedeutet.
Wenn Sie ein Student sind, stellen Sie vielleicht fest, dass das, was ich hier schreibe, nicht dem entspricht, was in Ihrem Lehrbuch steht, aber vielleicht können Sie es leichter lesen, um die formaleren Konzepte zu verstehen, die in Ihrem Lernmaterial zum Ausdruck kommen.
Tabellen
In einem relationalen Modell eine Tabelle ist eine Sammlung von Elementen.
Es ist in Zeilen und Spalten organisiert:
Name | Alter |
---|---|
Flavio | 36 |
Roger | 7 |
Sid | 6 |
Tupel
Jeder Eintrag in der Tabelle wird als Tupel bezeichnet . Sie können auch die Begriffe Aufzeichnung verwenden oder Zeile .
Ein Tupel stellt eine Zeile der Tabelle dar, etwa so:
Flavio | 36 |
Attribute
Ein Attribut ist ein einzelnes Element im Tupel.
In diesem Beispiel:
Flavio | 36 |
„Flavio“ ist ein Attribut. 36 ist ein weiteres Attribut.
Tupel sind einzigartig
Jedes Tupel in der Tabelle ist einzigartig.
Im relationalen Modell können wir keine doppelten Daten haben, was bedeutet, dass jede Zeile in der Tabelle in mindestens einem Attribut unterschiedlich sein muss.
Der Beziehungsschlüssel
Was sicherstellt, dass ein Tupel eindeutig ist, ist der Beziehungsschlüssel .
Der Schlüssel ist ein Attribut, das eindeutig identifizieren muss ein Tupel.
Wenn der Beziehungsschlüssel ein Satz von Attributen ist, muss er nicht redundant sein . Das bedeutet, dass, wenn wir eines der Attribute des Schlüssels entfernen, der Schlüssel seine Eindeutigkeit nicht garantieren kann.
Wenn mehr als ein Schlüssel ermittelt werden kann, wird einer dieser Schlüssel als Primärschlüssel identifiziert .
Einschränkung der Schlüsselintegrität
Die Schlüsselattribute eines beliebigen Tupels in der Tabelle dürfen niemals null sein , und darf sich niemals wiederholen .
Bei gegebenem Schlüssel müssen wir in der Lage sein, ohne Mehrdeutigkeit auf ein bestimmtes Tupel/eine bestimmte Zeile zu zeigen.
Die Domäneneinschränkungen
Jedes Attribut hat Regeln darüber, welchen Wert es haben kann .
Wenn wir uns entscheiden, Zahlen zu speichern, können wir beispielsweise keine Zeichenfolgen speichern. Und wir könnten entscheiden, keine Zeichenfolgen mit mehr als 10 Zeichen für Namen zu speichern.
Wir können diesen auch Typ nennen .
Die Einschränkung der referenziellen Integrität
Wenn eine Tabelle einen Verweis auf eine sekundäre Tabelle oder andere Tupel in derselben Tabelle enthält, müssen wir uns an Regeln halten, die verhindern, dass der Verweis unterbrochen wird.
Insbesondere müssen wir vermeiden, die Referenz zu unterbrechen durch:
- vermeiden, den Primärschlüssel des Datensatzes, auf den wir verweisen, in der anderen Tabelle zu löschen oder zu bearbeiten.
- vermeiden Sie das Einfügen eines neuen Datensatzes mit einem nicht existierenden Schlüssel, auf den in der anderen Tabelle gezeigt werden soll.
- Vermeiden Sie es, den Schlüssel des Datensatzes zu ändern, auf den wir zeigen, ohne sicherzustellen, dass der neue Schlüssel in der anderen Tabelle vorhanden ist.
Ein DBMS (Data Base Management System) wird Maßnahmen implementieren, die uns bei der Implementierung der referenziellen Integrität unterstützen.