Superkey, Kandidatenschlüssel & amp; Primärschlüssel
Können jede Art, die Seele zu klären, meine Zweifel mit einem einfachen Beispiel unten und identifizieren die superkey -, Kandidaten-Schlüssel und Primärschlüssel?
Ich weiß, es gibt eine Menge Beiträge und websites da draußen erklären, die Unterschiede zwischen Ihnen. Aber wie es aussieht sind alle generischen Definitionen.
Beispiel:
Student (StudentNumber, FamilyName, Degree, Major, Grade, PhoneNumber)
Also aus dem obigen Beispiel, kann ich wissen StudentNumber
ist ein primary key.
Aber superkey, ich bin ein bisschen verwirrt, welche Kombination von Attributen zusammengefasst werden können in dem superkey?
Als Kandidat für Schlüssel, ich bin verwirrt durch die definition gegeben, da jeder Kandidat, der Schlüssel kann als primary key.
Bedeutet es, dass Attribute wie PhoneNumber
sind ein Kandidaten-Schlüssel, und kann ein primären key? (Unter der Annahme, dass ein PhoneNumber
gehört nur an einen Schüler)
Danke für die Klärung!
InformationsquelleAutor der Frage JLearner | 2011-12-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie nicht wollen, lehrbuch-Definitionen, grob gesagt, ist ein super-Schlüssel ist eine Gruppe von Spalten, die eindeutig definiert eine Zeile.
Diesem set können ein oder mehrere Elemente, und es kann mehr als ein super-Schlüssel für eine Tabelle. Sie in der Regel tun dies durch funktionale Abhängigkeiten.
In deinem Beispiel gehe ich davon aus:
In diesem Fall, ein superkey ist jede Kombination enthält die Matrikelnummer.
Also die folgenden sind superkeys
Jetzt davon ausgehen, wenn die Nummer eindeutig ist (die Aktien-Handys in diesen Tagen), dann die folgenden sind auch superkeys (zusätzlich zu dem, was ich aufgeführt habe, oben).
Kandidat Schlüssel ist einfach die "kürzeste" superkey. Gehen wir zurück zu der 1. Liste mit superkeys (d.h. Telefon-Nummer nicht eindeutig ist), die kürzeste superkey ist StudentNumber.
Der Primärschlüssel ist in der Regel nur die Kandidaten-Schlüssel.
InformationsquelleAutor der Antwort Cambium
Einen superkey ist jede Menge von Attributen, für die die Werte garantiert einzigartig für alle möglichen Mengen von Tupeln in einer Tabelle zu allen Zeiten.
Kandidat Schlüssel ist eine "minimale" superkey - also die kleinste Teilmenge von superkey Attribute, die eindeutig sind. Entfernen Sie alle attribute von einem kandidatenschlüssel würde, deshalb machen Sie es nicht-einzigartig.
Primärschlüssel ist nur ein candidate key. Es gibt keinen Unterschied zwischen einem Primärschlüssel und alle anderen Kandidaten-Schlüssel.
Es ist nicht wirklich sinnvoll, Annahmen über Schlüssel basiert nur auf einer Liste von Attribut-Namen. Sie müssen wissen, welche Abhängigkeiten werden soll, halten Sie zwischen den Parametern. Having said that, meine Vermutung ist, dass Sie Recht haben - StudentNumber ist wahrscheinlich ein Kandidat Schlüssel in deinem Beispiel.
InformationsquelleAutor der Antwort sqlvogel
Stretching Nährschicht Antwort, wenn die
PhoneNumber
ist auch einzigartig, zusammen mitStudentNumber
danncandidate keys
wäre:-{StudentNumber}
,{PhoneNumber}
.Hier können wir nicht davon ausgehen
{StudentNumber,PhoneNumber}
als Einzelzimmercandidate key
weil, wenn wir das weglassen eines Attributs sagenStudentNumber
wir bekommen immer noch ein einzigartiges Attribut{PhoneNumber}
so gegen die definition voncandidate key
.Primary key:
Wählen Sie einecandidate key
aus allencandidate keys
. Es gibt 2candidate keys
so können wir wählen{StudentNumber}
alsprimary key
.Alternate keys:
übrig gebliebenencandidate keys
nach der Wahlprimary key
auscandidate keys
sind Alternative Tasten, d.h.{PhoneNumber}
.compound key:
einen zusammengesetzten Schlüssel ist ein Schlüssel, der aus zwei oder mehr Attribute, die eindeutig identifiziert eine Entität auftreten. Eine einfache Taste ist eine, die hat nur ein Attribut. Zusammengesetzte Schlüssel werden aus anderen einzigartig einfache Schlüssel-und nicht-Schlüssel-Attribute, aber die können nicht aus anderen zusammengesetzten Schlüssel.composite key:
Einen zusammengesetzten Schlüssel enthält mindestens einen zusammengesetzten Schlüssel und ein mehr-Attribut. Composite-Tasten können auch einfache Schlüssel-und nicht-Schlüssel-Attribute.InformationsquelleAutor der Antwort JerryGoyal