MySQL-Datenbankbeschränkungen und Prinzipien des Datentabellenentwurfs

MySQL-Datenbankbeschränkungen und Prinzipien des Datentabellenentwurfs

1. Datenbankbeschränkungen

1.1 Einleitung

Wie der Name schon sagt, handelt es sich bei Constraints in der Datenbank um Beschränkungen der in die Datenbank eingefügten Daten. Der Zweck besteht darin, die Gültigkeit und Integrität der Daten sicherzustellen. Dadurch wird die Datenqualität in der Datenbank deutlich verbessert und Datenbankspeicherplatz sowie Zeit für den Datenabruf gespart.

Ich habe zuvor die Datentypen in MySQL vorgestellt. Die Datentypen können tatsächlich einen Teil der Daten überprüfen. Dasselbe gilt für Einschränkungen, mit denen einige Daten ebenfalls überprüft werden können. Dadurch wird die Übermittlung illegaler Daten verhindert.

1.2 Einschränkungstypen

Gängige Arten von Einschränkungen sind die folgenden:

  • not null : Gibt an, dass eine Spalte keine Nullwerte speichern kann
  • unique : Stellen Sie sicher, dass jede Zeile in einer Spalte einen eindeutigen Wert haben muss und keine Duplikate enthalten darf
  • default : Gibt den Standardwert an, wenn der Spalte kein Wert zugewiesen ist
  • primary key : stellt den Primärschlüssel dar, der eine Kombination aus not null und unique ist. Wenn Sie sicherstellen, dass eine Spalte (oder eine Kombination von Spalten) eine eindeutige Kennung hat, können Sie einen bestimmten Datensatz in der Tabelle einfacher und schneller finden.
  • foreign key : stellt die referenzielle Integrität sicher, d. h., Daten in einer Tabelle entsprechen Werten in einer anderen Tabelle
  • check : Stellt sicher, dass die Werte in der Spalte die angegebenen Bedingungen erfüllen. Für MySQL-Datenbanken können Sie check verwenden, aber die Ergebnisse werden ignoriert

1.3 nicht null

Wenn not null verwendet wird, bedeutet dies, dass standardmäßig null eingefügt werden kann (d. h. der Wert dieser Spalte kann leer gelassen werden).

Bei manchen Fragebögen gibt es jedoch Pflichtfelder. In diesem Fall dürfen diese Optionen nicht leer bleiben, Sie können also „not null“ verwenden.

Beispiel:

1.4 einzigartig

Wenn unique nicht verwendet wird, können die Werte einer Spalte in verschiedenen Zeilen wiederholt werden.

Im wirklichen Leben sind beispielsweise Ausweisnummern, Telefonnummern usw. jedoch eindeutige Werte. Sie können daher unique

Beispiel:

Beachten:

Wenn eine Spalte unique Einschränkung hat, wird vor dem Einfügen eine Suche durchgeführt. Wenn der einzufügende Wert nicht vorhanden ist, wird er eingefügt. Daher wirkt sich die Verwendung von eindeutig tatsächlich auf die Effizienz aus, aber im Allgemeinen überwiegen die Vorteile die Nachteile.

1.5 Standard

Wenn wir nicht default verwenden, um den Standardwert einer Spalte anzugeben, ist der Standardwert null. Wenn Sie den Standardwert einer Spalte ändern möchten, können Sie default verwenden.

Beispiel:

1.6 Primärschlüssel

primary key , der die Identität eines Datensatzes darstellt, was der gleichzeitigen Verwendung von „nicht null“ und „eindeutig“ entspricht.

Beispiel:

Beachten:

  • Eine Tabelle kann nur einen Primärschlüssel haben.
  • Der Primärschlüssel kann durch die Kombination mehrerer Spalten gebildet werden

Ergänzung: Automatisches Inkrement - auto_increment

MySQL kann jeder Zeile automatisch die nächste verfügbare Nummer zuweisen, sodass beim Hinzufügen einer Zeile nicht mehr manuell ein eindeutiger Wert zugewiesen werden muss (was manuell erfolgen kann). Es muss jedoch beim Erstellen einer Tabelle verwendet werden, zum Beispiel:

Hinweis: Bei einer Mischung aus Auto-Increment und manueller Zuordnung müssen die eindeutigen Werte nicht zwangsläufig in der richtigen Reihenfolge sein.

