Frage von APsychosFriend, 27

Datenbank: Unterschied/Definition von Schlüsselkandidat und Schlüssel?

Hallo ich beschäftige mich mit (speziell) relationalen Datenbanken und bin beim Thema Schlüssel angekommen. Ich kenne den Unterschied zwischen Fremdschlüssel und Primärschlüssel, bloß verstehe ich noch nicht was der Unterschied zwischen Schlüsselkandidat und Schlüssel ist. Im Internet habe ich eig. jede Seite gegooglet und nachgeschaut, aber verstehen tu ich es trotzdem nicht. Fremdschlüssel: Hat die gleichen Eigenschaften wie ein Primärschlüssel Ist ein Primärschlüssel, der auf einen Primärschlüssel in einer anderen Tabelle hinweist Damit der Fremdschlüssel auf den Primärschlüsel hinweisen kann ,müssen die Werte des Fremschlüssels mit dem des Primärschlüssel übereinstimmen

Primärschlüssel: Eindeutiger Bezeichner einer Tupel Werden meist unterstrichen Ist ein auserwählter Schlüsselkandidat Dient also zur Identifikation Besteht aus einem oder mehreren Attributen Das habe ich verstanden. Bloß was ist der Unterschied zwischen Schlüsselkandidat und Schlüssel. Ein Schlüsselkandidat besteht aus einem oder mehreren Attributen und hat die Möglichkeit/Chance ein Primärschlüssel zu werden. So also kann ein Schlüssel nur aus einem Attribut bestehen oder wie ist das? Wenn ja dann wären wiederrum einige Schlüsselkandidaten auch Schlüssel, weil sie aus einem Attribut bestehen? Oder ist ein Schlüssel eine allgemeine Bezeichnung für alle anderen Schlüsselarten? Was ist denn der genaue Unterschied? Schlüssel können einen Tupel eindeutig identifizieren, aber Schlüsselkandidat doch auch?

Antwort
von Tschoo, 26

Hallo!

Wenn du einen Text liest, musst du auch irgendwo auf den Zusammenhang eingehen -- und auf die Worte.

Was ist ein Kandidat? Jemand/Etwas der/die irgend etwas bestimmtes werden könnte  (Millionär in einer Gameshow, zum Beispiel). Er/sie ist es aber noch nicht, es wird sich erst nach einer bestimmten Zeit erweisen, ob er/sie es wird.

Ein Schlüsselkandidat ist eben eine Spalte in einer Datenbanktabelle, die das "Zeug" zum Schlüssel hätte. Aber erst nach weiteren Untersuchung der Tabelle und eventuell der Tabellen die einen Bezug zu dieser Tabelle haben (sollen) wirst du entscheiden ob diese Spalte der Schlüssel wird oder eben nicht.

Gruß

Antwort
von wotan38, 17

Man kann für eine Tabelle nur einen Primärschlüssel definieren. Mitunter gibt es aber mehrere Möglichkeiten zum eindeutigen Bestimmen eines Satzes. Man kann dann als Ersatz dafür einen unique index einrichten. Dieser ist genauso gut wir der Primärschlüssel, nur kann man ihn nicht als Fremdschlüssel verwenden.

Meines Wissens (nicht gerade aktuell) kennt die Datenbank von Oracle überhaupt keinen Primärschlüssel. Die machen das alles mit Indizes.


Keine passende Antwort gefunden?

Fragen Sie die Community