Heim > Datenbank > MySQL-Tutorial > Datenbanknormalisierung

Datenbanknormalisierung

Linda Hamilton
Freigeben: 2024-11-25 00:34:11
Original
661 Leute haben es durchsucht
  • Datenbanknormalisierung organisiert Daten auf strukturierte und konsistente Weise, eliminiert Redundanz und stellt die Datenintegrität innerhalb relationaler Datenbanken sicher. Es erleichtert die Verwaltung, Abfrage und Wartung von Datenbanken und reduziert Fehler.

  • Durch die Befolgung von Normalisierungsregeln können Sie Datenbanken entwerfen, die einfacher zu warten und weniger fehleranfällig sind.

Bevor wir uns mit der Normalisierung befassen, wollten wir die Grundlagen der relationalen Datenbank kennen.

  • Eine relationale Datenbank ist eine Art Datenbank, die Daten in Tabellen speichert, die in Zeilen und Spalten strukturiert sind. Tabelle – Sammlungen verwandter Dateneinträge Zeilen – Datensätze, jede Zeile stellt einzelne Daten dar Spalten – Felder, jede Spalte stellt ein bestimmtes Attribut der Daten dar.

Database Normalization

Primärschlüssel – Eine eindeutige Kennung für jede Zeile in einer Tabelle. Stellt sicher, dass jeder Datensatz eindeutig identifiziert werden kann.
Fremdschlüssel – Ein Feld in einer Tabelle, das mit dem Primärschlüssel einer anderen Tabelle verknüpft ist und so eine Beziehung zwischen den beiden Tabellen herstellt
Database Normalization

Wir haben erwähnt, dass die Normalisierung der Beseitigung von Redundanz und inkonsistenter Abhängigkeit dient. Was ist das?

Redundante Daten bedeutet, dass dieselben Daten an mehreren Orten gespeichert werden, was Speicherplatz verschwendet und Wartungsprobleme verursacht. Sollten sich Änderungen an den Daten ergeben, müssen wir diese an allen Stellen aktualisieren.

Inkonsistente Abhängigkeit tritt auf, wenn Daten in einer Datenbank auf unvorhersehbare oder falsche Weise von anderen Daten abhängen. Dies kann zu Fehlern führen und die Datenbank unzuverlässig machen.

  • Normalform – Jede Regel in der Datenbanknormalisierung. Wenn eine Datenbank der ersten Normalisierungsregel folgt, liegt sie in der „First Normal Form“ (1NF) vor. Wenn es den ersten drei Regeln folgt, liegt es in der „Third Normal Form“ (3NF) vor.

Database Normalization

Stellen Sie sich Normalformen als Kontrollpunkte/Regeln in einem Prozess vor, ähnlich wie eine Fahrprüfung Phasen wie Fahrschüler, Parken und Straßentest umfasst.

Database Normalization

Erste Normalform (1NF)

  • Beseitigen Sie sich wiederholende Gruppen in einzelnen Tabellen.

Database Normalization

  • Erstellen Sie eine separate Tabelle für jeden Satz zusammengehöriger Daten.

Um diese Daten zu normalisieren, erstellen wir separate Tabellen für Studierende und ihre Kurse:

Database Normalization

  • Identifizieren Sie jeden Satz zusammengehöriger Daten mit einem Primärschlüssel.

Database Normalization

Zweite Normalform (2NF)

  • Teilabhängigkeit entfernen – Jede Nichtschlüsselspalte muss vom gesamten Primärschlüssel abhängen, nicht nur von einem Teil davon.

Die 1NF eliminiert nur sich wiederholende Gruppen, keine Redundanz. Deshalb gibt es 2NF.

Eine Tabelle gilt als 2NF, wenn sie die folgenden Kriterien erfüllt:
es ist bereits in 1NF
Keine teilweise Abhängigkeit. Das heißt, alle Nicht-Schlüsselattribute sind vollständig von einem Primärschlüssel abhängig.

Database Normalization

