Ich bin neu in DBMS und lerne immer noch die Theorie.
Ich bin wirklich verwirrt mit diesem Schlüsselgeschäft und nach dem googeln habe ich es auf nur 2 Schlüssel eingegrenzt, die ich nicht bekomme (Primär- und Superschlüssel).
Ich habe ein paar Fragen zu DBMS. Ich wäre Ihnen dankbar, wenn Sie mir antworten könnten.
1) Was ist der Unterschied zwischen Primärschlüssel und Superschlüssel in DBMS? Schätzen Sie es sehr, wenn Sie ein umfassendes Beispiel verwenden können, um es richtig zu erklären
2) Primärschlüssel und Super - Taste beide haben mehrere Spalten kombiniert Primärschlüssel und Super Schlüssel zu bilden?
3) Ist der Primärschlüssel eine Teilmenge des Superschlüssels oder umgekehrt?
Antworten:
Ein Superschlüssel ist einfach ein nicht minimaler Kandidatenschlüssel , dh ein Schlüssel mit zusätzlichen Spalten, die nicht unbedingt erforderlich sind, um die Eindeutigkeit der Zeile sicherzustellen.
Ein Primärschlüssel ist ein minimaler Kandidatenschlüssel , dh, alle Spalten der Bestandteile sind unbedingt erforderlich, um die Eindeutigkeit sicherzustellen.
Als Datenbankentwickler / -designer mit 30 Jahren Erfahrung habe ich den Begriff Super Key erst gehört, als ich diese Frage gesehen und nachgeschlagen habe. Das Konzept von Super Key scheint für das Thema Leistung und Entwurf des physischen Schemas relevanter zu sein, da es direkt dem Konzept eines eindeutigen Nonclustered-Indexes mit zusätzlichen Spalten zur besseren Abdeckung von Abfragen zugeordnet ist.
quelle
Superschlüssel: Superschlüssel steht für die Obermenge eines Schlüssels. Ein Superschlüssel besteht aus einem oder mehreren Attributen, die gemeinsam verwendet werden und alle anderen Attribute eindeutig identifizieren können.
Zum Beispiel haben wir einen Tisch
Also können wir in dieser Tabelle haben
Als unser Superschlüssel. Jeder Superschlüssel kann jedes Tupel (Datensatz) eindeutig identifizieren.
Kandidatenschlüssel Kandidatenschlüssel sind Superschlüssel ohne redundante Attribute. Mit anderen Worten, Kandidatenschlüssel sind minimale Superschlüssel. Zum Beispiel in der obigen Abbildung
Diese beiden Schlüssel können Kandidatenschlüssel sein, da die verbleibenden Schlüssel redundante Attribute aufweisen. Mittelwerte in Superschlüsseldatensätzen (BookId, BookName) können nur durch bookid eindeutig identifiziert werden, und daher ist Bookname ein redundantes Attribut
Primärschlüssel: Dies ist ein Kandidatenschlüssel, der vom Datenbankdesigner ausgewählt wird, um Entitäten in einem Entitätssatz zu identifizieren. ODER Ein Schlüssel, mit dem jeder Datensatz eindeutig identifiziert wird, wird als Primärschlüssel bezeichnet.
Von den oben genannten Kandidatenschlüsseln kann jeder der Primärschlüssel sein. Und der andere, der nicht als Primärschlüssel ausgewählt wurde, wird als Alternativschlüssel bezeichnet
quelle
alternative key
ist, dasssecondary key
sie gleich sind. Gute Antwort!Aus meiner Antwort auf stackoverflow.com :
Aus meiner Antwort auf stackoverflow.com zu einer bestimmten Tabelle:
(Wie ich dort kommentierte: "Die vier fettgedruckten Sätze für FD, hold, superkey und CK hätten ausgereicht.")
(Eine Tabelle mit einem leeren CK darf höchstens eine Zeile enthalten. Ein durch den leeren Satz bestimmter Spaltensatz muss in jeder Zeile denselben Unterzeilenwert aufweisen.)
quelle
Schlüssel Ein Schlüssel ist ein einzelnes Feld oder eine Kombination mehrerer Felder. Sein Zweck ist es, entsprechend der Anforderung auf Datenzeilen in der Tabelle zuzugreifen oder diese abzurufen. Die Schlüssel sind in Tabellen definiert, um schnell und reibungslos auf die gespeicherten Daten zuzugreifen oder diese zu sortieren. Sie werden auch zum Erstellen von Verknüpfungen zwischen verschiedenen Tabellen verwendet.
Schlüsseltypen Die folgenden Tabellen oder Beziehungen werden verwendet, um verschiedene Schlüsseltypen zu definieren.
Primärschlüssel Das Attribut oder die Kombination von Attributen, die eine Zeile oder einen Datensatz in einer Beziehung eindeutig identifizieren, wird als Primärschlüssel bezeichnet.
Sekundärschlüssel Ein Feld oder eine Kombination von Feldern, die als Basis für den Abruf dienen, wird als Sekundärschlüssel bezeichnet. Der Sekundärschlüssel ist ein nicht eindeutiges Feld. Ein Sekundärschlüsselwert kann auf viele Datensätze verweisen.
Kandidatenschlüssel oder Alternativschlüssel Eine Beziehung kann nur einen Primärschlüssel haben. Es kann viele Felder oder eine Kombination von Feldern enthalten, die als Primärschlüssel verwendet werden können. Ein Feld oder eine Kombination von Feldern wird als Primärschlüssel verwendet. Die Felder oder Feldkombinationen, die nicht als Primärschlüssel verwendet werden, werden als Kandidatenschlüssel oder Alternativschlüssel bezeichnet.
Zusammengesetzter Schlüssel oder verketteter Schlüssel Ein Primärschlüssel, der aus zwei oder mehr Attributen besteht, wird als zusammengesetzter Schlüssel bezeichnet.
Sortier- oder Steuerschlüssel Ein Feld oder eine Kombination von Feldern, mit denen die gespeicherten Daten, die als Sortierschlüssel bezeichnet werden, physisch sortiert werden. Es wird auch als Steuerschlüssel bezeichnet.
Ein Superkey ist eine Kombination von Attributen, mit denen ein Datenbankeintrag eindeutig identifiziert werden kann. Ein Tisch könnte viele Superschlüssel haben. Kandidatenschlüssel sind eine spezielle Untergruppe von Superschlüsseln, die keine überflüssigen Informationen enthalten.
Beispiel für Superschlüssel: Stellen Sie sich eine Tabelle mit den Feldern Name, Alter, SSN und <Durchwahl> vor. Diese Tabelle enthält viele mögliche Superkeys. Drei davon sind SSN, Durchwahl und Name. Von den aufgelisteten ist nur SSN ein Kandidatenschlüssel, da die anderen Informationen enthalten, die zur eindeutigen Identifizierung von Datensätzen nicht erforderlich sind.
Fremdschlüssel Ein Fremdschlüssel ist ein Attribut oder eine Kombination von Attributen in einer Beziehung , deren Wert in einer anderen Beziehung einen Primärschlüssel entsprechen. Die Tabelle, in der der Fremdschlüssel erstellt wird, wird als abhängige Tabelle bezeichnet. Die Tabelle, auf die sich der Fremdschlüssel bezieht, wird als übergeordnete Tabelle bezeichnet.
Für Minimal Super Key siehe diesen Link. Dort ist es klarer. http://www.answers.com/topic/superkey-1
quelle