Optimierung von Datentabellen in MySQL-Datenbanken, Analyse von Fremdschlüsseln und Nutzung von drei Paradigmen

Optimierung von Datentabellen in MySQL-Datenbanken, Analyse von Fremdschlüsseln und Nutzung von drei Paradigmen

Dieser Artikel veranschaulicht anhand von Beispielen die Optimierung von Datentabellen in MySQL-Datenbanken, den Einsatz von Fremdschlüsseln und drei Paradigmen. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

Datentabellenoptimierung

Optimieren Sie die Produktinformationstabelle

1. Erstellen Sie eine Produktkategorietabelle:

Tabelle erstellen, falls nicht vorhanden, goods_cates( 
id int vorzeichenloser Primärschlüssel auto_increment, 
Name varchar(40) nicht null 
);

2. Tragen Sie die Produktkategorie in die Produktkategorietabelle ein:

Hinweis: Sie müssen keine Werte hinzufügen, wenn Sie Abfrageergebnisse in eine andere Tabelle einfügen

einfügen in goods_cates(Name) 
(wählen Sie Kategoriename aus der Warengruppe nach Kategoriename aus); 

3. Aktualisieren Sie die Produktkategorietabelle zur Produkttabelle:

Verbinden Sie die Produkttabelle mit der Kategorietabelle und ersetzen Sie den Kategorieinhalt der Produkttabelle mithilfe der Kategorietabellen-ID.

aktualisieren (goods_cates innerer Join Waren auf goods_cates.name=goods.cate_name) 
setze goods.cate_name=goods_cates.id;

4. Ändern Sie die Tabellenstruktur:

Benennen Sie das Produktkategorienamenfeld cate_name in der Produkttabelle in cate_id um.

Tabelle ändern, Waren, Kate_Name ändern, Kate_ID, int, vorzeichenlos, nicht null;

Fremdschlüssel

1. Verwendung von Fremdschlüsseln:

Fügen Sie eine Fremdschlüsseleinschränkung hinzu und fügen Sie die Datenzeile ein, um zu ermitteln, ob cate_id in der ID in goods_cates vorhanden ist. Wenn nicht, schlägt die Dateneinfügung fehl.

Tabelle ändern, Tabellenname 1, Fremdschlüssel hinzufügen (Feldname 1), Referenzen auf Tabellenname 2 (Feldname 2); 

(Das Setzen eines Fremdschlüssels kann eine unzulässige Dateneingabe verhindern)

Fremdschlüssel (Feldname 1) verweist auf Tabellennamen 2 (Feldname 2); 

(Sie können den Fremdschlüssel auch direkt beim Anlegen der Tabelle setzen, sofern die anzubindende Tabelle existiert)

2. Nachteile von Fremdschlüsseln:

Obwohl Fremdschlüssel die Eingabe illegaler Daten wirksam verhindern können, verringern sie die Aktualisierungseffizienz der Tabelle erheblich. Daher werden in der tatsächlichen Entwicklung im Allgemeinen keine Fremdschlüsselbeschränkungen angewendet und die Legitimität der Daten kann auf Transaktionsebene beurteilt werden.

3. Löschen von Fremdschlüsseln:

Zeigen Sie die Anweisung zum Erstellen der Tabelle an

zeigen erstellen Tisch Waren; 

Löschen Sie den Fremdschlüssel, nachdem Sie seinen Namen erhalten haben:

Tabelle „Waren“ ändern, Fremdschlüssel „Waren_ibfk_1“ löschen;

Drei Paradigmen

1. Erste Normalform (1NF): betont die Atomarität von Spalten, d. h. Spalten können nicht in andere Spalten unterteilt werden.
2. Zweite Normalform (2NF): Basierend auf 1NF muss die Tabelle einen Primärschlüssel haben und Nicht-Primärschlüsselfelder müssen vollständig vom Primärschlüssel abhängig sein und nicht nur von einem Teil des Primärschlüssels.
3. Dritte Normalform (3NF): Basierend auf 2NF müssen Nicht-Primärschlüsselspalten direkt vom Primärschlüssel abhängig sein und es dürfen keine transitiven Abhängigkeiten bestehen.

Eine Datenbank, die der dritten Normalform entspricht, ist eine vernünftigere Datenbank.

Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „Zusammenfassung der allgemeinen MySQL-Funktionen“, „MySQL-Protokolloperationskenntnisse“, „Zusammenfassung der MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“ und „Zusammenfassung der MySQL-Datenbanksperrenkenntnisse“.

Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist.

Das könnte Sie auch interessieren:
  • MySQL-Reihe: Datenbankdesign, drei Paradigmen, Tutorial-Beispiele
  • Detaillierte Erklärung des MySQL-Datenbankparadigmas
  • Mysql-Datenbankdesign - Analyse von drei Paradigmenbeispielen
  • Zusammenfassung der Designtheorie zur Normalisierung von MySQL-Datenbanken

<<:  Detaillierte Erklärung der Funktionen von -I (großes i), -L (großes l) und -l (kleines l) beim Kompilieren von Programmen mit g++ unter Linux

>>:  Upload-Komponentenfunktion basierend auf React-Dropzone entwickeln (Beispieldemonstration)

Artikel empfehlen

Zeichnen Sie ein Herz mit CSS3

Ergebnisse erzielenAnforderungen/Funktionalität: ...

Schreiben eines Schere-Stein-Papier-Spiels in JavaScript

In diesem Artikel finden Sie den spezifischen Cod...

Detaillierte Erläuterung der Verwendung von Docker-Tag und Docker-Push

Detaillierte Erklärung des Docker-Tags Die Verwen...

Drei Möglichkeiten, das horizontale Div-Layout auf beiden Seiten auszurichten

In diesem Artikel werden hauptsächlich drei Metho...

Informationen zu VUEs Kompilierungsumfang und Slotumfang-Slotproblemen

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

Detailliertes Tutorial zur Installation von ElasticSearch 6.4.1 auf CentOS7

1. Laden Sie das ElasticSearch 6.4.1-Installation...

JavaScript zum Erzielen eines ausgewogenen digitalen Scroll-Effekts

Inhaltsverzeichnis 1. Hintergrund zur Umsetzung 2...

So installieren Sie die PHP7 Redis-Erweiterung auf CentOS7

Einführung Im vorherigen Artikel haben wir Redis ...

MySQL-Komplettabsturz: Detaillierte Erklärung der Abfragefilterbedingungen

Überblick In tatsächlichen Geschäftsszenarioanwen...

Ein kurzer Vortrag über die parasitäre Kompositionsvererbung in JavaScript

Vererbung von Kompositionen Kombinationsvererbung...

MySQL ändert die Standard-Engine und Zeichensatzdetails

Inhaltsverzeichnis 1. Datenbankmodul 1.1 Datenban...