Wie kann ich in einer Relation (Datenbank) erkennen welche Attribute als Primärschlüssel geeignet sind
Der Primärschlüssel braucht nicht aus einem einzigen Attribut bestehen. Er darf auch aus mehreren Attributen bestehen. Geeignet als Primärschlussel sind also nicht Attribute, sondern Mengen von Attributen.
Eine Menge von Attributen, die als Primärschlüssel geeignet ist, nennt man Schlüsselkandidat.
Einen Schlüsselkandidaten S erkennt man an folgenden Eigenschaften.
- Jedes Attribute, das nicht in S ist, ist von S funktional abhängig.
- Ist T eine echte Teilmenge von S, dann gibt es ein Attribut, das nicht in T ist und nicht von T funktional abhängig ist.
Dabei heißt ein Attribut Y funktional abhängig von der Menge X wenn gilt
- Stimmen zwei Elemente der Relation in allen Attributen von X überein, dann stimmen sie auch in Y überein.
Praktisch gesehen kann man einer Tabelle anhand ihres Inhalts nicht ansehen, welche Schlüsselkandidaten es gibt. Der Primärschlüssel sollte sich nämlich nicht ändern, wenn Datensätze hinzugefügt werden. Die Identifizierung von funktionalen Abhängigkeiten ist Teil der Anforderungsanalyse.
wie die Attribute voneinander abhängen?
Z.B wenn ich die Mitarbeiter Nummer habe weiß ich auch die Abteilungsnummer.
Das musst du den Auftraggeber fragen.