Typen von Tabellenbeziehungen
Durch eine Beziehung werden die Daten in Schlüsselspalten aufeinander bezogen. Schlüsselspalten sind i. d. R. Spalten mit demselben Namen in beiden Tabellen. In den meisten Fällen verbindet die Beziehung den Primärschlüssel einer Tabelle, durch den jede Zeile eindeutig bezeichnet ist, mit einem Eintrag im Fremdschlüssel der anderen Tabelle. Beispielsweise kann der durch Bücher erzielte Umsatz mit den jeweils verkauften Titeln verknüpft werden. Dazu wird eine Beziehung zwischen der Spalte title_id in der Tabelle titles (Primarschlüssel) und der Spalte title_id in der Tabelle sales (Fremdschlüssel) erstellt.
Es gibt drei Typen von Beziehungen zwischen Tabellen. Welcher Beziehungstyp erstellt wird, hängt davon ab, wie die verknüpften Spalten definiert sind.
1:n-Beziehungen
n:n-Beziehungen
1:1-Beziehungen
1:n-Beziehungen
Die 1:n-Beziehung ist der meist verwendete Beziehungstyp. Mit diesem Beziehungstyp kann eine Zeile in Tabelle A mit mehreren Zeilen in Tabelle B verknüpft werden, aber eine Zeile in Tabelle B kann nur mit einer Zeile in Tabelle A verknüpft werden. Zwischen den Tabellen publishers und titles kann eine 1:n-Beziehung bestehen: Jeder Herausgeber veröffentlicht eine Vielzahl von Titeln, aber jeder Titel stammt nur von einem Verleger.
Erstellen Sie eine 1:n-Beziehung, wenn nur eine der verknüpften Spalten ein Primärschlüssel ist oder eine Unique-Einschränkung besitzt.
Die Primärschlüsselseite einer one-to-many relationship ist durch ein Schlüsselsymbol gekennzeichnet. Die Fremdschlüsselseite einer Beziehung ist durch ein Unendlichkeitssymbol gekennzeichnet.
n:n-Beziehungen
Mit einer n:n-Beziehung kann eine Zeile in Tabelle A mit einer Vielzahl von Zeilen in Tabelle B verknüpft werden und umgekehrt. Um eine Beziehung dieses Typs zu erstellen, definieren Sie eine dritte Tabelle, eine so genannte Verknüpfungstabelle, deren Primärschlüssel aus den Fremdschlüsseln der beiden Tabellen A und B besteht. Zwischen der Tabelle authors und der Tabelle titles besteht z. B. eine n:n-Beziehung, die durch eine 1:n-Beziehung jeder der beiden Tabellen mit der Tabelle titleauthors definiert ist. Der Primärschlüssel der Tabelle titleauthors ist eine Kombination der Spalte au_id (Primärschlüssel der Tabelle authors) und der Spalte title_id (Primärschlüssel der Tabelle titles).
1:1-Beziehungen
Mit einer 1:1-Beziehung kann eine Zeile in Tabelle A nur mit einer Zeile in Tabelle B verknüpft werden und umgekehrt. Eine 1:1-Beziehung wird erstellt, wenn es sich bei beiden verknüpften Spalten um Primärschlüssel handelt oder beide Unique-Einschränkungen besitzen.
Dieser Beziehungstyp wird nur selten verwendet, da sich Informationen, die in dieser Weise miteinander verbunden sind, meist in ein und derselben Tabelle befinden. Sie können eine 1:1-Beziehung bei folgenden Operationen verwenden:
Teilen einer Tabelle mit vielen Spalten
Isolieren eines Teiles der Tabelle aus Sicherheitsgründen
Speichern von Daten mit kurzer Lebensdauer, die gelöscht werden können, indem Sie einfach die Tabelle löschen
Speichern von Informationen, die nur für eine Teilmenge der Haupttabelle gültig sind
Die Primärschlüsselseite einer 1:1-Beziehung ist durch ein Schlüsselsymbol gekennzeichnet. Auch die Fremdschlüsselseite ist durch ein Schlüsselsymbol gekennzeichnet.
Siehe auch
Konzepte
Übersicht über die referenzielle Integrität