Re: ER Modellierung
6. Nov 2006, 07:56
Eine Sache solltes Du nie(!) machen: Tabellen über externe 'Nummern' verknüpfen. Du solltest in der Tabelle Buchungen keine Kontonummer eintragen, sondern eine 'KontoID'. Diese KontoID verweist auf eine Tabelle 'Buchungskonten'. Dort steht neben der KontoID (irgeneine eindeutige Nummer) auch die Kontonummer und weitere Informationen drin.
Weiterhin enthält die Tabelle eine 'MandantenNr', eine 'GeschäftsfallNr', eine 'Referenz-Nr' und eine 'Vertrags-Nr'. Wenn es sich bei diesen Nummern nicht nur um ein belangloses Merkmal handelt, sondern sich auf andere Objekte bezieht ('Mandanten' sind Objekte, Geschäftsfälle, Veträge und Referenzen u.U. auch) gilt für dies Nummern das Gleiche.
Ich glaube aber, das Dir das klar ist, weil Du diese 'ID'-Geschichte ansonsten durchziehst.
Desweiteren solltest Du dir jetzt schon Gedanken über die Nomenklatur der Tabellen und der -Felder machen. Es gibt verschiedene Ansätze, ich mache es so:
1.Jede Tabelle bekommt einen eindeutigen 2- oder 3-Buchstabigen Präfix. ('Bch' für Buchungen z.B., 'Knd', für Kunden etc.). Andere nehmen hier gleich den Tabellennamen. Ich bin schreibfaul, also 2-3 Buchstaben.
2.Jedes Feld besteht aus dem Präfix sowie der Beschreibung des Inhaltes. Die Kundennummer wäre dann z.B. 'KndNummer', der Name 'KndName' etc.
3.Felder mit semantisch gleichem Inhalt ('Nummer', 'Name', 'Beschreibung') heißen in den Tabellen auch gleich (Natürlich mit dem Präfix der Tabelle). Also ist die Kundennummer die 'KndNummer', die 'Buchungsnummer' die 'BchNummer', die Mandantennummer (wenn es eine Tabelle 'Mandanten' gibt) 'MndNummer' etc.
4.Die Primary-Keys heissen immer '<Präfix>ID', also z.B. 'KndID', 'BchID' etc.
5.Fremdschlüssel bilden die Außnahme: Sie heißen genauso, wie der Primary Key der referenzierten Tabelle.
Es gibt, denke ich, mindestens so viele Benennungssysteme wie Programmierer, insofern kannst Du dir etwas eigenes Ausdenken. Ich bin mit dem o.g. Schema aber immer sehr gut gefahren, denn man lernt die Präfixe schnell auswändig und muss bei den Standardfeldern nicht mehr nachschauen, wie die denn nun heißen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
|