Heim  >  Artikel  >  Datenbank  >  Der Unterschied zwischen Union-Primärschlüssel und zusammengesetztem Primärschlüssel

Der Unterschied zwischen Union-Primärschlüssel und zusammengesetztem Primärschlüssel

王林
王林nach vorne
2019-08-28 14:22:459281Durchsuche

1. Zusammengesetzter Primärschlüssel

Der sogenannte zusammengesetzte Primärschlüssel bedeutet, dass der Primärschlüssel Ihrer Tabelle mehr als ein Feld enthält. Wenn es nicht verwendet wird, hat es keine geschäftliche Bedeutung. Die automatisch inkrementierende ID wird als Primärschlüssel verwendet.

Zum Beispiel:

create table test 
( 
   name varchar(19), 
   id number, 
   value varchar(10), 
   primary key (name,id) 
)

Die Kombination der Namens- und ID-Felder oben ist der zusammengesetzte Primärschlüssel Ihrer Testtabelle. Er erscheint, weil Ihr Namensfeld möglicherweise denselben Namen hat, also benötigen Sie Hinzufügen Das ID-Feld kann die Eindeutigkeit Ihres Datensatzes sicherstellen. Im Allgemeinen sollten die Feldlänge und die Anzahl der Felder des Primärschlüssels so gering wie möglich sein.

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

Tatsächlich ist „Der Primärschlüssel ist der einzige Index“ etwas mehrdeutig. Beispielsweise erstellen wir ein ID-Feld in der Tabelle, erweitern es automatisch und legen es als Primärschlüssel fest. Dies ist kein Problem, da „der Primärschlüssel der einzige Index ist“ und das ID-Feld automatisch wächst, um die Eindeutigkeit sicherzustellen ist in Ordnung.

Zu diesem Zeitpunkt erstellen wir einen weiteren Feldnamen mit dem 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 ? Ist dieser Satz „der Primärschlüssel ist der einzige Index“?

Deshalb habe ich gesagt, dass „der Primärschlüssel der einzige Index“ mehrdeutig ist. Es sollte lauten: „Wenn es nur einen Primärschlüssel in der Tabelle gibt, ist es der einzige Index; wenn es mehrere Primärschlüssel in der Tabelle gibt, spricht man von einem zusammengesetzten Primärschlüssel.“ Die zusammengesetzte Primärschlüsselvereinigung garantiert eine Eindeutigkeit index".

Warum ist die sich selbst erhöhende ID ein Primärschlüssel, der als eindeutige Kennung verwendet werden kann, und warum wird dann noch ein zusammengesetzter Primärschlüssel benötigt? Da nicht alle Tabellen über das ID-Feld verfügen müssen, wenn wir beispielsweise eine Schülertabelle erstellen und es keine ID gibt, die den Schüler eindeutig identifiziert, was sollten wir dann tun? Ein einzelnes Feld kann nicht zur eindeutigen Identifizierung verwendet werden. Zu diesem Zeitpunkt können wir mehrere Felder als Primärschlüssel festlegen, um die Eindeutigkeit dieser mehreren Felder gemeinsam zu ermitteln werden wiederholt, solange nicht mehrere Datensätze vorhanden sind. Wenn alle Primärschlüsselwerte genau gleich sind, gelten sie nicht als Duplikate.

2. Gemeinsamer Primärschlüssel

Wie der Name schon sagt, ist ein gemeinsamer Primärschlüssel eine Kombination mehrerer Primärschlüssel zu einer Primärschlüsselkombination kombiniert (der Primärschlüssel ist im Prinzip eindeutig, lassen Sie sich von eindeutigen Werten nicht beunruhigen.)

Die Bedeutung des gemeinsamen Primärschlüssels: Verwenden Sie 2 Felder (oder mehrere Felder, insbesondere ein Die Kombination von 2 Feldern wird später verwendet, um einen Datensatz zu bestimmen, was darauf hinweist, dass diese beiden Felder nicht eindeutig sind. Die beiden Felder können separat wiederholt werden. Der Vorteil dieser Einstellung besteht darin, dass Sie die Anzahl der Datensätze von a intuitiv erkennen können wiederholtes Feld.

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 genau gleich sein. Die Vereinigung besteht aus Primärschlüssel A und Primärschlüssel B. Der resultierende gemeinsame Primärschlüssel ist eindeutig.
Im folgenden Beispiel sind die Daten von Primärschlüssel A 1, die Daten von Primärschlüssel B sind ebenfalls 1 und der kombinierte Primärschlüssel ist tatsächlich 11. Diese 11 ist ein eindeutiger Wert, und der eindeutige Wert von 11 ist es auf keinen Fall wieder auftauchen dürfen. (Dies ist eine Viele-zu-Viele-Beziehung)

Primärschlüssel-A-Daten Primärschlüssel-B-Daten Das wertvollste ist

11
12

13

21

22

23
31
32
33

Zusammenfassung: Aus meiner Sicht besteht ein zusammengesetzter Primärschlüssel aus mehr als einem Feld, wie z. B. ID+Name, ID+Telefon usw., während ein gemeinsamer Primärschlüssel eine Kombination der Themen zweier Tabellen gleichzeitig sein muss. Dies ist der größte Unterschied zum zusammengesetzten Primärschlüssel!

Weitere verwandte Themen finden Sie auf der chinesischen PHP-Website:
MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Union-Primärschlüssel und zusammengesetztem Primärschlüssel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen