Integritätsbeschränkungen Definition von IntegritätsbedingungenUm die Richtigkeit und Rechtmäßigkeit der eingetragenen Daten sicherzustellen, fügen Sie den Feldern in der Tabelle neben den Datentypbeschränkungen weitere Beschränkungen hinzu. Klassifizierung von IntegritätsbeschränkungenEntitätsintegrität: Es darf keine Duplikate zwischen den Datensätzen geben.
Domänenintegrität: Die Felder einer Datenbanktabelle müssen einem bestimmten Datentyp oder einer bestimmten Einschränkung entsprechen.
Referenzielle Integrität: Der Wert eines Felds in einer Tabelle muss auf den Wert in einer anderen Tabelle verweisen.
Primärschlüsseleinschränkung
Es gibt drei Möglichkeiten, eine Primärschlüsseleinschränkung hinzuzufügen: Methode 1: Fügen Sie beim Erstellen einer Tabelle eine Primärschlüsseleinschränkung hinzu. Tabelle „Student“ erstellen ( sid int Primärschlüssel, sname varchar(20), Alter int )Zeichensatz=utf8; -- Nachdem Sie die Primärschlüsseleinschränkung hinzugefügt haben, führt das Einfügen derselben SID zu einem Fehler. in Student(sid,sname,age) Werte einfügen (1,'Student',22); in Student(sid,sname,age) Werte einfügen (1,'Student',33); Methode 2: Fügen Sie beim Erstellen der Tabelle eine Primärschlüsseleinschränkung hinzu, die Hinzufügungsmethode ist jedoch anders. „Nur diese Methode zum Hinzufügen eines Primärschlüssels kann einen zusammengesetzten Primärschlüssel hinzufügen.“ Tabelle „Student“ erstellen ( sid int, sname varchar(20), Alter int, Primärschlüssel (sid) )Zeichensatz=utf8; Methode 3: Fügen Sie nach dem Erstellen der Tabelle eine Primärschlüsseleinschränkung hinzu. Tabelle „Student“ erstellen ( sid int, sname varchar(20), Alter int )Zeichensatz=utf8; Tabelle „Student“ ändern, Primärschlüssel hinzufügen (sid); -- Einschränkung bedeutet, dass eine Einschränkung hinzugefügt wird; -- pk_sid ist ein Name für die Einschränkung; Der Unterschied zwischen einem einzelnen Primärschlüssel und einem zusammengesetzten Primärschlüssel"Einzelner Primärschlüssel" Legen Sie ein Feld in der Tabelle als Primärschlüssel fest und verwenden Sie dieses Feld zur eindeutigen Identifizierung eines Datensatzes. Solange die Sid eindeutig und nicht leer ist, ist jede Zeile ein eindeutiger Datensatz. Primärschlüssel (sid) Sid Sname Alter 1 Zhang San18 2 Zhang San18 „Gemeinsamer Primärschlüssel“ Legen Sie zwei Felder (oder mehrere Felder) in der Tabelle als gemeinsame Primärschlüssel fest. Verwenden Sie diese beiden Felder (oder mehrere Felder), Zur eindeutigen Identifizierung eines Datensatzes. Diese beiden Felder können separat wiederholt werden, solange sie nicht gleichzeitig wiederholt werden. Primärschlüssel (Sid, ClassID) Sid Klassen-ID Sname Alter 1 2 Zhang San18 1 3 Zhang San18 2 4 Li Si20 3 4 Wang Wu 30 -- Die folgenden zwei Datensätze haben die gleichen Felder, was auf einen doppelten Datensatz hinweist und beim Einfügen einen Fehler verursacht. 5 5 Li Chuang25 5 5 Wang Er24 Grundsätze zur Auswahl von Primärschlüsselfeldern
Besondere Aufmerksamkeit: Wenn ein Feld in einer Tabellenerstellungsanweisung nur Primärschlüsselbeschränkungen hat und nicht den Primärschlüssel auto_increment verwendet Wie bereits erwähnt, wird das Primärschlüsselfeld jedoch im Allgemeinen nicht geändert. Dies bedeutet, dass Sie ihm nicht aktiv einen Wert zuweisen sollten. Dem Primärschlüsselfeld sollte vom System ein Standardwert zugewiesen werden. Sie werden dies verstehen, nachdem Sie etwas über die automatische Inkrementierung des Primärschlüssels gelernt haben. Denken Sie daran: Primärschlüssel und Auto_Increament werden am besten zusammen verwendet. Zum Beispiel: Löschen einer PrimärschlüsseleinschränkungTabelle ändern, Student, Primärschlüssel löschen; Primärschlüssel auto_increment Bedeutung und Merkmale der automatischen PrimärschlüsselinkrementierungWie der Name schon sagt, handelt es sich hierbei um eine Einschränkung, die dazu dient, dem Primärschlüssel automatisch Werte hinzuzufügen. Wie bereits erwähnt, ist es am besten, keine Änderungen am Primärschlüsselfeld vorzunehmen. Dazu gehört natürlich auch, den Primärschlüssel beim Einfügen von Werten in das Primärschlüsselfeld nicht manuell hinzuzufügen. Lassen Sie stattdessen das System automatisch Werte dem Primärschlüsselfeld zuweisen. Die automatische Primärschlüsselinkrementierung weist die folgenden zwei Merkmale auf:
Erklärung des zweiten Features: Es gibt zwei Möglichkeiten, eine eindeutige Einschränkung hinzuzufügen: Methode 1: Fügen Sie beim Erstellen einer Tabelle gleichzeitig den Primärschlüssel und die automatische Inkrementierung des Primärschlüssels hinzu. Tabelle „Student“ erstellen ( sid int Primärschlüssel auto_increment, sname varchar(20), Alter int, Ausweis varchar(18) )Zeichensatz=utf8; - Verwenden Sie beim Einfügen von Daten den Primärschlüssel und die automatische Inkrementierung zusammen. – Es ist nicht erforderlich, dem Primärschlüsselfeld „sid“ einen Wert zuzuweisen. in Schüler(sname, Alter) Werte einfügen („Student“, 22), („Student“, 25); Methode 2: Fügen Sie nach dem Erstellen der Tabelle gleichzeitig „Primärschlüssel und automatische Primärschlüsselinkrementierung“ zum Feld hinzu. Tabelle „Student“ erstellen ( sid int, sname varchar(20), Alter int, Ausweis varchar(18) )Zeichensatz=utf8; -- Die folgenden beiden Methoden können einem Feld gleichzeitig „Primärschlüssel und automatische Primärschlüsselinkrementierung“ hinzufügen. Tabelle ändern, Student-Sid ändern, Int-Primärschlüssel, Auto_Increment; Tabelle ändern, Student-SID ändern, SID Int Primärschlüssel auto_increment; Löschen des Primärschlüssels mit automatischer Inkrementierung Tabelle „Student“ ändern, Sid-Int-Primärschlüssel ändern; Eindeutige Einschränkung Was bedeutet eine eindeutige Einschränkung?Weil es in einer Tabelle nur einen Primärschlüssel geben kann. Manche Felder, wie z. B. Ausweisfelder, müssen jedoch eindeutig sein. Wir können sie nicht als Primärschlüssel festlegen (Ausweisfelder sind bedeutungsvolle Felder). Wie können wir also ihre Eindeutigkeit sicherstellen? Dies ist die einzige Einschränkung, die wir als nächstes besprechen werden. Hinweis: Eine Tabelle kann mehrere eindeutige Einschränkungen haben. Es gibt drei Möglichkeiten, eine eindeutige Einschränkung hinzuzufügen: Methode 1: Fügen Sie beim Erstellen der Tabelle eine eindeutige Einschränkung hinzu. Tabelle „Student“ erstellen ( sid int Primärschlüssel Schlüssel auto_increment, sname varchar(20), Alter int, ID-Karte varchar (18) eindeutig )Zeichensatz=utf8; Methode 2: Fügen Sie beim Erstellen der Tabelle eine eindeutige Einschränkung hinzu, jedoch auf andere Weise. „Nur diese Methode zum Hinzufügen eines Primärschlüssels kann einen zusammengesetzten Primärschlüssel hinzufügen.“ Tabelle Student erstellen ( sid int Primärschlüssel auto_increment, sname varchar(20), Alter int, ID-Karte varchar (18), einzigartig (Ausweis) )Zeichensatz=utf8; Methode 3: Fügen Sie nach dem Erstellen der Tabelle eine eindeutige Einschränkung hinzu. Tabelle Student erstellen ( sid int Primärschlüssel auto_increment, sname varchar(20), Alter int, Ausweis varchar(18) )Zeichensatz=utf8; Tabelle „Student“ ändern, eindeutige ID-Karte hinzufügen; -- Bei einem Feld mit einem eindeutigen Einschränkungssatz wird ein Fehler gemeldet, wenn der gleiche Wert eingefügt wird. in Studentenwerte (Name, Alter, Ausweis) einfügen („Student“, „18“, „123456“); in Studentenwerte (Name, Alter, Ausweis) einfügen („Student“, 22, „123456“); Löschen einer Unique-EinschränkungZum Löschen einer eindeutigen Einschränkung ist die verwendete Anweisung etwas anders. Tabelle ändern, Studentenschlüssel-ID-Karte fallen lassen; Fügen Sie eine Nicht-Null-Einschränkung hinzu Hinzufügen einer Not Null-EinschränkungEine Nicht-Null-Einschränkung bedeutet, dass ein Fehler gemeldet wird, wenn wir nach dem Festlegen einer Nicht-Null-Einschränkung für ein Feld einen Nullwert in das Feld einfügen. Es gibt zwei Möglichkeiten, eine Nicht-Null-Einschränkung hinzuzufügen: Methode 1: Fügen Sie beim Erstellen einer Tabelle dem Feld eine Nicht-Null-Einschränkung hinzu. Tabelle „Student“ erstellen ( sid int Primärschlüssel auto_increment, sname varchar(20) nicht null, Alter int, Ausweis varchar(18) )Zeichensatz=utf8; Methode 2: Fügen Sie dem Feld nach dem Erstellen der Tabelle eine Nicht-Null-Einschränkung hinzu. Tabelle „Student“ erstellen ( sid int Primärschlüssel auto_increment, sname varchar(20), Alter int, Ausweis varchar(18) )Zeichensatz=utf8; -- Es gibt zwei Möglichkeiten zum Hinzufügen. alter table student modify sname varchar(20) nicht null; alter table student change sname sname varchar(20) nicht null; Nach dem Hinzufügen der Nicht-Null-Einschränkung zum Feld weist es die folgenden Eigenschaften auf
„Manchmal fallen uns diese Details nicht auf, deshalb erklären wir sie gesondert.“ 1: Nachdem für das Feld eine Nicht-Null-Einschränkung festgelegt wurde, können Sie keinen Nullwert einfügen. -- Die folgende Einfügung führt zu einem Fehler. in student(sname,age) Werte einfügen (null,22); 2: Nachdem die Nicht-Null-Einschränkung für ein Feld festgelegt wurde, kann nicht nur kein Nullwert eingefügt werden, sondern auch kein Wert. -- Auch die folgende Einfügung wird einen Fehler melden. in Student(Alter, Ausweis) Werte einfügen (33, "123456789"); Hier sind einige Beispiele: Fügen Sie eine Standardwertbeschränkung hinzu (Standard)Wenn für ein Feld ein Standardwert festgelegt ist, wird dieser Standardwert angezeigt, wenn wir für das Feld keinen Wert angeben. Hinzufügen einer StandardwertbeschränkungMethode 1: Fügen Sie beim Erstellen einer Tabelle dem Feld einen Standardwert hinzu. Tabelle „Student“ erstellen ( sid int Primärschlüssel auto_increment, sname varchar(20), Alter int Standard 0, Ausweis varchar(18) )Zeichensatz=utf8; Methode 2: Fügen Sie den Feldern nach dem Erstellen der Tabelle Standardwerte hinzu. Tabelle „Student“ erstellen ( sid int Primärschlüssel auto_increment, sname varchar(20), Alter int, Ausweis varchar(18) )Zeichensatz=utf8; „Verschiedene Punkte brauchen besondere Aufmerksamkeit“ -- Der Code zum Hinzufügen eines Standardwerts mit „alter“ ist etwas speziell. Tabelle ändern, Schüler ändern, Alter festlegen, Standard 0; Standardwerte entfernen Tabelle „Student“ ändern, Spalte „Alter“ ändern, Standard löschen; Referenzielle Integrität Was ist referenzielle Integrität?Referenzielle Integrität bedeutet, dass der Wert eines Felds in einer Tabelle auf den Wert eines Felds in einer anderen Tabelle verweisen muss. Es handelt sich hier um den Fremdschlüssel: Fremdschlüssel. Im Allgemeinen wird dieses Feld in dieser Tabelle als Fremdschlüssel festgelegt. Der Wert dieses Felds in der Referenztabelle muss als Primärschlüssel dieser Tabelle festgelegt werden. Die folgende Abbildung hilft Ihnen zum Verständnis: Besonderer Hinweis: Die cid in der Studententabelle bezieht sich auf die cid in der Klassentabelle. Sie können sehen, dass die Feldnamen hier genau gleich sind. In Wirklichkeit können die beiden Feldnamen jedoch unterschiedlich sein, die Datentypen der beiden Felder müssen jedoch identisch sein. Die Bedingungen für die referenzielle Integrität sind:
Hinzufügen einer FremdschlüsseleinschränkungEines müssen Sie bedenken: Sie müssen zuerst eine referenzierte Tabelle haben, bevor Sie der aktuellen Tabelle eine Fremdschlüsseleinschränkung hinzufügen können. Auf wen wollen Sie sonst verweisen? Es gibt zwei Möglichkeiten, Fremdschlüsseleinschränkungen hinzuzufügen: Methode 1: Fügen Sie beim Erstellen einer Tabelle dem Feld eine Fremdschlüsseleinschränkung hinzu. Tabelle Klassenzimmer erstellen( cid int Primärschlüssel auto_increment, cname varchar(20) nicht null )Zeichensatz=utf8; Tabelle „Student“ erstellen ( sid int Primärschlüssel auto_increment, sname varchar(20) nicht null, Altersbit(1), cid int, Einschränkung fk_cid Fremdschlüssel (cid) Referenzen Klassenzimmer (cid) )Zeichensatz=utf8; Methode 2: Fügen Sie nach dem Erstellen der Tabelle eine Fremdschlüsseleinschränkung zum Feld hinzu. Tabelle Klassenzimmer erstellen( cid int Primärschlüssel, cname varchar(20) nicht null )Zeichensatz=utf8; Tabelle „Student“ erstellen ( sid int Primärschlüssel auto_increment, sname varchar(20) nicht null, Altersbit(1), cid int )Zeichensatz=utf8; Tabelle ändern, Student, Einschränkung hinzufügen, fk_cid, Fremdschlüssel (cid) Referenzen Klassenzimmer (cid); „Hinweis: Auf die Einschränkung folgt ein Alias, und fk_cid entspricht dem Alias.“ ZusammenfassenDies ist das Ende dieses Artikels über MySQL-Integritätsbeschränkungen. Weitere Informationen zu MySQL-Integritätsbeschränkungen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: So erstellen Sie mit Harbor ein privates Docker-Repository
Inhaltsverzeichnis 1. Herunterladen 2. Installati...
Inhaltsverzeichnis Installieren Komponenten impor...
Inhaltsverzeichnis 1. Was ist eine Transaktion? 2...
Inhaltsverzeichnis 1. Einleitung 2. Was ist funkt...
Zuerst müssen Sie Vue-cli installieren: npm insta...
Inhaltsverzeichnis Was ist JSI Was ist anders an ...
Vorwort Als wir den Stil der Webseite oben geschr...
Inhaltsverzeichnis Vorwort 1. Daten extrahieren 2...
Einführung Unser Unternehmen ist an der Forschung...
Rufen Sie die Alibaba-Vektorsymbolbibliothek auf ...
Die Wirkung ist ganz einfach: Kopieren Sie einfach...
Bei der Replikation werden die DDL- und DML-Opera...
Die erste Methode: Verwenden Sie Junges Ein-Klick...
Hintergrund - Online Alert Ein Online-Server hat ...
Wissenspunkte zur Speicher-Storage-Engine Die Spe...