Dieser Artikel vermittelt Ihnen relevantes Wissen über MySQL. Er stellt hauptsächlich die Unterschiede zwischen Superschlüsseln, Primärschlüsseln und Kandidatenschlüsseln in MySQL vor. Ich hoffe, dass er für alle hilfreich ist.
Empfohlenes Lernen: MySQL-Video-Tutorial
Ich bin kürzlich beim Lesen von MySQL-Büchern auf ein Problem gestoßen:
Jetzt haben wir bereits das Konzept Der Primärschlüssel kann die Anforderungen bereits erfüllen. Warum benötigen wir also einen Kandidatenschlüssel? Welche Rolle spielen Kandidatenschlüssel? Es ist eine Kandidatenschlüsseldefinition angegeben, aber es spielt eigentlich keine Rolle.
Mit der Mentalität, nach weiteren Informationen zu fragen, habe ich online gesucht und mir die Erklärungen der Experten angesehen, also wollte ich es hier klären, um es mir klarer zu machen Ich hoffe auch, wenn Gibt es ein Missverständnis, kann mir jemand einen Rat geben? Hier ist ein Teil meines Verständnisses:
Tatsächlich sind Primärschlüssel und Superschlüssel besser. Es gibt zum Beispiel eine solche Tabelle:
Die Schrift Der Tisch ist etwas rau, daher ist es in Ordnung, Bar zu lesen. SuperschlüsselDer Satz von Attributen, der ein Tupel in einer Beziehung eindeutig identifizieren kann, wird als Superschlüssel des relationalen Schemas bezeichnet. Beachten Sie den „Attributsatz“ in der Definition. Der Superschlüssel kann ein großer Satz sein, solange er bestimmen kann, um welche Zeile es sich handelt, also „id“, „user“, „pwd“, „section“, „name“. Sind alle in Ordnung, ist der Satz von Supertasten. KandidatenschlüsselEin Superschlüssel, der keine redundanten Attribute enthält. Im obigen Superschlüssel kann „id“ beispielsweise selbst bestimmen, um welche Zeile es sich handelt, sodass er mit Ausnahme der anderen vier ein eigenständiger Kandidatenschlüssel sein kann Es kann sich auch um einen Kandidatenschlüssel handeln, aber diese fünf werden zusammengestellt, da es redundante Spalten gibt, es handelt sich also nicht um Kandidatenschlüssel. (Der Grund, warum die anderen vier Kandidatenschlüssel sein können, liegt darin, dass jede Spalte doppelten Inhalt haben kann.) PrimärschlüsselSuchen Sie einen aller Kandidatenschlüssel zur Verwendung als Primärschlüssel, was bedeutet, dass es sich um eine ID oder etwas anderes handeln kann. Die Kombination der vier kann auch andere Wahlmöglichkeiten sein, solange dadurch sichergestellt werden kann, dass die Menge der Wahlmöglichkeiten eindeutig bestimmt werden kann. Zusammenfassend sind Kandidatenschlüssel eine Teilmenge der Superschlüssel und Primärschlüssel eine Teilmenge der Kandidatenschlüssel. Nachdem ich so viel geklärt habe, verstehe ich immer noch nicht, welche Funktion der Kandidatenschlüssel hat. Tatsächlich kann es sein, dass es nur noch einen Sitzplatz im Auto gibt, und das gibt es auch Mehrere Hauptschlüssel liegen in der Wartehalle. Sagen Sie mir: „Wir haben alle Fahrkarten gekauft und sind alle berechtigt, in den Bus einzusteigen. Das sollte derjenige sein, der in den Bus einsteigt.“ Es. Verstehen Sie die Konzepte von Superschlüssel, Kandidatenschlüssel, Primärschlüssel und Beziehung. Grundkonzepte des Beziehungsmusters. Kandidatenschlüssel: Ein Superschlüssel, der keine redundanten Attribute enthält, wird als Kandidatenschlüssel bezeichnet, das heißt, seine wahre Teilmenge ist kein Superschlüssel mehr.Betrachten Sie den Attributsatz (ID-Nummer, Name, Geschlecht, Alter), vorausgesetzt, es gibt keine doppelten Namen
a. Die Superschlüssel sind:ID-Kartennummer, Name, (Name , Geschlecht), (Name, Geschlecht, Alter) usw.
– Hier ist zu sehen, dass der Superschlüssel die Attributgruppe ist, die eine Person eindeutig identifizieren kannID-Kartennummer, der Name ist eindeutig und hat keine redundanten Attribute, es handelt sich also um einen Kandidatenschlüssel
– Hier ist zu sehen, dass der Kandidatenschlüssel ein Superschlüssel ohne redundante Attribute istBenutzer können die Wahl nach ihren eigenen Vorlieben treffen. Name oder ID-Nummer als Primärschlüssel
– Der Primärschlüssel ist ein ausgewählter KandidatenschlüsselIn der SQL Server-Datenbank gibt es eine Studenteninformationstabelle wie unten gezeigt. Der Satz von Attributen, die in dieser Tabelle nicht als Kandidatenschlüssel verwendet werden können, ist ( ) (wählen Sie eines aus)
Studentennummer , Name, Geschlecht, Alter Hauptfach20020612 Li Huinan 20 Computersoftwareentwicklung
20060613 Zhang Mingnan 18 Computersoftwareentwicklung20060614 Wang Xiaoyu Weiblich 19 Physik und Mechanikc) {Alter, Abteilung}20060615 Li Shuhua Weiblich 17 Biozoologie
b) {Studentennummer, Name}
20060616 Zhao. J ingnan 21 Chemie Lebensmittelchemie
200 60617 Zhao Jingnu 20 Biological Plants Study
a) {Studentennummer}
d) {Name, Geschlecht}e) {Name, Hauptfach}
Empfohlene Studie:
MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonAnalyse des Unterschieds zwischen Superschlüssel, Primärschlüssel und Kandidatenschlüssel in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!