Eine vorläufige Studie zu zusammengesetzten Primärschlüsseln und gemeinsamen Primärschlüsseln in SQL-Anweisungen

Eine vorläufige Studie zu zusammengesetzten Primärschlüsseln und gemeinsamen Primärschlüsseln in SQL-Anweisungen

1. Zusammengesetzter Primärschlüssel

Der sogenannte zusammengesetzte Primärschlüssel bedeutet, dass der Primärschlüssel Ihrer Tabelle aus mehr als einem Feld besteht und keine Auto-Increment-ID ohne geschäftliche Bedeutung als Primärschlüssel verwendet.
Zum Beispiel

Tabellentest erstellen  
(  
  Name varchar(19),  
  ID-Nummer,  
  Wert varchar(10),  
  Primärschlüssel (Name, ID)  
)

Die Kombination der obigen Felder „Name“ und „ID“ ist der zusammengesetzte Primärschlüssel Ihrer Testtabelle. Dies liegt daran, dass Ihr Namensfeld möglicherweise doppelte Namen enthält. Sie müssen daher das ID-Feld hinzufügen, um die Eindeutigkeit Ihrer Datensätze sicherzustellen. Generell sollten die Feldlänge und -nummer des Primärschlüssels so klein wie möglich sein.

Hier besteht ein Zweifel. Der Primärschlüssel ist der einzige Index. Warum kann eine Tabelle also mehrere Primärschlüssel erstellen?

Tatsächlich ist die Aussage „Der Primärschlüssel ist der einzige Index“ etwas mehrdeutig. Beispielsweise erstellen wir ein ID-Feld in der Tabelle, erhöhen es automatisch und legen es als Primärschlüssel fest. Dies ist kein Problem, da „der Primärschlüssel ein eindeutiger Index ist“ und die automatische Erhöhung der ID die Eindeutigkeit gewährleistet, sodass dies möglich ist.

An dieser Stelle erstellen wir einen weiteren Feldnamen vom Typ varchar und legen ihn als Primärschlüssel fest. Sie werden feststellen, dass Sie denselben Namenswert in mehrere Zeilen der Tabelle eingeben können. Verstößt dies nicht gegen die Aussage, dass „der Primärschlüssel der einzige Index ist“?

Aus diesem Grund habe ich gesagt, dass die Aussage „Primärschlüssel ist der einzige Index“ nicht eindeutig ist. Es sollte heißen: „Wenn die Tabelle nur einen Primärschlüssel enthält, handelt es sich um einen eindeutigen Index. Wenn die Tabelle mehrere Primärschlüssel enthält, spricht man von einem zusammengesetzten Primärschlüssel. Die Kombination der zusammengesetzten Primärschlüssel garantiert einen eindeutigen Index.“

Warum wird ein zusammengesetzter Primärschlüssel benötigt, wenn die selbstinkrementierende ID als eindeutiger Primärschlüssel verwendet werden kann? Denn nicht alle Tabellen müssen ein ID-Feld haben. Was sollen wir beispielsweise tun, wenn wir eine Schülertabelle erstellen und es keine ID gibt, mit der die Schüler eindeutig identifiziert werden können? Name, Alter und Klasse des Schülers können sich wiederholen, und ein einzelnes Feld kann sie nicht eindeutig identifizieren. Zu diesem Zeitpunkt können wir mehrere Felder als Primärschlüssel festlegen, um einen zusammengesetzten Primärschlüssel zu bilden. Diese mehreren Felder identifizieren gemeinsam die Eindeutigkeit. Unter ihnen ist es kein Problem, wenn einige Primärschlüsselfeldwerte wiederholt werden. Solange die Primärschlüsselwerte mehrerer Datensätze nicht genau gleich sind, werden sie nicht als Duplikate betrachtet.

2. Gemeinsamer Primärschlüssel

Wie der Name schon sagt, ist ein zusammengesetzter Primärschlüssel eine Kombination aus mehreren Primärschlüsseln (Primärschlüssel sind grundsätzlich eindeutig, lassen Sie sich also nicht von eindeutigen Werten stören.)

Die Bedeutung des gemeinsamen Primärschlüssels: Die Verwendung von zwei Feldern (oder mehreren Feldern, also der spezifischen Kombination zweier Felder) zur Bestimmung eines Datensatzes bedeutet, dass diese beiden Felder nicht eindeutig sind und separat wiederholt werden können. Der Vorteil dieser Einstellung besteht darin, dass Sie die Anzahl der Datensätze eines wiederholten Feldes intuitiv erkennen können.

Ein einfaches Beispiel

Primärschlüssel A und Primärschlüssel B bilden einen gemeinsamen Primärschlüssel

