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

Verstehen Sie das elastische CSS3 FlexBox-Layout in 10 Minuten

Grundlegende Einführung Merkmale Flexbox ist ein ...

JavaScript Voranalyse, Objektdetails

Inhaltsverzeichnis 1. Voranalyse 1. Vorabanalyse ...

Detaillierte Erklärung der Verwendung von SetUp- und Reactive-Funktionen in Vue3

1. Wann soll setUp ausgeführt werden? Wir alle wi...

Detaillierte Erklärung zum Anpassen des Stils von CSS-Bildlaufleisten

Dieser Artikel stellt den CSS-Bildlaufleistensele...

So verwenden Sie die MySQL-Indexzusammenführung

Die Indexzusammenführung ist ein intelligenter Al...

Zusammenfassung häufiger Probleme mit MySQL-Indizes

F1: Welche Indizes hat die Datenbank? Was sind di...

Tipps zum Erstellen von Webseiten für Mobiltelefone

Angesichts der Tatsache, dass mittlerweile viele M...

Installationstutorial für MySQL 5.1 und 5.7 unter Linux

Das Betriebssystem für die folgenden Inhalte ist:...

Lösung für das CSS-Höhenkollapsproblem

1. Hoher Einsturzgrad Im Dokumentfluss wird die H...

Lösung für den ineffektiven Rand von in HTML verschachtelten Divs

Hier ist eine Lösung für das Problem, dass der Ra...

Erstellen Sie eine virtuelle Umgebung mit venv in Python3 in Ubuntu

1. Virtuelle Umgebung folgt dem Projekt, erstelle...