DBnormalizer

Tutorial


Relation eingeben

FDs/MVDs eingeben

Schema speichern

Neues Schema generieren

Generiere neues Schema mit Attributen

Algorithmen


Normalformen

1NF

Schema ist in 1NF, wenn alle Attribute atomar sind (trivial).

2NF

Schema ist in 2NF, wenn es in 1NF ist und für jedes Attribut b auf der rechten Seite gilt:
  1. b ist Teil eines Kandidatenschlüssels oder
  2. b ist nicht von einer echten Teilmenge eines Kandidatenschlüssels abhängig

3NF

Schema ist in 3NF, wenn jede FD α->β mindestens eine der folgenden Bedingungen erfüllt:
  1. α->β ist trivial (β⊆α)
  2. α ist Superschlüssel
  3. Jedes Attribut in β ist in einem Kandidatenschlüssel enthalten

BCNF

Schema ist in BCNF, wenn jede FD α->β mindestens eine der folgenden Bedingungen erfüllt:
  1. α->β ist trivial (β⊆α)
  2. α ist Superschlüssel

4NF

Schema ist in 4NF, wenn jede MVD α->>β mindestens eine der folgenden Bedingungen erfüllt:
  1. α->>β ist trivial (β⊆α oder α∪β = R)
  2. α ist Superschlüssel

Kanonische Überdeckung

1 Linksreduktion

Was kann ich links weglassen?

2 Rechtsreduktion

Was kann ich rechts weglassen?

3 α→∅ entfernen

FDs mit leerer rechter Seite entfernen

4 FDs zusammenfassen

FDs mit gleichen linken Seiten zusammenfassen

Synthesealgorithmus (überführt R in 3NF)

1 Kanonische Überdeckung

Bestimme die kanonische Überdeckung (s. oben)

2 Relationsschemata formen

Aus jeder FD der kanonischen Überdeckung entsteht eine neue Relation

3 Schlüssel hinzufügen

Füge ein neues Relationsschema mit einem Kandidatenschlüssel hinzu, falls keiner der Kandidatenschlüssel vollständig in einem Schema enthalten ist

4 Redundante Schemata eliminieren

Eliminiere Ra, wenn Ra ⊆ Ra'

Dekompositionsalgorithmus (überführt R in BCNF)

Initialisierung

Starte mit Z={R}

Solange es noch eine FD in einem Schema Ri ∈ Z gibt, die die BCNF verletzt

  • Zerlege Ri in
    • Ri1 = α ∪ β
    • Ri2 = Ri - β
  • Entferne Ri aus Z und füge Ri1 und Ri2 ein

Dekompositionsalgorithmus (überführt R in 4NF)

Initialisierung

Starte mit Z={R}

Solange es noch eine MVD in einem Schema Ri ∈ Z gibt, die die 4NF verletzt

  • Zerlege Ri in
    • Ri1 = α ∪ β
    • Ri2 = Ri - β
  • Entferne Ri aus Z und füge Ri1 und Ri2 ein