Einzelnen Beitrag anzeigen

Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#1

Definition "Schlüssel" in einer Datenbank

  Alt 18. Dez 2006, 16:53
Datenbank: N/A • Zugriff über: N/A
Hallo!

Ich beschäftige mich gerade etwas genauer mit Datenbanksystemen. Im Prinzip weiß ich was genau ein Schlüssel ist, jedoch muss ich für ein Referat eine genaue Definition finden. Im Wikipedia steht unter Schlüssel (Datenbank) folgender Satz:
Zitat:
Ein Schlüssel dient in einer Relationalen Datenbank dazu, die Tupel einer Relation eindeutig zu identifizieren. Anschaulich kann man sich eine Relation als Tabelle vorstellen. Der Schlüssel einer solchen Tabelle ist dann eine Gruppe von Spalten, die so ausgewählt wird, dass jede Zeile in dieser Gruppe eine einmalige Wertekombination hat.
...
Fremdschlüssel: Ein Attribut einer Relation, welches auf einen Primärschlüssel einer anderen Relation verweist.
Jetzt stellt sich allerdings für mich die Frage, wie man eine 1:n (oder n:m) Beziehung darstellen kann, wenn laut dieser Definition jeder Wert nur einmal vorkommen darf?

Beispiel:
Code:
+--------------+
| Abteilungen |
+----+---------+
| ID | Name   |
+----+---------+
| 1  | EDV    |
| 2  | Telekom |
| 3  | Zubehör |
+----+---------+

+------------------+
| Mitarbeiter     |
+------+-----------+
| Name | Abteilung |
+------+-----------+
| Mayr | 2         |
| Böck | 3         |
| Faux | 2         |
+------+-----------+
Abteilung wäre laut der Definition ein Fremdschlüssel (auch ein Index, wodurch er laut Definition eines Indexes wieder zu einem Schlüssel werden muss). Hier muss ich aber 2 öfter als einmal vorkommen lassen, da ich sonst keine 1:n Beziehung erstellen kann, wodurch die Grunddefinition eines Schlüssels nicht mehr stimmt (...identifiziert eine Entität eindeutig...).
Habe ich da einen Denkfehler, oder ist die Definition wirklich nicht okay?

Grüße
Faux
Faux Manuel
  Mit Zitat antworten Zitat