MySQL lernen: Drei Paradigmen für Anfänger

MySQL lernen: Drei Paradigmen für Anfänger

1. Paradigmenfundament

1.1 Der Begriff des Paradigmas

Beim Entwurf einer Datenbank müssen einige Spezifikationen beachtet werden. Derzeit gibt es sechs Paradigmen für relationale Datenbanken: erstes Paradigma (1NF), zweites Paradigma (2NF), drittes Paradigma (3NF), Buss-Codd-Form (BCNF), viertes Paradigma (4NF) und fünftes Paradigma (5NF, auch als perfektes Paradigma bekannt).

Natürlich können wir unter normalen Umständen eine standardisiertere Datenbank entwerfen, wenn wir die ersten drei Paradigmen erfüllen.

Um dem letzteren Paradigma zu folgen, müssen Sie zuerst die Anforderungen des vorherigen Paradigmas erfüllen. Beispielsweise muss das zweite Paradigma zuerst dem ersten Paradigma folgen, das dritte Paradigma muss zuerst dem zweiten Paradigma folgen und so weiter.

2. Drei große Paradigmen

2.1 Drei große Paradigmenkonzepte

Erste Normalform (1NF): Jede Spalte kann nicht weiter aufgeteilt werden.
Zweite Normalform (2NF): Basierend auf der ersten Normalform sind Nicht-Primärschlüsselspalten vollständig vom Primärschlüssel abhängig und können nicht Teil des Primärschlüssels sein.
Dritte Normalform (3NF): Basierend auf der zweiten Normalform hängen Nicht-Primärschlüsselspalten nur vom Primärschlüssel ab und nicht von anderen Nicht-Primärschlüsseln.

2.2 Beispiele für die drei Paradigmen

Als Beispiel haben wir eine Tabelle. In den folgenden Beispielen werden wir diese Tabelle in drei Paradigmen transformieren und sie dann in eine Standardtabelle umwandeln:

Bildbeschreibung hier einfügen

1. Transformieren Sie das erste Paradigma

Erste Normalform (1NF): Eine Teilung der einzelnen Spalten ist nicht mehr möglich

Wir können sehen, dass es in der Tabelle eine Spalte gibt, die geteilt werden kann, nämlich die Reihe. Die Transformation davon in die erste Normalform ergibt also Folgendes:

Bildbeschreibung hier einfügen

2. Transformation des zweiten Paradigmas

Zweite Normalform (2NF): Basierend auf der ersten Normalform sind Nicht-Primärschlüsselspalten vollständig vom Primärschlüssel abhängig und können nicht Teil des Primärschlüssels sein.

Dieses zweite Paradigma ist nicht leicht zu verstehen. Lassen Sie uns daher zunächst einige Konzepte verstehen:

1. Funktionsabhängigkeit: Wenn der Wert eines eindeutigen B-Attributs aus einem A-Attribut (oder einer Attributgruppe) bestimmt werden kann, hängt B von A ab. Beispielsweise ist der Name im Bild oben komplett von der Matrikelnummer abhängig.
2. Vollständige funktionale Abhängigkeit: Wenn A eine Attributgruppe ist, muss die Bestimmung des Attributwerts von B von allen Attributwerten in der Attributgruppe von A abhängen. Eine Attributgruppe bezieht sich auf mehrere Felder. Wenn wir beispielsweise eine Punktzahl wissen möchten, müssen wir uns auf die Attribute „Matrikelnummer“ und „Kursname“ verlassen, um eine Punktzahl zu ermitteln. Andere Attribute können keine Punktzahl bestimmen.
3. Einige funktionale Abhängigkeiten: Wenn A eine Attributgruppe ist, muss die Ermittlung des Attributwerts von B auf einigen Feldern der Attributgruppe A basieren. Wenn beispielsweise die Studenten-ID und der Kursname eine Attributgruppe sind, kann der Studentenname nur durch die Studenten-ID ermittelt werden.
4. Abhängigkeit der Übertragungsfunktion: Wenn Attribut A (Attributgruppe) den eindeutigen Wert von Attribut B bestimmen kann, dann kann der Wert von Attribut C eindeutig durch den Wert von Attribut B bestimmt werden. Beispielsweise bestimmt eine Studenten-ID einen Abteilungsnamen und ein Abteilungsname entspricht einem Abteilungsleiter.
5. Primärschlüssel: Wenn in einer Tabelle ein Attribut oder eine Attributgruppe vollständig von allen anderen Attributen abhängig ist, wird dieses Attribut als Tabellencode bezeichnet, z. B. die Attributgruppe bestehend aus Matrikelnummer und Kursname in der obigen Abbildung.

