Mitgliederverwaltung in die 3. Normalform bringen

I

isetux

(z.Bsp. MySQL) Mitgliederverwaltung in die 3. Normalform bringen

Hallo zusammen,

bei der Modellierung einer Relationalen Datenbank für eine Mitgliederverwaltung bin ich auf folgende Problematik gestoßen:

Es betrifft drei Tabellen, die ich so gut wie möglich versucht habe in die 3. Normalform zu bringen.

Mitglied(MitgliedNr, Name, Jahresbeitrag)
Rechnung(RechnungsNr, MitgliedNr, RechnDatum)
Position(PositionNr, RechnungNr, PositionBeschr, Betrag)

In der Tabelle Position gibt es ein Attribut "PositionBeschr". Da eine Position(Bsp. ein Artikel) immer wieder auftritt, und den gleichen Betrag haben wird, liegt es nahe dieses Attribut in eine eigenständige Tabelle "Kostenart" auszugliedern.

Kostenart(KostenartNr, Kostenart, Preis)

somit würde die Tabelle Position wie folgt aussehen:

Position(PositionNr, RechnungNr, KostenartNr)

Allerdings wird es eine Position geben, die abhängig vom Mitglied einen unterschiedlichen Jahresbeitrag aufweist.

Würde man hier in der Tabelle Position ein neues Attribut "Jahresbeitrag" erstellen?

Position(PositionNr, RechnungNr, PositionBeschr, Betrag, Jahresbeitrag)

Wenn man aber Rechnungen schreibt, die keinen Jahresbeitrag aufweisen, hat man ein leeres Feld im Attribut Jahresbeitrag! Würde dies dennoch der 3. Normalform entsprechen?

Für Euro Antworten bedanke ich mich im Voraus!
 
Zuletzt bearbeitet von einem Moderator:
Zurück