Dritte Normalform (3NF)

  • Entfernt transitive Abhängigkeiten, indem sichergestellt wird, dass Nichtschlüsselattribute nur vom Primärschlüssel abhängen.

  • Jetzt müssen wir die transitive Abhängigkeit verstehen, die der Schlüssel zum Verständnis von 3NF ist.

Transitive Abhängigkeit tritt auf, wenn ein Attribut (eine Spalte) von einem anderen Nicht-Schlüsselattribut abhängt und nicht direkt vom Primärschlüssel abhängt.

Database Normalization

3NF erfordert

  1. Der Tisch ist bereits 2 NF
  2. Es gibt keine transitiven Abhängigkeiten. Dies bedeutet, dass es sich nicht um einen Schlüssel handelt Attribute sollten nicht von anderen Nicht-Schlüsselattributen abhängen.

Database Normalization

Dies ist die endgültige Struktur in 3NF:
Keine teilweise Abhängigkeit (da alle Attribute vollständig vom gesamten Primärschlüssel in ihren jeweiligen Tabellen abhängig sind).
Keine transitive Abhängigkeit (da keine Nicht-Schlüsselattribute von anderen Nicht-Schlüsselattributen abhängen).

Elementarschlüssel-Normalform (EKNF)

  • EKNF ist eine strengere Form von 3NF, die sicherstellt, dass alle funktionalen Abhängigkeiten elementar sind, das heißt, sie sind unkompliziert und klar, ohne komplexe Abhängigkeiten.

3NF: Stellt keine transitiven Abhängigkeiten sicher.
EKNF: Verfeinert 3NF weiter, indem sichergestellt wird, dass alle funktionalen Abhängigkeiten elementar sind, und befasst sich mit komplexeren Abhängigkeiten, die 3NF möglicherweise nicht verarbeiten kann.

Database Normalization

Boyce-Codd-Normalform (BCNF)

  • Eine Tabelle ist in BCNF, wenn:

    1. Es ist in 3NF.
    2. Für jede funktionale Abhängigkeit ( A –> B ) muss A ein Kandidatenschlüssel (Superschlüssel) sein.
  • Superkey: Ein Satz aus einer oder mehreren Spalten, die eine Zeile in einer Tabelle eindeutig identifizieren können.
    Funktionale Abhängigkeit: Eine Beziehung, bei der ein Attribut ein anderes Attribut eindeutig bestimmt.

Vierte Normalform (4NF)

  • Nächste Stufe der Normalform nach BCNF.

  • Andere Normalformen befassen sich mit funktionalen Abhängigkeiten, 4NF befasst sich mit einer allgemeineren Art von Abhängigkeit, die als mehrwertige Abhängigkeit bekannt ist.

  • Mehrwertige Abhängigkeit – Tritt auf, wenn ein Attribut unabhängig von anderen Attributen mehrere Werte eines anderen Attributs bestimmt.

Database Normalization

Fünfte Normalform (5NF)

  • Sie wird auch als Project-Join Normal Form (PJNF) bezeichnet und ist die höchste Ebene der Normalisierung. Eine Tabelle ist in 5NF, wenn sie bereits in 4NF ist und nicht in kleinere Tabellen zerlegt werden kann, ohne die Datenintegrität zu verlieren. Dies bedeutet, dass jede nicht triviale Join-Abhängigkeit in der Tabelle durch die Kandidatenschlüssel impliziert wird.

  • Wenn wir diese Tabelle in kleinere Tabellen zerlegen, um Redundanz zu beseitigen, müssen wir sicherstellen, dass wir die ursprüngliche Tabelle immer noch ohne Informationsverlust rekonstruieren können. In 5NF erfolgt diese Zerlegung so, dass keine Informationen verloren gehen und alle Join-Abhängigkeiten erhalten bleiben. Erklären Sie anhand von Beispielen

Database Normalization

Denormalisierung

  • Tabellen können denormalisiert werden, um die Leistung zu verbessern.

  • Normalisierung erhöht die Anzahl der Tabellen und Beziehungen.

  • Der Zugriff auf mehrere Tabellen über Beziehungen hinweg erfordert mehr Verarbeitung als der Zugriff auf eine einzelne Tabelle.

Das obige ist der detaillierte Inhalt vonDatenbanknormalisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage