logo

Zweite Normalform (2NF)

Die Erste Normalform (1NF) eliminiert nicht die Redundanz, sondern vielmehr, dass sie sich wiederholende Gruppen eliminiert. Anstatt mehrere Spalten derselben Art von Daten in einem Datensatz zu haben (0NF- oder nicht normalisierte Form), entfernen Sie die wiederholten Informationen in einer separaten Beziehung und stellen sie als Zeilen dar. Das ist es, was 1NF ausmacht.

Zweite Normalform

Die zweite Normalform (2NF) basiert auf dem Konzept der voll funktionsfähigen Abhängigkeit. Die zweite Normalform gilt für Beziehungen mit zusammengesetzten Schlüsseln, also Beziehungen mit einem Primärschlüssel, der aus zwei oder mehr Attributen besteht. Eine Relation mit einem Einzelattribut-Primärschlüssel liegt automatisch in mindestens 2NF vor. Eine Beziehung, die nicht in 2NF ist, kann unter den Aktualisierungsanomalien leiden. 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 Beziehung ist in 2NF, wenn sie keine partielle Abhängigkeit aufweist, d. h. kein Nicht-Primattribut (Attribute, die nicht Teil eines Kandidatenschlüssels sind) ist von einer echten Teilmenge eines Kandidatenschlüssels der Tabelle abhängig. Mit anderen Worten,

Eine Relation, die in der ersten Normalform vorliegt und jedes Nicht-Primärschlüssel-Attribut vollständig funktionell vom Primärschlüssel abhängig ist, liegt dann in der zweiten Normalform (2NF) vor.



Rekha-Indianer

Notiz - Wenn die richtige Teilmenge des Kandidatenschlüssels ein Nicht-Prime-Attribut bestimmt, wird es aufgerufen teilweise Abhängigkeit . Der Normalisierung von 1NF-Beziehungen zu 2NF beinhaltet die Beseitigung teilweiser Abhängigkeiten . Wenn eine teilweise Abhängigkeit besteht, entfernen wir die teilweise abhängigen Attribute aus der Beziehung, indem wir sie zusammen mit einer Kopie ihrer Determinante in eine neue Beziehung einfügen. Betrachten Sie die unten aufgeführten Beispiele.

Beispiel 1: Betrachten Sie die folgende Tabelle.

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-Primär-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

Wer ist Freddie Mercury?
   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  2 C5>

Notiz - 2NF versucht, die redundante Speicherung von Daten im Speicher zu reduzieren. Wenn beispielsweise 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]>

Antwort:

Zunächst können wir prüfen, ob teilweise Abhängigkeiten vorliegen. Eine teilweise Abhängigkeit liegt vor, wenn ein Nicht-Primärattribut (das nicht Teil eines Kandidatenschlüssels ist) nur von einem Teil eines Kandidatenschlüssels abhängt.

Array-Liste sortieren Java

Die Kandidatenschlüssel für die Beziehung R können bestimmt werden, indem der Abschluss jedes Attributs ermittelt wird:

AB bestimmt alle Schlüssel.

Lassen Sie uns nun nach teilweisen Abhängigkeiten suchen:

In dieser Beziehung gibt es keine partiellen Abhängigkeiten, da jedes Nicht-Primattribut (C und D) von den gesamten Kandidatenschlüsseln abhängt, zu denen es gehört (AB bzw. BC).

Daher liegt die Relation R bereits in der 3. Normalform (3NF) vor, da sie die Bedingungen der 1. Normalform (1NF) und der 2. Normalform (2NF) erfüllt und keine transitiven Abhängigkeiten aufweist.

Abschluss

Zusammenfassend lässt sich sagen, dass 2NF ein grundlegendes Konzept der Datenbanknormalisierung ist, das dabei hilft, teilweise Abhängigkeiten in Ihrer relationalen Datenbank zu beseitigen. Das Befolgen der 2NF-Regeln hilft bei der Organisation Ihrer Datenbank, um Anomalien zu vermeiden und die Datenintegrität sicherzustellen, was das Speichern und Abrufen von Daten erleichtert.

Java-Lokaldatum