DB2 Universal Database - Systemverwaltung


Definieren von Tabellen für jede Art von Relation

In einer Datenbank können verschiedene Arten von Beziehung definiert werden. Betrachten Sie zum Beispiel die möglichen Relationen zwischen Mitarbeitern (Employees) und Abteilungen (Departments). Ein Mitarbeiter kann in nur einer Abteilung arbeiten. Eine solche Relation ist einwertig für den Mitarbeiter. Auf der anderen Seite kann eine Abteilung mehrere Mitarbeiter haben. Diese Relation ist mehrwertig für die Abteilungen. Die Relation zwischen Mitarbeiter (einwertig) und Abteilungen (mehrwertig) ist eine Eins-zu-viele-Beziehung. In diesem Abschnitt werden die folgenden Arten von Beziehungen behandelt:

Eins-zu-viele- und Viele-zu-eins-Beziehungen

Zur Definition von Tabellen für die einzelnen Eins-zu-viele- und Viele-zu-eins-Beziehungen empfiehlt sich folgende Methode:

  1. Fassen Sie alle Beziehungen in Gruppen zusammen, bei denen jeweils die "Viele"-Seite der Relation dieselbe Entität ist.
  2. Definieren Sie eine Tabelle für alle Relationen in der Gruppe.

Im folgenden Beispiel ist die Viele-Seite der ersten und zweiten Relation "Employees" (Mitarbeiter), so daß eine Tabelle für die Mitarbeiter (Tabelle EMPLOYEE) definiert wird.

Tabelle 5. Viele-zu-eins-Beziehungen
Entität Beziehung Entität
Mitarbeiter sind zugeordnet zu Abteilungen
Mitarbeiter arbeiten als Jobbezeichnung
Abteilungen berichten an (Verwaltungs-) Abteilungen

In der dritten Relation ist die Entität "Departments" (Abteilungen) auf der Viele-Seite, so daß eine Tabelle DEPARTMENT definiert wird.

Die folgenden Tabellen veranschaulichen, wie diese Relationen dargestellt werden:

Die Tabelle EMPLOYEE:
EMPNO WORKDEPT JOB
000010 A00 President
000020 B01 Manager
000120 A00 Clerk
000130 C01 Analyst
000030 C01 Manager
000140 C01 Analyst
000170 D11 Designer

Die Tabelle DEPARTMENT:
DEPTNO ADMRDEPT
C01 A00
D01 A00
D11 D01

Viele-zu-viele-Beziehungen

Eine Relation, die in beiden Richtungen mehrwertig ist, wird als eine Viele-zu-viele-Beziehung bezeichnet. Ein Mitarbeiter (Employee) kann an mehr als einem Projekt arbeiten, und ein Projekt kann mehr als einen Mitarbeiter beschäftigen. Auf die Fragen "Woran arbeitet Dolores Quintana?" und "Wer arbeitet an Projekt IF1000?" gibt es jeweils mehrere Antworten. Eine Viele-zu-viele-Beziehung kann in einer Tabelle mit einer Spalte für jede Entität (Mitarbeiter "EMPNO" und Projekt "PROJNO") wie im folgenden Beispiel dargestellt werden.

Die folgende Abbildung zeigt, wie eine Viele-zu-viele-Beziehung (ein Mitarbeiter kann an vielen Projekten arbeiten, und ein Projekt kann viele Mitarbeiter beschäftigen) in einer Tabelle dargestellt werden kann:

Die Tabelle EMP_ACT (Mitarbeitertätigkeiten):
EMPNO PROJNO
000030 IF1000
000030 IF2000
000130 IF1000
000140 IF2000
000250 AD3112

Eins-zu-eins-Beziehungen

Eins-zu-eins-Beziehungen sind in beide Richtungen einwertig. Ein Manager leitet eine Abteilung. Eine Abteilung hat nur einen Manager. Auf die Fragen "Wer ist der Manager der Abteilung C01?" und "Welche Abteilung wird von Sally Kwan geleitet?" gibt es jeweils nur eine Antwort. Die Beziehung kann entweder der Tabelle DEPARTMENT oder der Tabelle EMPLOYEE zugeordnet werden. Da alle Abteilungen Manager haben, aber nicht alle Mitarbeiter Manager sind, ist die logische Konsequenz, die Manager der Tabelle DEPARTMENT wie im folgenden Beispiel zuzuordnen.

Die folgende Abbildung zeigt, wie eine Eins-zu-eins-Beziehung in einer Tabelle dargestellt wird:

Die Tabelle DEPARTMENT:
DEPTNO MGRNO
A00 000010
B01 000020
D11 000060


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]