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:
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!