1. Normalform für relationales Datenbankmodell?

Hallo,

ich verstehe noch nicht so ganz, wie man die 1. Normalform einer Tabeller herausbekommt… habe zwei verschiedene Ideen:

http://www.ambigo.de/db-frage.gif

Wäre super, wenn mir jemand helfen könnte!

Vielen Dank,

Daniel

Da bist du ja eigentlich schon bei der 3. Normalform (wenn ich dein Augenpulver richtig interpretiere)…

Aber wie auch immer: „Löcher“ in der Form, dass sich eine Zeile durch Inhalte der Zeile „darüber“ oder „darunter“ erklärt, darf es in der Tabelle natürlich nicht geben - ganz unabhängig von irgendwelchen Normalformen!

Schau vielleicht auch mal hier: http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/cha…

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)

Hallo Reinhard,

nee als dritte Normalform würde ich das hier sehen:
Mitglieder (* MitglNr, Name, Adresse, Beitragsgruppe)
Fachgruppen (* FG, FGSprecher (FK) , FGZeitung)
FGMitglieder (* MitglNr (FK), * FG (FK))
Zeitungen (* Vereinszeitung, Vereinszeitungspreis)
Abonnements (* MitglNr (FK), * Vereinszeitung (FK))

und als zweite Normalform eine Tabelle, die aus folgenden Spalten besteht:
Mitgl.-Nr
Name
Adresse
Beitragsgruppe
FG Vereinszeitung
V-Zeitungspreis
FG-Zeitung
FG-Sprecher

Danke für den Link, hatte ich auch schon gefunden…

Daniel

Zweite Frage NORMALFORM
Hier nochmal eine Frage… wieder der Einfachheit halber als Bild, weil man hier einzelne Bilder nicht so schön einfügen kann:

http://www.ambigo.de/db-frage1.gif

Danke,

Daniel

Hi Daniel,

Deine Grafiken kann ich leider nicht enrziffern. Die Postings lassen mich vermuten, dass nicht ganz klar ist, was Normalformen sind und wozu sie dienen.

  1. NF: Die Attribute sind atomar, stellen also keine Wiederholgruppen oder Datengruppen dar.

  2. NF: Relation ist in 1. NF, außerdem: Attribute, die nicht im Schlüssel sind, hängen funktional vom Gesamtschlüssel ab, nicht aber von Teilen des Schlüssels.

3: NF: Relation ist in 2. NF, außerdem: Es gibt keine funktionalen Abhängigkeiten zwischen Attributen, die nicht im Schlüssel sind.

Sobald Relationen in der NF3 vorliegen, ist redundanzfreie Ablage gewährleistet. Höhere Normalformen sind eher von akademischem Intersesse, sie befassen sich mit der Fragestellung, ob sich aus Joins die ursprünglichen Daten wieder verlustfrei herstellen lassen.

Normalformen unterstützen den Entwurf redundanzfreier Datenstrukturen. Sprechweise: „Eine Relation ist in NF n, wenn…“

Zu Deinen Beispielen:

Fachgruppen (* FG, FGSprecher (FK) , FGZeitung)
Wozu hat die Fachgruppe den FGSprecher im Schlüssel?

Mitgl.-Nr
Name
Adresse
Beitragsgruppe
FG Vereinszeitung
V-Zeitungspreis
FG-Zeitung
FG-Sprecher

hat vermutlich den Schlüssel Mitgliedsnummer. Dann hat V-Zeitungspreis hier nichts verloren, weil er nicht vom Schlüssel abhängt, sondern von FG Vereinszeitung - Verstoß gegen NF3. Wo der FG-Sprecher herkommt, ist mir nicht klar.

Gruß Ralf

Hallo Ralf,

mir ist in der Tat nicht so ganz klar, wie ich die Unterschiede sehe…

  1. NF >> diese Definition habe ich schon oft gelesen, die konkrete Frage zielte darauf ab, wie ich dann die konkrete Anwendungs-Tabelle mit Daten fülle… wie das mit Wiederholungen ist… das war vor allem das Problem bei der Restaurantfrage.

Mehr als zur 3. NF brauch ich nicht - dass der Unterschied zwischen der 2. und 3. nur der Wegall der indirekten Abhängigkeiten (mir fällt der Begriff da grad nicht ein)

Zu deinem Einwand: der FGSprecher macht in der Tat keinen Sinn als Schlüssel, das unterstrichene ist also wegzudenken.

Den anderen Fehler, den du anmerkst, kann ich noch nicht nachvollziehen… Vereinszeitungspreis steht doch in der 3.NF in der Tabelle Vereinszeitungen und ist nur abhängig von der jeweiligen Zeitung…

Daniel

Moin Daniel,

mir ist in der Tat nicht so ganz klar, wie ich die Unterschiede sehe…

das ist ein philosophisches Problem: Sichtbar sind nicht die Normalformen, sondern nur die Verstöße gegen die NF.

die konkrete Frage zielte darauf ab, wie ich dann die konkrete Anwendungs-Tabelle fülle…

Ich würde hier lieber von Relationen als von Tabellen sprechen. Wenn ein Sachverhalt mehrmals gegeben ist, kann er nicht direkt beim Eigner untergebracht werden, sondern muss mit einer Beziehung in eine neue Relation ausgelagert werden.

…wie das mit Wiederholungen ist…

Wiederholungen sind ein Verstoß gegen die 1. NF, deshalb wird für die Wiederholgruppe eine eigene Relation erzeugt.

…der Wegall der indirekten Abhängigkeiten

transitiv

Vereinszeitungspreis steht doch in der 3.NF in der Tabelle Vereinszeitungen

eben deshalb gehört der Preis nicht nochmal in die Relation MITGLIED.

Gruß Ralf

Zusatz
Hi,

ich habe mir grade nochmal die „Tabelle in 2.NF“ angeschaut. Vielleicht reden wir hier aneinander vorbei: Eine Tabelle ist etwas, was in einer Dtaenbank abgelegt wird - ist Deine „Tabelle in 2.NF“ etwa nur eine Liste bzw eine View?

Gruß Ralf