1.7 Fremdschlüssel

Ein Fremdschlüssel ist foreign key , die zum Zuordnen des Primärschlüssels oder eindeutigen Werts einer anderen Tabelle verwendet werden kann.

Wenn Sie beispielsweise bei Taobao einkaufen, kann eine Datenbank zwei Datentabellen haben: die Produkttabelle und die Bestelltabelle, und beide Tabellen können Produktnummern enthalten. Die Artikelnummer kann in der Bestelltabelle nur erscheinen, wenn sie in der Produkttabelle vorhanden ist. Daher können Fremdschlüssel verwendet werden, um das Auftreten abnormaler Daten einzuschränken und zu verhindern.

Beispiel:

Wirkung:

Eine Fremdschlüsseleinschränkung verbindet zwei Tabellen miteinander. Die eingeschränkte Tabelle wird als untergeordnete Tabelle bezeichnet, und die Tabelle, die andere einschränkt, wird als übergeordnete Tabelle bezeichnet. Wenn der in die Spalte der untergeordneten Tabelle einzufügende Wert im zugehörigen Primärschlüssel oder eindeutigen Wert der übergeordneten Tabelle nicht vorhanden ist, schlägt die Einfügung fehl.

Hinweis: Fremdschlüsseleinschränkungen verhindern, dass Datensätze in der übergeordneten Tabelle direkt gelöscht werden. Was sollten Sie also tun, wenn Sie Datensätze in der übergeordneten Tabelle löschen möchten? (Wenn Sie beispielsweise ein Produkt entfernen möchten, geht auch die Produktnummer verloren)

Lösung: logisches Löschen (Datenbankeinträge nicht direkt löschen, Fremdschlüsseleinschränkungen nicht verletzen)

Führen Sie in der Produkttabelle ein neues Feld ein, um anzugeben, ob der Datensatz gültig oder ungültig ist. Der Standardwert dieses Felds kann auf 1 gesetzt werden, was gültig bedeutet. Wenn Sie dieses Produkt löschen möchten, ändern Sie dieses Feld auf 0, und das Produkt wird ungültig.

1.8 prüfen

check Prüfbedingung gibt an, welche Daten in eine Spalte eingegeben werden können. Beispielsweise kann als Geschlecht nur „männlich“ oder „weiblich“ eingegeben werden.

Beachten:

MySQL unterstützt diese Einschränkung noch nicht. Selbst wenn sie verwendet wird, wird die Auswirkung dieser Einschränkung ignoriert.

Beispiel:

2. Entwurf von Datenbanktabellen

Wenn wir nach der Beherrschung der grundlegenden Methoden der Datenbankbedienung vor der Aufgabe stehen, eine Tabelle von Grund auf neu zu erstellen, müssen wir ein gutes Gespür für die benötigten Entitäten und die Beziehungen zwischen ihnen haben.

Es gibt vier Haupttypen von Beziehungen zwischen Entitäten:

  • Keine Beziehung
  • Eins-zu-eins-Beziehung
  • Eins-zu-viele-Beziehungen
  • Viele-zu-viele-Beziehungen

2.1 Eins-zu-eins-Beziehung

Beispielsweise entspricht ein Student einer Benutzeridentität eines Systems. Wir können hierfür zwei Entwurfsmethoden verwenden:

Fügen Sie Studenteninformationen und Benutzerinformationen in eine Tabelle ein

Studierendenausweis Name des Studenten Benutzername Benutzerkennwort
2001 Zhang San Drei Babys ***
2002 Li Si Vier Kinder ***
2003 Wang Wu Fünf Babys ***

Tragen Sie die Studierenden in Tabelle A und die Benutzerinformationen in Tabelle B ein. In Tabelle B können Sie Studierenden-IDs einfügen, um Studierende Benutzern zuzuordnen.

Eine Tabelle:

Studierendenausweis Name des Studenten
2001 Zhang San
2002 Li Si
2003 Wang Wu

Tabelle B:

Benutzername Benutzerkennwort Studierendenausweis
Drei Babys *** 2001
Vier Kinder *** 2002
Fünf Babys *** 2003

2.2 Eins-zu-viele-Beziehung

