Während des Interviews fragen einige Interviewer nach dem Datenbankparadigma. Ich habe Datenbanken schon an der Uni studiert, aber ich habe noch nie von dem Paradigma gehört, oder der Lehrer hat es erwähnt, und ich habe nicht darauf geachtet?
Derzeit gibt es sechs Paradigmen in relationalen Datenbanken: das erste Paradigma (1NF), das zweite Paradigma (2NF), das dritte Paradigma (3NF), das Bass-Cod-Paradigma (BCNF), das vierte Paradigma (4NF) und das fünfte Paradigma (5NF, auch als perfektes Paradigma bekannt).
Üblicherweise verwenden wir das erste Paradigma (1NF), das zweite Paradigma (2NF) und das dritte Paradigma (3NF), das sind die "drei Paradigmen", die in diesem Artikel behandelt werden.
Erstes Paradigma (1NF): Es verlangt, dass jede Spalte der Datenbanktabelle ein unteilbares atomares Datenelement ist.
Illustrieren:
In der obigen Tabelle erfüllen weder die Spalten "Familieninformationen" noch "Schulinformationen" die Atomitätsanforderungen, sodass sie nicht dem ersten Paradigma entsprechen und wie folgt angepasst werden:
Man sieht, dass jede angepasste Spalte unteilbar ist und somit das erste Paradigma (1NF) erfüllt;
Paradigma 2 (2NF): Auf der Grundlage von 1NF müssen Nicht-Code-Attribute vollständig von Kandidatencodes abhängig sein (Partielle Funktionsabhängigkeit nicht-primärer Attribute vom Mastercode auf 1NF-Basis eliminieren)
Das zweite Paradigma muss sicherstellen, dass jede Spalte in der Datenbanktabelle mit dem Primärschlüssel zusammenhängt und nicht nur ein Teil des Primärschlüssels ist (hauptsächlich bei föderierten Primärschlüsseln).
Illustrieren:
Im oben gezeigten Fall kann dieselbe Reihenfolge unterschiedliche Produkte enthalten, daher muss der Primärschlüssel eine Kombination aus "Bestellnummer" und "Produktnummer" sein.
Es zeigt sich jedoch, dass Produktmenge, Produktrabatt und Produktpreis alle mit der "Bestellnummer" und "Produktnummer" zusammenhängen, während die Bestellmenge und die Bestellzeit nur mit der "Bestellnummer" zusammenhängen und nichts mit der "Produktnummer" zu tun haben.
Dies erfüllt nicht die Anforderungen des zweiten Paradigmas und wird wie folgt angepasst, das in zwei Tabellen unterteilt werden muss:
Drittes Paradigma (3NF): Auf der Grundlage von 2NF hängt kein Nicht-Hauptattribut von anderen Nicht-Hauptattributen ab (wodurch Übertragungsabhängigkeiten auf Basis von 2NF eliminiert werden)
Das dritte Paradigma muss sicherstellen, dass jede Datenspalte in der Datentabelle direkt mit dem Primärschlüssel in Beziehung steht und nicht indirekt.
Illustrieren:
In der obigen Tabelle hängen alle Attribute vollständig von der Schülerzahl ab, sodass das zweite Paradigma erfüllt ist, aber das "Geschlecht des Klassenlehrers" und das "Alter des Klassenlehrers" hängen direkt vom "Name des Klassenlehrers" ab.
Anstelle des Hauptschlüssels "Studentennummer" müssen folgende Anpassungen vorgenommen werden:
Auf diese Weise werden die Anforderungen des dritten Paradigmas erfüllt.
ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。
BCNF (Bovce Codd Normalform Bacchus Paradigma)
Das dritte Korrekturparadigma besteht darin, zu verhindern, dass eine Spalte des Primärschlüssels von anderen Spalten des Primärschlüssels abhängt. Wenn 3NF einige Funktionsabhängigkeiten eliminiert und Funktionsabhängigkeiten vom Hauptattributcode überträgt, wird dies BCNF genannt.
Charakteristisch:
1. Alle Hauptattribute sind vollständig funktionale Abhängigkeiten von jedem Code
2. Alle Hauptattribute sind vollständig funktionsabhängig von jedem Code, der ihn nicht enthält.
3. Es gibt keine Attribute, die vollständig funktional sind und von irgendeiner Menge nicht-codebezogener Eigenschaften abhängig sind
Zum Beispiel ist in der Lagerbestandstabelle (Lagerhausname, Administratorname, Produktname, Menge) der Primärschlüssel (Lagerhausname, Administratorname, Produktname), der die vorherigen drei Paradigmen erfüllt, aber es besteht eine Abhängigkeit zwischen dem Lagerhausnamen und dem Administratornamen, sodass das Löschen eines Lagers dazu führt, dass der Administrator gelöscht wird, sodass BCNF nicht erfüllt ist.
4NF Viertes Paradigma
Nicht-primäre Attribute sollten nicht mehrere Werte haben. Wenn es einen Multiwert gibt, verstößt er gegen das vierte Paradigma. 4NF ist ein restriktionsrelationales Muster, das keine nicht-trivialen und nicht-funktionsabhängigen mehrwertigen Abhängigkeiten zwischen Eigenschaften zulässt.
Zum Beispiel in der Tabelle der Benutzerkontaktinformationen (Benutzer-ID, Festnetznummer, Mobiltelefon), bei der die Benutzer-ID der Primärschlüssel ist, der die BCNF erfüllt, ein Nutzer aber mehrere Festnetz- oder mehrere Mobiltelefone haben kann, ist dieses Design unvernünftig und sollte in (Benutzer-ID, Kontakttyp, Telefonnummer) geändert werden.
Hinweis: Wenn nur Funktionsabhängigkeiten betrachtet werden, ist das Paradigma mit dem höchsten Grad an Normalisierung relationaler Muster BCNF. Wenn man Mehrwert-Abhängigkeiten betrachtet, ist es 4NF.
5NF Fünftes Paradigma
Das fünfte Paradigma ist das letzte Paradigma und eliminiert die Verbindungsabhängigkeit in 4NF, und das fünfte Paradigma muss folgende Anforderungen erfüllen:
1. Das vierte Paradigma muss erfüllt werden
2. Tabellen müssen in kleinere Tabellen zerlegbar sein, es sei denn, diese Tabellen haben logischerweise denselben Primärschlüssel wie die ursprüngliche Tabelle.
In allgemeinen praktischen Anwendungen muss das fünfte Paradigma nicht berücksichtigt werden.
Übertragen von:Der Hyperlink-Login ist sichtbar. Referenz:Der Hyperlink-Login ist sichtbar.
|