Was ist eigentlich der Unterschied zwischen Primärschlüssel und Fremdschlüssel? Access 2010

... komplette Frage anzeigen

2 Antworten

Ich gehe davon aus dass du von Datenbanken redest? wenn ja, dann ist ein Primärschlüssel der schlüssel, der die Relation (die tabelle) identifiziert z.B. nehmen wir mal die Relation Student mit den Attributen Matr.-Nr. und Studienfach dann ist Matr.-Nr. der Primärschlüssel, da diese Nummer einen Studenten eindeutig identifiziert

ein Fremdschlüssel ist ein schlüssel in einer Relation, der aber aus einer anderen Relation stammt...

z.B. gibt es noch die Relation Vorlesung mit dem Primärschlüssel Vorlesungsnummer und dann gibt es eine Relation "hören" mit den Fremdschlüsseln Matr.-Nr (von student) und Vorlesungsnummer (von Vorlesung)

also Primärschlüssel sind aus der eigenen Relation und Fremdschlüssel von anderen Relationen

hoffe ich konnte deine Frage damit verständlich beantworten ^^

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von marylatourette
15.10.2012, 19:48

Sehr gut erklärt, vielen Dank! :D

0

Ich will das mal an einem Beispiel erläutern: Ich habe eine Tabelle MITGL mit Mitgliedern eines Vereins. Der Primärschlüssel ist die Mitglieds-Nr. Diese Nr. ist eindeutig und identifiziert das Mitglied. In einer weiteren Tabelle ZAHL habe ich die eingegangenen Zahlungen mit dem Primärschlüssel Zahldatum + Mitglieds-Nr. Es könnte nun sein, dass da ein Satz mit einer Mitglieds-Nr drin steht, die in der Tabelle MITGL gar nicht vorhanden ist. Da könnte z.B. das Mitglied gelöscht worden sein, ohne dass man seine Zahlungen mitgelöscht hätte. Mit einem Fremdschlüssel kann man auf Datenbankebene solche Diskrepanzen verhindern. Bei der Mitglieds-Nr in ZAHL wird mit einem sog. Fremdschlüssel ein Bezug auf den Primärschlüssel von MITGL hinterlegt. Ergänzend kann man noch die Vorgehensweise festlegen, wie im einzelnen so ein Fall abgewickelt werden soll. Man kann entweder das Löschen in MITGL verbieten (DELETE RESTRICT), wenn es dazu Einträge in ZAHL gibt oder man legt fest, dass solche Sätze in ZAHL mitglöscht werden (DELETE CASCADE). Die Verwendung eines Fremdschlüssels ist nicht zwingend, aber sehr nützlich.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?