Beispielsweise besteht zwischen einem Mittelschüler und seiner Klasse im Allgemeinen eine Eins-zu-viele-Beziehung. Ein Schüler kann nur einer Klasse angehören, eine Klasse kann jedoch mehrere Schüler haben.

Wir können normalerweise zwei Tabellen entwerfen, Tabelle A zum Speichern von Studenteninformationen und Tabelle B für Klasseninformationen, und Klassen zu den Studenteninformationen hinzufügen, um sie zu verknüpfen

Tabelle A:

Studierendenausweis Name des Studenten Klassen-ID
2001 Zhang San 1
2002 Li Si 1
2003 Wang Wu 2

Tabelle B:

Klassen-ID Klassenname
1 Senioren 3 (1)
2 Senioren 3 (2)

2.3 Viele-zu-viele-Beziehungen

Beispielsweise besteht eine Viele-zu-viele-Beziehung zwischen College-Studenten und Kursen. Ein Student kann mehrere verschiedene Kurse haben, und ein Kurs kann viele Studenten zur Auswahl haben.

Derzeit entwerfen wir drei Tabellen, nämlich Tabelle A zum Speichern von Studenteninformationen, Tabelle B zum Speichern von Kursinformationen und Tabelle C zum Verknüpfen von Studenten mit Kursen.

Tabelle A:

Studierendenausweis Name des Studenten
2001 Zhang San
2002 Li Si
2003 Wang Wu

Tabelle B:

Kurs-ID Kursname
1 Höhere Mathematik
2 Universitätsphysik
3 Datenbanktheorie

C Tabelle:

Studierendenausweis Kurs-ID
2001 1
2001 2
2002 1
2002 3
2003 1

Dies ist das Ende dieses Artikels über die Einschränkungen der MySQL-Datenbank und die Designprinzipien von Datentabellen. Weitere Informationen zu den Einschränkungen der MySQL-Datenbank und zum Design von Datentabellen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So erstellen und löschen Sie Fremdschlüsseleinschränkungen in MySQL
  • Spezielle Methode zum Hinzufügen von Fremdschlüsseleinschränkungen in MySQL
  • Detaillierte Erklärung, ob die MySQL-Datenbank Fremdschlüsseleinschränkungen verwenden soll
  • MySQL lernen: Fünf Hauptbeschränkungen von Datenbanktabellen im Detail für Anfänger erklärt
  • Detaillierte Erläuterung der sechs gängigen Einschränkungstypen in MySQL
  • Eine kurze Diskussion über den Unterschied zwischen MySQL-Primärschlüsseleinschränkung und eindeutiger Einschränkung
  • MySQL-Einschränkungen - Super detaillierte Erklärung
  • Erläuterung des MySQL-Nicht-Null-Einschränkungsfalls
  • So legen Sie Einschränkungen für Tabellen in einer MySQL-Datenbank fest

<<:  HTML implementiert ein festes schwebendes, halbtransparentes Suchfeld auf Mobilgeräten

>>:  So importieren Sie Vue-Komponenten automatisch bei Bedarf

Artikel empfehlen

Zusammenfassung der Benutzererfahrung

Unabhängig davon, ob Sie an Software oder Websites...

Eine kurze Erläuterung der Größeneinheiten in CSS

Die Kompatibilität der Browser wird immer besser....

Einfache Implementierung zum Ausblenden der Bildlaufleiste in HTML

1. HTML-Tags mit Attributen XML/HTML-CodeInhalt i...

Analyse der MySql-Indexnutzungsstrategie

MySql-Index Indexvorteile 1. Sie können die Einde...

Detaillierte Erläuterung des MySQL-Mechanismus zur gemeinsamen Abfrageoptimierung

Inhaltsverzeichnis Strategie zur Ausführung föder...

So aktualisieren Sie https unter Nginx

Kaufzertifikat Sie können es beim Cloud Shield Ce...

Zwei Möglichkeiten, den Zeichensatz der HTML-Seite anzugeben

1. Zwei Möglichkeiten, den Zeichensatz der HTML-S...

Kombinieren von XML- und CSS-Stilen

student.xml <?xml version="1.0" enco...

Detaillierte Erklärung der Desktop-Anwendung mit Vue3 und Electron

Inhaltsverzeichnis Vue CLI erstellt ein Vue-Proje...