Tatsächlich kann das zweite Paradigma auch verstanden werden als

Eliminieren Sie die teilweise Abhängigkeit von Nicht-Primärschlüsseln von Primärschlüsseln basierend auf dem ersten Paradigma

Der Primärschlüssel in der obigen Abbildung ist die Attributgruppe, die aus der Matrikelnummer und dem Kursnamen besteht. In der obigen Abbildung können wir sehen, dass mit Ausnahme der Punktzahl alle anderen Attribute teilweise vom Primärschlüssel abhängig sind. Dann können wir dies wie unten gezeigt korrigieren:

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Nach der zweiten Normalformtransformation wird eine Tabelle in zwei Tabellen aufgeteilt. Wir stellen fest, dass die zweite Normalform tatsächlich viele redundante Teile für uns eliminiert. Beispielsweise erschienen Zhang Wujis Name, der Abteilungsname und der Abteilungsdekan vor der Transformation dreimal in der Tabelle, aber nach der Transformation erschienen sie nur einmal in den beiden Tabellen.

3. Transformation zum dritten Paradigma

Dritte Normalform (3NF): Basierend auf der zweiten Normalform hängen Nicht-Primärschlüsselspalten nur vom Primärschlüssel ab und nicht von anderen Nicht-Primärschlüsseln.

Gemäß dem Konzept, das wir im zweiten Punkt erwähnt haben, ergibt sich daraus:

Bildbeschreibung hier einfügen

Oben finden Sie ausführliche Informationen zu den drei Hauptparadigmen des MySQL-Lernens für Anfänger. Weitere Informationen zu den drei Hauptparadigmen von MySQL finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Die einfachste und einprägsamste Erklärung der drei Paradigmen von Datenbanken
  • Detaillierte Erklärung der Verwendung des MySQL-Paradigmas
  • Detaillierte Erklärung des MySQL-Datenbankparadigmas
  • Eine kurze Analyse der drei wichtigsten Paradigmen des Datenbankdesigns

<<:  Probleme mit dem benannten Mount und dem anonymen Mount des Docker-Container-Datenvolumens

>>:  So verwenden Sie eine Bildschaltfläche als Schaltfläche zum Zurücksetzen des Formulars

Artikel empfehlen

Drei Diskussionen zum Iframe Adaptive Height Code

Beim Erstellen einer B/S-Systemschnittstelle stößt...

Detaillierte Erklärung und Zusammenfassung der URL zur Datenbankverbindung

Detaillierte Erklärung und Zusammenfassung der UR...

Informationen zu VUEs Kompilierungsumfang und Slotumfang-Slotproblemen

Was sind Slots? Die Slot-Direktive ist v-slot, di...

Hinweise zur Verwendung von $refs in Vue-Instanzen

Während des Entwicklungsprozesses verwenden wir h...

Beispiel für eine automatische Importmethode für allgemeine Vue3.0-Komponenten

1. Voraussetzungen Wir verwenden zum Importieren ...

Auszeichnungssprache - CSS-Stile für Text festlegen

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Drei Prinzipien effizienten Navigationsdesigns, die Webdesigner kennen müssen

Das Entwerfen der Navigation für eine Website ist...

Lösung für das Problem mit verstümmeltem MySQL-Code unter Linux

Das Projekt interagiert mit dem Server, greift üb...

Installieren und Konfigurieren von MySQL unter Linux

System: Ubuntu 16.04LTS 1\Laden Sie mysql-5.7.18-...

Entdecken Sie, wie Ihnen eine LED den Einstieg in den Linux-Kernel erleichtert

Inhaltsverzeichnis Vorwort LED-Trigger Entdecken ...