Die Daten von Primärschlüssel A und Primärschlüssel B können exakt gleich sein. Die Vereinigung liegt darin, dass der gemeinsame Primärschlüssel, der aus Primärschlüssel A und Primärschlüssel B gebildet wird, eindeutig ist.

Im folgenden Beispiel lauten die Daten des Primärschlüssels A auf 1 und die Daten des Primärschlüssels B sind ebenfalls auf 1. Der gemeinsame Primärschlüssel ist tatsächlich 11. Diese 11 ist ein eindeutiger Wert und der eindeutige Wert 11 darf auf keinen Fall erneut auftreten. (Dies ist eine Viele-zu-viele-Beziehung)

Primärschlüssel A-Daten Primärschlüssel B-Daten

1 1
zweiundzwanzig
3 3

Der Maximalwert des gemeinsamen Primärschlüssels von Primärschlüssel A und Primärschlüssel B beträgt

11
12
13
einundzwanzig
zweiundzwanzig
dreiundzwanzig
31
32
33

Zusammenfassung: Meiner Meinung nach besteht ein zusammengesetzter Primärschlüssel aus mehr als einem Feld, wie etwa ID+Name, ID+Telefon usw., während ein gemeinsamer Primärschlüssel eine Kombination der Themen zweier Tabellen gleichzeitig ist. Dies ist der größte Unterschied zum zusammengesetzten Primärschlüssel!

Dies ist der gesamte Inhalt dieses Artikels zur ersten Untersuchung zusammengesetzter Primärschlüssel und gemeinsamer Primärschlüssel in SQL-Anweisungen. Ich hoffe, er wird für alle hilfreich sein. Interessierte Freunde können sich auf Folgendes beziehen: Mehrere wichtige MySQL-Variablen, Detaillierte Erläuterung der MySQL-Vorbereitungsprinzipien, Einführung in MySQL-Methoden zum Löschen von Tabellendaten mit Fremdschlüsseleinschränkungen usw. Wenn Sie Fragen haben, können Sie jederzeit eine Nachricht hinterlassen, und wir können gemeinsam diskutieren und Fortschritte erzielen.

Das könnte Sie auch interessieren:
  • Spezifische Methode zum Festlegen eines gemeinsamen Primärschlüssels in SQL
  • 2 Möglichkeiten zum Erstellen zusammengesetzter Primärschlüssel in SQL Server
  • MySQL-Anweisungen zum Erstellen von Primärschlüsseln, Fremdschlüsseln und zusammengesetzten Primärschlüsseln

<<:  Nginx-Zugriffssteuerungs- und Parameteroptimierungsmethoden

>>:  So verwenden Sie cc.follow zur Kameraverfolgung in CocosCreator

Artikel empfehlen

Detaillierte Erläuterung der Dateisystemformate der EXT-Serie in Linux

Linux-Dateisystem In der Abbildung oben sind herk...

So erstellen Sie einen MySQL PXC-Cluster

Inhaltsverzeichnis 1. Einführung in PXC 1.1 Einfü...

Beispielcode für HTML-Layout links und rechts

CSS: Code kopieren Der Code lautet wie folgt: html...

Detaillierte Erklärung verschiedener Bildformate wie JPG, GIF und PNG

Jeder weiß, dass Bilder auf Webseiten im Allgemein...

Details zur Verwendung des Vue-Slots

Inhaltsverzeichnis 1. Warum Slots verwenden? 1.1 ...

Zusammenfassung der Probleme bei der Speicherplatzfreigabe unter Linux

Die /Partitionsauslastung eines Servers im IDC is...

Schaltflächen und Dropdown-Menüs für Studiennotizen in Bootstrap 3.0

Der vorherige Artikel war eine einfache Überprüfu...

Ausführliche Erläuterung der Stilfunktion in Vue3-Einzeldateikomponenten

Inhaltsverzeichnis Stil mit Gültigkeitsbereich St...

So verwenden Sie Elemente in React-Projekten

Dies ist mein erstes Mal, dass ich das Element-Fr...

Detaillierte Erklärung einer Methode zum Umbenennen von Prozeduren in MySQL

Kürzlich habe ich die Funktion zum Umbenennen ges...

Detaillierte Erklärung des MySQL-Triggerbeispiels

Inhaltsverzeichnis Was ist ein Auslöser Erstellen...

8 Befehle zur effektiven Verwaltung von Prozessen in Linux

Vorwort Die Rolle des Prozessmanagements: Integri...

Tutorial zur HTML-Tabellenauszeichnung (48): CSS-modifizierte Tabelle

<br />Sehen wir uns nun an, wie Sie die CSS-...