Normalisierung

08/11/2007 - 09:34 von Olaf Matthies | Report spam
Hallo, alle zusammen,

ich habe eine Frage zum sinnvollen Design einer Datenstruktur unter
Berücksichtigung der Normalisierung aber auch des praktischen Nutzens.

Verwaltet werden die Einstellungen, die ein Benutzer beim Ausdruck eines
Angebots, Projekts, Rechnung, Gutschrift oder àhnlichem macht, damit
diese beim erneuten Aufruf eines Ausdrucks des gleichen Belegs als
Vorgabe geladen werden können. Ziel ist es, den gleichen Ausdruck ohne
Aufwand erneut erzeugen zu können.

Ich lege also zunàchst eine Tabelle an, in der ich alle benötigten
Kopfdaten der Belege erfasse (wie Adresse, Datum, Kopf- und Fußtexte)
und eine weitere, in der ich die ensprechenden Belegzeilen ablege, die
auf die Kopftabelle referenziert. In der Kopf-Tabelle ergànze ich einen
Belegkenner, damit ich diese für jeden Belegtyp verwenden kann.

Nun gibt es aber auch Kopfdaten, die nicht für alle Belegtypen benötigt
werden. Und nun kommt mein Anliegen: Sollten diese belegspezifischen
Kopfdaten in separaten Tabellen abgespeichert werden (so würde ich es im
Sinne der Normalisierung verstehen), oder in der bestehenden Kopftabelle
einfach ergànzt werden ?

Im ersten Fall könnten dann eine Reihe zusàtzlicher Kopfdatentabellen
entstehen, die zwischen 1 und 10 Feldern haben könnten.

Im zweiten Fall würden in der gemeinsamen Kopftabelle Felder entstehen,
die nicht für jeden Datensatz genutzt werden.

Theoretisch würde ich zum ersten Ansatz tendieren, auch wenn darunter
die Übersichtlichkeit über alle Tabellen leidet. Praktisch habe ich
jedoch eine gewisse Scheu davor, für ein oder zwei Felder eine Tabellen
anzulegen, wenn ich diese einfach an eine andere anfügen kann.


Schöne Grüße

olec
 

Lesen sie die antworten

#1 Mark Doerbandt
08/11/2007 - 09:51 | Warnen spam
Hallo, Olaf,

Olaf Matthies:

Nun gibt es aber auch Kopfdaten, die nicht für alle Belegtypen benötigt
werden. Und nun kommt mein Anliegen: Sollten diese belegspezifischen
Kopfdaten in separaten Tabellen abgespeichert werden (so würde ich es im
Sinne der Normalisierung verstehen), oder in der bestehenden Kopftabelle
einfach ergànzt werden ?



so wuerde ich es machen - zusaetzliche Tabellen in 1:1-Beziehung zum
Hauptdatensatz.

Theoretisch würde ich zum ersten Ansatz tendieren, auch wenn darunter
die Übersichtlichkeit über alle Tabellen leidet.



Die Uebersicht ueber die Tabellen muss in erster Linie das DBMS
halten! Du als Entwickler kannst Dir ja Hilfsmittel wie Diagramme
schaffen. Der Anwender merkt davon ja nix.

Gruss - Mark

Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beitràge senden.

Ähnliche fragen