Normalisierung ist der Prozess der Minimierung Redundanz aus einer Relation oder einem Satz von Relationen. Redundanz in der Beziehung kann zu Anomalien beim Einfügen, Löschen und Aktualisieren führen. Es hilft also, die Redundanz in den Beziehungen zu minimieren. Normale Formen werden verwendet, um Redundanz in Datenbanktabellen zu beseitigen oder zu reduzieren.
Normalisierung von DBMS durch Ranjan Hero
In Datenbankverwaltungssystemen (DBMS) handelt es sich bei Normalformen um eine Reihe von Richtlinien, die dazu beitragen, sicherzustellen, dass der Entwurf einer Datenbank effizient, organisiert und frei von Datenanomalien ist. Es gibt mehrere Normalisierungsstufen mit jeweils eigenen Richtlinien, den so genannten Normalformen.
Wichtige Punkte zu Normalformen in DBMS
- Erste Normalform (1NF): Dies ist die grundlegendste Ebene der Normalisierung. In 1NF sollte jede Tabellenzelle nur einen einzelnen Wert enthalten und jede Spalte sollte einen eindeutigen Namen haben. Die erste Normalform hilft dabei, doppelte Daten zu eliminieren und Abfragen zu vereinfachen.
- Zweite Normalform (2NF): 2NF eliminiert redundante Daten, indem es verlangt, dass jedes Nichtschlüsselattribut vom Primärschlüssel abhängig ist. Das bedeutet, dass jede Spalte in direktem Zusammenhang mit dem Primärschlüssel stehen sollte und nicht mit anderen Spalten.
- Dritte Normalform (3NF): 3NF baut auf 2NF auf, indem es verlangt, dass alle Nicht-Schlüsselattribute unabhängig voneinander sind. Das bedeutet, dass jede Spalte in direktem Zusammenhang mit dem Primärschlüssel stehen sollte und nicht mit anderen Spalten in derselben Tabelle.
- Boyce-Codd-Normalform (BCNF): BCNF ist eine strengere Form von 3NF, die sicherstellt, dass jede Determinante in einer Tabelle ein Kandidatenschlüssel ist. Mit anderen Worten stellt BCNF sicher, dass jedes Nichtschlüsselattribut nur vom Kandidatenschlüssel abhängt.
- Vierte Normalform (4NF): 4NF ist eine Weiterentwicklung von BCNF, die sicherstellt, dass eine Tabelle keine mehrwertigen Abhängigkeiten enthält.
- Fünfte Normalform (5NF): 5NF ist die höchste Normalisierungsstufe und beinhaltet die Zerlegung einer Tabelle in kleinere Tabellen, um Datenredundanz zu beseitigen und die Datenintegrität zu verbessern.
Normale Formen tragen dazu bei, Datenredundanz zu reduzieren, die Datenkonsistenz zu erhöhen und die Datenbankleistung zu verbessern. Höhere Normalisierungsgrade können jedoch zu komplexeren Datenbankdesigns und -abfragen führen. Beim Entwurf einer Datenbank ist es wichtig, ein Gleichgewicht zwischen Normalisierung und Praktikabilität zu finden.
Vorteile der Normalform
- Reduzierte Datenredundanz: Die Normalisierung trägt dazu bei, doppelte Daten in Tabellen zu eliminieren, wodurch der benötigte Speicherplatz reduziert und die Datenbankeffizienz verbessert wird.
- Verbesserte Datenkonsistenz: Durch die Normalisierung wird sichergestellt, dass Daten konsistent und organisiert gespeichert werden, wodurch das Risiko von Dateninkonsistenzen und -fehlern verringert wird.
- Vereinfachtes Datenbankdesign: Die Normalisierung stellt Richtlinien für die Organisation von Tabellen und Datenbeziehungen bereit und erleichtert so das Entwerfen und Verwalten einer Datenbank.
- Verbesserte Abfrageleistung: Normalisierte Tabellen sind in der Regel einfacher zu durchsuchen und Daten abzurufen, was zu einer schnelleren Abfrageleistung führt.
- Einfachere Datenbankwartung: Durch die Normalisierung wird die Komplexität einer Datenbank verringert, indem sie in kleinere, besser verwaltbare Tabellen zerlegt wird, wodurch das Hinzufügen, Ändern und Löschen von Daten erleichtert wird.
Insgesamt trägt die Verwendung normaler Formulare in DBMS dazu bei, die Datenqualität zu verbessern, die Datenbankeffizienz zu steigern und das Datenbankdesign und die Datenbankwartung zu vereinfachen.
dhl bedeutet was
Erste Normalform
Wenn eine Beziehung ein zusammengesetztes oder mehrwertiges Attribut enthält, verstößt sie gegen die erste Normalform, oder eine Beziehung liegt in der ersten Normalform vor, wenn sie kein zusammengesetztes oder mehrwertiges Attribut enthält. Eine Relation hat die erste Normalform, wenn jedes Attribut in dieser Relation dies hat einwertiges Attribut .
- Beispiel 1 - Die Beziehung STUDENT in Tabelle 1 ist aufgrund des mehrwertigen Attributs STUD_PHONE nicht in 1NF. Seine Zerlegung in 1NF ist in Tabelle 2 dargestellt.

Beispiel
- Beispiel 2 –
ID Name Courses ------------------ 1 A c1, c2 2 E c3 3 M C2, c3>
- In der obigen Tabelle handelt es sich bei „Kurs“ um ein mehrwertiges Attribut, daher ist es nicht in 1NF enthalten. Die folgende Tabelle ist in 1NF, da es kein mehrwertiges Attribut gibt
ID Name Course ------------------ 1 A c1 1 A c2 2 E c3 3 M c2 3 M c3>
Zweite Normalform
Um in der zweiten Normalform zu sein, muss eine Beziehung in der ersten Normalform vorliegen und die Beziehung darf keine teilweise Abhängigkeit enthalten. Eine Relation ist in 2NF, wenn dies der Fall ist Keine teilweise Abhängigkeit, d.h. , Kein Nicht-Primärattribut (Attribute, die nicht Teil eines Kandidatenschlüssels sind) ist von einer echten Teilmenge eines Kandidatenschlüssels der Tabelle abhängig. Teilweise Abhängigkeit – Wenn die richtige Teilmenge des Kandidatenschlüssels ein Nicht-Primärattribut bestimmt, spricht man von partieller Abhängigkeit.
- Beispiel 1 - Betrachten Sie Tabelle 3 wie folgt.
STUD_NO COURSE_NO COURSE_FEE 1 C1 1000 2 C2 1500 1 C4 2000 4 C3 1000 4 C1 1000 2 C5 2000>
- {Beachten Sie, dass es für viele Kurse die gleiche Kursgebühr gibt} Hier kann COURSE_FEE nicht allein über den Wert von COURSE_NO oder STUD_NO entscheiden; COURSE_FEE kann zusammen mit STUD_NO den Wert von COURSE_NO nicht bestimmen; COURSE_FEE kann zusammen mit COURSE_NO nicht über den Wert von STUD_NO entscheiden; Daher wäre COURSE_FEE ein Nicht-Prime-Attribut, da es nicht zum einzigen Kandidatenschlüssel {STUD_NO, COURSE_NO} gehört; Aber COURSE_NO -> COURSE_FEE, d. h. COURSE_FEE ist abhängig von COURSE_NO, was eine echte Teilmenge des Kandidatenschlüssels ist. Das Nicht-Prime-Attribut COURSE_FEE ist von einer echten Teilmenge des Kandidatenschlüssels abhängig, was eine teilweise Abhängigkeit darstellt und diese Beziehung daher nicht in 2NF vorliegt. Um die obige Beziehung in 2NF umzuwandeln, müssen wir die Tabelle in zwei Tabellen aufteilen, z. B.: Tabelle 1: STUD_NO, COURSE_NO Tabelle 2: COURSE_NO, COURSE_FEE
Table 1 Table 2 STUD_NO COURSE_NO COURSE_NO COURSE_FEE 1 C1 C1 1000 2 C2 C2 1500 1 C4 C3 1000 4 C3 C4 2000 4 C1 C5 2000>
- NOTIZ: 2NF versucht, die redundante Speicherung von Daten im Speicher zu reduzieren. Wenn zum Beispiel 100 Studenten den C1-Kurs belegen, müssen wir die Gebühr nicht für alle 100 Datensätze als 1000 speichern, sondern können sie stattdessen in der zweiten Tabelle speichern, da die Kursgebühr für C1 1000 beträgt.
- Beispiel 2 – Betrachten Sie die folgenden funktionalen Abhängigkeiten in der Beziehung R (A, B, C, D).
AB ->C [A und B bestimmen zusammen C] BC -> D [B und C bestimmen zusammen D]>
In der obigen Beziehung ist AB der einzige Kandidatenschlüssel und es gibt keine teilweise Abhängigkeit, d. h. eine echte Teilmenge von AB bestimmt kein Nicht-Primat-Attribut.
X is a super key. Y is a prime attribute (each element of Y is part of some candidate key).>
Beispiel 1: In der in Tabelle 4 angegebenen Beziehung STUDENT setzt FD: {STUD_NO -> STUD_NAME, STUD_NO -> STUD_STATE, STUD_STATE -> STUD_COUNTRY, STUD_NO -> STUD_AGE}
Kandidatenschlüssel: {STUD_NO}
Für diese Beziehung in Tabelle 4 sind STUD_NO -> STUD_STATE und STUD_STATE -> STUD_COUNTRY wahr.
Baudrate in Arduino
STUD_COUNTRY ist also transitiv von STUD_NO abhängig. Es verletzt die dritte Normalform.
Um es in die dritte Normalform umzuwandeln, zerlegen wir die Beziehung STUDENT (STUD_NO, STUD_NAME, STUD_PHONE, STUD_STATE, STUD_COUNTRY_STUD_AGE) wie folgt: STUDENT (STUD_NO, STUD_NAME, STUD_PHONE, STUD_STATE, STUD_AGE) STATE_COUNTRY (STATE, COUNTRY)
Betrachten Sie die Beziehung R(A, B, C, D, E) A -> BC, CD -> E, B -> D, E -> A Alle möglichen Kandidatenschlüssel in der obigen Beziehung sind {A, E, CD, BC} Alle Attribute stehen auf der rechten Seite aller funktionalen Abhängigkeiten und sind prim.
Beispiel 2: Finden Sie die höchste Normalform einer Beziehung R(A,B,C,D,E), wobei FD als {BC->D, AC->BE, B->E} festgelegt ist.
Schritt 1: Wie wir sehen können, gilt (AC)+ ={A,C,B,E,D}, aber keine seiner Teilmengen kann alle Attribute der Beziehung bestimmen, sodass AC der Kandidatenschlüssel sein wird. A oder C können von keinem anderen Attribut der Beziehung abgeleitet werden, daher gibt es nur einen Kandidatenschlüssel {AC}.
Schritt 2: Primärattribute sind die Attribute, die in diesem Beispiel Teil des Kandidatenschlüssels {A, C} sind, während andere in diesem Beispiel Nicht-Primärattribute {B, D, E} sind.
Schritt 3: Die Relation R liegt in der 1. Normalform vor, da ein relationales DBMS keine mehrwertigen oder zusammengesetzten Attribute zulässt. Die Beziehung liegt in der 2. Normalform vor, da BC->D in der 2. Normalform vorliegt (BC ist keine echte Teilmenge des Kandidatenschlüssels AC) und AC->BE in der 2. Normalform vorliegt (AC ist der Kandidatenschlüssel) und B->E liegt in der 2. Normalform vor (B ist keine echte Teilmenge des Kandidatenschlüssels AC).
Die Beziehung liegt nicht in der 3. Normalform vor, da in BC->D (weder BC ein Superschlüssel noch D ein Primattribut ist) und in B->E (weder B ein Superschlüssel noch E ein Primattribut ist) sondern to Erfüllen Sie die dritte Norm, denn entweder die linke Seite eines FD sollte ein Superschlüssel oder die rechte Seite ein Primzahlattribut sein. Die höchste Normalform der Beziehung ist also die 2. Normalform.
Betrachten Sie beispielsweise die Beziehung R(A, B, C). A -> BC, B -> A und B sind beide Superschlüssel, sodass die obige Beziehung in BCNF vorliegt.
Dritte Normalform
Eine Relation liegt dann in der dritten Normalform vor, wenn es keine transitive Abhängigkeit für Nicht-Primärattribute gibt. Die Grundvoraussetzung für die Dritte Normalform ist, dass die Beziehung in der Zweiten Normalform vorliegen muss.
Nachfolgend ist die Grundbedingung aufgeführt, die in der nicht trivialen funktionalen Abhängigkeit X -> Y erfüllt sein muss:
- X ist ein Superschlüssel.
- Y ist ein Prime-Attribut (das bedeutet, dass ein Element von Y Teil des Kandidatenschlüssels ist).
Weitere Informationen finden Sie unter Dritte Normalform im DBMS.
BCNF
BCNF (Boyce-Codd-Normalform) ist nur eine erweiterte Version der dritten Normalform. Hier haben wir einige zusätzliche Regeln als die Dritte Normalform. Die Grundvoraussetzung dafür, dass eine Beziehung in BCNF vorliegt, ist, dass sie in der dritten Normalform vorliegen muss.
Wir müssen uns auf einige Grundregeln konzentrieren, die für BCNF gelten:
Mamta Kulkarni-Schauspielerin
1. Table must be in Third Normal Form. 2. In relation X->Y, X muss ein Superschlüssel in einer Beziehung sein.>
Weitere Informationen finden Sie unter BCNF im DBMS.
Vierte Normalform
Die vierte Normalform enthält außer dem Kandidatenschlüssel keine nicht triviale mehrwertige Abhängigkeit. Die Grundvoraussetzung für die vierte Normalform ist, dass die Beziehung in BCNF vorliegen muss.
Die Grundregeln sind unten aufgeführt.
1. It must be in BCNF. 2. It does not have any multi-valued dependency.>
Weitere Informationen finden Sie unter Vierte Normalform im DBMS.
Fünfte Normalform
Die fünfte Normalform wird auch als projizierte Normalform bezeichnet. Die Grundbedingungen der fünften Normalform sind unten aufgeführt.
Relation must be in Fourth Normal Form. The relation must not be further non loss decomposed.>
Weitere Informationen finden Sie unter Fünfte Normalform im DBMS.
Anwendungen von Normalformen in DBMS
- Datenkonsistenz: Normale Formen stellen sicher, dass die Daten konsistent sind und keine redundanten Informationen enthalten. Dies trägt dazu bei, Inkonsistenzen und Fehler in der Datenbank zu vermeiden.
- Daten Redundanz: Normalformen minimieren die Datenredundanz, indem sie Daten in Tabellen organisieren, die nur eindeutige Daten enthalten. Dadurch wird der für die Datenbank benötigte Speicherplatz reduziert und die Verwaltung vereinfacht.
- Reaktionszeit: Normale Formulare können die Abfrageleistung verbessern, indem sie die Anzahl der zum Abrufen von Daten erforderlichen Verknüpfungen reduzieren. Dies trägt dazu bei, die Abfrageverarbeitung zu beschleunigen und die Gesamtsystemleistung zu verbessern.
- Datenbankpflege: Normale Formulare erleichtern die Pflege der Datenbank, indem sie die Menge redundanter Daten reduzieren, die aktualisiert, gelöscht oder geändert werden müssen. Dies trägt dazu bei, die Datenbankverwaltung zu verbessern und das Risiko von Fehlern oder Inkonsistenzen zu verringern.
- Datenbank Design: Normalformen bieten Richtlinien für den Entwurf von Datenbanken, die effizient, flexibel und skalierbar sind. Dies trägt dazu bei, dass die Datenbank bei Bedarf problemlos geändert, aktualisiert oder erweitert werden kann.
Einige wichtige Punkte zu Normalformen
- BCNF ist frei von Redundanz, die durch funktionale Abhängigkeiten verursacht wird.
- Wenn eine Beziehung in BCNF vorliegt, ist auch 3NF erfüllt.
- Wenn alle Attribute einer Relation Primattribute sind, liegt die Relation immer in 3NF vor.
- Eine Relation in einer relationalen Datenbank liegt immer und mindestens in 1NF-Form vor.
- Jede binäre Beziehung (eine Beziehung mit nur 2 Attributen) befindet sich immer in BCNF.
- Wenn eine Relation nur Singleton-Kandidatenschlüssel hat (d. h. jeder Kandidatenschlüssel besteht nur aus einem Attribut), dann ist die Relation immer in 2NF (da keine partielle funktionale Abhängigkeit möglich ist).
- Manchmal bleibt die funktionale Abhängigkeit möglicherweise nicht erhalten, wenn man sich für die BCNF-Form entscheidet. In diesem Fall wählen Sie BCNF nur, wenn die verlorenen FD(s) nicht erforderlich sind, andernfalls normalisieren Sie nur bis 3NF.
- Es gibt viele weitere Normalformen, die nach BCNF existieren, wie 4NF und mehr. In realen Datenbanksystemen ist es jedoch im Allgemeinen nicht erforderlich, über BCNF hinauszugehen.
Abschluss
Zusammenfassend lässt sich sagen, dass relationale Datenbanken nach einer Reihe von Regeln angeordnet werden können, die in Normalformen genannt werden Datenbank Verwaltung (1NF, 2NF, 3NF, BCNF, 4NF und 5NF), die die Datenredundanz reduzieren und die Datenintegrität wahren. Durch die Auflösung verschiedener Arten von Datenanomalien und -abhängigkeiten erweitert jede nachfolgende Normalform die vorhergehende. Die jeweiligen Anforderungen und Eigenschaften der zu speichernden Daten bestimmen, welche Normalform verwendet werden sollte; Höhere Normalformen bieten eine strengere Datenintegrität, können aber auch zu komplizierteren Datenbankstrukturen führen.
Links zu Fragen zum Vorjahr
- GATE CS 2012, Frage 2
- GATE CS 2013, Frage 54
- GATE CS 2013, Frage 55
- GATE CS 2005, Frage 29
- GATE CS 2002, Frage 23
- GATE CS 2002, Frage 50
- GATE CS 2001, Frage 48
- GATE CS 1999, Frage 32
- GATE IT 2005, Frage 22
- GATE IT 2008, Frage 60
- GATE CS 2016 (Set 1), Frage 31
FAQs zur Normalform
F.1: Warum ist Normalisierung im DBMS wichtig?
Antwort:
Beispiele für Javascript-Beispielcode
Die Normalisierung trägt dazu bei, Datenbankanomalien zu verhindern, was letztlich die Konsistenz der Datenbank gewährleistet und zu einer einfachen Wartung der Datenbank beiträgt.
F.2: Ist es möglich, die Datenbank zu stark zu normalisieren?
Antwort:
Ja, eine übermäßige Normalisierung führt zu komplexen Abfragen und verringert auch die Leistung. Es schafft ein Gleichgewicht zwischen Normierung und Praktikabilität.
F.3: Ist es notwendig, eine Datenbank auf die höchste Normalform wie (BCNF oder 4NF) zu normalisieren?
Antwort:
Es gibt keine bestimmte notwendige Bedingung für eine Datenbanknormalisierung. Für eine bestimmte Leistung und Einfachheit kann oft eine niedrigere Form ausreichend sein.