Zusammenfassung der Unterschiede zwischen MySQL-Primärschlüssel und eindeutigem Schlüssel

Zusammenfassung der Unterschiede zwischen MySQL-Primärschlüssel und eindeutigem Schlüssel

Was ist ein Primärschlüssel?

Ein Primärschlüssel ist eine Spalte in einer Tabelle, die jedes Tupel (jede Zeile) in dieser Tabelle eindeutig identifiziert. Der Primärschlüssel erzwingt Integritätsbeschränkungen für die Tabelle. In einer Tabelle ist nur ein Primärschlüssel zulässig. Der Primärschlüssel akzeptiert keine doppelten Werte oder Nullwerte. Die Primärschlüsselwerte in einer Tabelle ändern sich selten. Daher müssen Sie bei der Auswahl eines Primärschlüssels vorsichtig sein und einen wählen, der sich selten ändert. Auf den Primärschlüssel einer Tabelle kann durch den Fremdschlüssel einer anderen Tabelle verwiesen werden.

Um den Primärschlüssel besser zu verstehen, erstellen wir eine Tabelle namens „Student“ mit Attributen wie Matrikelnummer, Name, Jahrgang, Telefonnummer, Bürger-ID usw.

Im obigen Beispiel kann das Attribut „roll_number“ niemals den gleichen NULL-Wert haben, da alle an einer Universität eingeschriebenen Studenten eine eindeutige Matrikelnummer haben. Zwei Studenten können also nicht die gleiche Matrikelnummer haben und jede Zeile in der Tabelle kann eindeutig durch das Attribut „roll_number“ des Studenten identifiziert werden. In diesem Fall können wir das Roll_number-Attribut als Primärschlüssel festlegen.

Was ist ein eindeutiger Schlüssel?

Eine eindeutige Schlüsseleinschränkung identifiziert ein einzelnes Tupel in einer Relation oder Tabelle eindeutig. Im Gegensatz zu einem Primärschlüssel kann eine Tabelle mehrere eindeutige Schlüssel haben. Eine Unique-Key-Einschränkung kann nur einen Nullwert für eine Spalte akzeptieren. Auf die Unique-Einschränkung wird auch durch einen Fremdschlüssel aus einer anderen Tabelle verwiesen. Es kann verwendet werden, wenn eindeutige Einschränkungen für Spalten und Spaltengruppen erzwungen werden sollen, bei denen es sich nicht um Primärschlüssel handelt.

Um den eindeutigen Schlüssel besser zu verstehen, verwenden wir die Studententabelle mit den Attributen Matrikelnummer, Name, Jahrgang, Telefonnummer und Bürger-ID, wobei das Attribut Matrikelnummer als Primärschlüssel zugewiesen wurde.

In diesem Beispiel kann der Citizen_ID eine eindeutige Einschränkung zugewiesen werden. Dabei muss jeder Eintrag in der Spalte „Citizen_ID“ eindeutig sein und darf nicht dupliziert werden, da jeder Bürger eines Landes über eine eindeutige Identifikationsnummer verfügen muss. Wenn der Student jedoch aus einem anderen Land eingewandert ist, verfügt er in diesem Fall nicht über eine Citizen_ID und der Eintrag kann einen NULL-Wert enthalten, da ein NULL-Wert in einer eindeutigen Einschränkung zulässig ist.

Wichtige Unterschiede zwischen Primärschlüssel und eindeutigem Schlüssel:

1. Wenn ein Attribut als Primärschlüssel deklariert ist, akzeptiert es keine NULL-Werte. Wenn eine Eigenschaft hingegen als „Eindeutig“ deklariert ist, kann sie einen NULL-Wert annehmen.

2. Eine Tabelle kann nur einen Primärschlüssel, aber mehrere eindeutige Schlüssel haben.

3. Erstellen Sie beim Definieren des Primärschlüssels automatisch einen gruppierten Index. Im Gegensatz dazu generiert ein eindeutiger Schlüssel einen nicht gruppierten Index.

Oben geht es um den Unterschied zwischen dem Mysql-Primärschlüssel und dem eindeutigen Schlüssel. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Was tun, wenn der Auto-Increment-Primärschlüssel in MySQL aufgebraucht ist?
  • Lösung für das Ausgehen der Auto-Increment-ID (Primärschlüssel) von MySQL
  • Detaillierte Analyse, warum MySQL die Verwendung von UUID oder Snowflake-ID als Primärschlüssel nicht empfiehlt
  • Detaillierte Erläuterung der Überwachung von Spaltenüberläufen ohne Primärschlüssel in MySQL-Tabellen
  • Verwenden Sie Prometheus, um den verbleibenden verfügbaren Prozentsatz der MySQL-Autoinkrement-Primärschlüssel zu zählen
  • Python3 betreibt MySQL, um Daten einzufügen und das Beispiel der Primärschlüssel-ID zurückzugeben
  • Beispielanalyse der Verwendung der Selbstinkrementierung von MySQL-Nichtprimärschlüsseln
  • Zusammenfassung der Fallstricke bei der Verwendung von Primärschlüsseln und RowIDs in MySQL
  • Spring Boot integriert Mybatis, um MySQL zur Implementierung der Primärschlüssel-UUID zu verwenden
  • MySQL-Primärschlüssel-Benennungsstrategie im Zusammenhang

<<:  Vue-Router-Verlaufsmodus, serverseitiger Konfigurationsprozess-Datensatz

>>:  Detaillierte Erklärung zur Installation von PHP7 unter Linux

Artikel empfehlen

So verwenden Sie die Wurmreplikation in einer MySQL-Datentabelle

Einfach ausgedrückt besteht die MySQL-Wurmreplika...

So konfigurieren Sie WordPress mit Nginx

Zuvor hatte ich WordPress selbst erstellt, aber d...

CSS-Implementierungscode für mehrstufige Menüs

Dies ist eine ziemlich coole Funktion, die Websei...

React useEffect verstehen und verwenden

Inhaltsverzeichnis Vermeiden Sie sich wiederholen...

Detaillierte Erläuterung des Docker-Arbeitsmodus und -Prinzips

Wie in der folgenden Abbildung dargestellt: Wenn ...

Nginx-Überwachungsprobleme unter Linux

Nginx-Installation Stellen Sie sicher, dass die v...

So fügen Sie Codebeispiele für die Vim-Implementierung in Power Shell hinzu

1. Gehen Sie zur offiziellen Website von Vim, um ...

So legen Sie schnell den Dateipfad-Alias ​​in React fest

React ist eine JavaScript-Bibliothek zum Erstelle...

CSS-Isolationsproblem in Blazor

1. Umwelt VS 2019 16.9.0 Vorschau 1.0 .NET SDK 5....

Erläuterung der objektorientierten Klassenvererbung in JavaScript

1. Objektorientierte Klassenvererbung In den obig...

Beispielcode zur Implementierung eines Laufschriftformats mit CSS3

Hintergrund Folgendes ist passiert: Luzhu erfuhr ...

Implementierung der MySQL-Datendesensibilisierung (Telefonnummer, ID-Karte)

1. Erklärung zur Datendesensibilisierung Bei den ...