Easy Coding
  Forum Wiki Tagging Projekte Karte RSS
» Start
» All Recent Changes
» Wiki Suche
» Wiki Hilfe

Informationen

How To's Algorithmen

edit SideBar

Neue Wiki Eintrage finden Sie unter easy-coding.de/wiki.

Zweite-Normalform

Eine Relation ist in zweiter Normalform, wenn die erste Normalform vorliegt und alle Nichtschlüsselattribute von jedem Schlüsselkandidaten voll funktional abhängig sind.

Einfacher gesagt: Alle nicht primären Attribute (nicht Teil des Schlüssels) sind vom ganzen Schlüssel abhängig, nicht von nur einem Teil des Schlüssels. (Genau das ist die „voll funktionale Abhängigkeit“: Ein Attribut ist vom ganzen Schlüssel abhängig.)

Diese informelle Definition kann wie folgt präzisiert werden:

Eine Relation ist genau dann in zweiter Normalform, wenn sie

  1. in der ersten Normalform ist und
  2. für jeden Schlüsselkandidaten (Key Candidate, KC) und jedes Attribut a der Relation gilt:
    • a gehört zu KC oder
    • a ist nicht von einer Teilmenge von KC abhängig.

Man sagt: a ist voll funktional abhängig von jedem Schlüsselkandidaten (wobei der Schlüsselkandidat KC auch durch die Kombination mehrerer Attribute gebildet werden kann).

Praktisch wird Datenredundanz und die damit einhergehende Gefahr der Dateninkonsistenz durch Anomalien behoben (aber nur teilweise, siehe spätere Normalformen). Nur logisch zusammenhängende Daten finden sich in einer Relation. Dadurch fällt das Verständnis der Datenstrukturen leichter.

  • 1NF und zusätzlich nur voll funktional abhängige Nicht-Schlüssel-Attribute
  • Schlüsselkandidaten legen Werte anderer Attribute fest
  • Attribute nicht abhängig von Teilen des Schlüssels
  • Relationen mit ausschließlich einelementigen Schlüsselkandidaten sind automatisch in 2NF

Beispiel

  • Autor funktional abhängig von ISBN
  • {ISBN} -> {Autor}
  • Relation ist nicht in 2NF

Links

Zuletzt geändert am 11.03.2007 20:05 Uhr
  Impressum