Bei dem Entwurf der Datenstruktur werden die notwendigen Daten abgeleitet, zu Gruppen (Tabellen) zusammengefasst und deren Beziehungen zueinander definiert.
Dabei sollte jede Redundanz (mehrfache Speicherung derselben Information) vermieden werden
Der Vorgang, eine Tabelle derart zu aufzuteilen, dass keine redundanten Daten mehr gespeichert werden, heißt Normalisierung.
In Datenbanksystemen werden die Dateien Tabellen genannt. Die durch die Normalisierung entstandenen Tabellen müssen wieder miteinander in Beziehung (Relation) gesetzt werden.
Dabei unterscheidet man 3 Arten von Beziehungen.
1. Die 1:N Beziehung:
Jedem Datensatz der Haupttabelle können beliebig viele Datensätze in der verknüpften Detailtabelle zugeordnet werden.
Angenommen, man wollte die Beziehung zwischen den KFZ und deren Besitzer speichern. Beispielsweise hätte die Firma "Wüstenrot" 3 KFZ, dann würden dem Datensatz "Wüstenrot" der Besitzer-Tabelle (Haupttabelle) 3 Datensätze der KFZ-Tabelle (Detailtabelle) zugeordnet werden.
Um in der Praxis leicht feststellen zu können, welche die Haupttabelle und welche die Detailtabelle ist, merke man sich einfach folgende Aussage:
Ein (1) Besitzer kann mehrere (N) Autos haben, aber ein Auto hat nur einen Besitzer. Daher ist die Besitzer-Tabelle die Haupttabelle.
Diese Art von Beziehung ist die am häufigsten verwendete Beziehung Typische Beispiele sind:
Haupttabelle Detailtabelle
Kunde
Auftrag 1
Auftrag N
Firma
Mitarbeiter1
Mitarbeiter N
Um eine 1:N Relation zu bilden, muss in der Haupttabelle ein Feld als Primärschlüssel definiert sein. Dieses Datenfeld dient als Verbindungsfeld, und muss auch in der Detailtabelle (dort jedoch keinesfalls als Primärschlüssel) definiert werden.
Beispielsweise wird das Feld Kundennummer verwendet, um die Haupttabelle "Kunden" mit der Detailtabelle "Auftrag" zu verknüpfen. Dieses Feld muss in beiden Tabellen vorhanden sein, und ist lediglich in der Tabelle "Kunden" als Primärschlüssel definiert.
2. Die 1:1 Beziehung
In diesem Fall ist immer nur ein Datensatz der Haupttabelle mit einem Datensatz der Detailtabelle verknüpft. Diese Art von Beziehung ist in der Praxis eher selten anzutreffen, da oftmals kein Grund für eine Normalisierung (Zerlegung in Einzeltabellen) besteht.
Sinnvoll ist diese Verknüpfung z.B., wenn nicht jedem Datensatz der Haupttabelle ein Datensatz der Detailtabelle zugeordnet wird.
Beim obigen Beispiel müsste man einen "Besitzer" als einen Besitzer eines Führerscheins definieren. Dann würde eine 1:1 Beziehung bedeuten, dass ein Führerscheinbesitzer nur ein Auto haben kann. Viele Führerscheinbesitzer haben jedoch kein Auto. In diesem Fall kann durch die Definition einer 1:1 Beziehung viel Speicherplatz gespart werden, da der Platz nur dann benötigt wird, wenn ein Führerscheinbesitzer auch ein Auto besitzt.
Auch hier dient ein Datenfeld für die Verknüpfung der Datensätze. Dieses Datenfeld muss in der Haupttabelle als Primärindex definiert sein.
1 : 1
Abb. Definition von Beziehungen unter MS-ACCESS
3. Die N:M Beziehung:
Diese Art von Beziehung ist schwierig zu definieren, und wird daher in der Praxis nicht sehr häufig verwendet.
Ein Beispiel für eine N:M Relation ist die Verknüpfung einer Lehrertabelle mit einer Schülertabelle. Hier unterrichtet zwar ein Lehrer eine bestimmte Anzahl von Schülern. Jedoch wird ein Schüler wiederum von unterschiedlichen Lehrern unterrichtet.
Einige Datenbanksysteme bieten Möglichkeiten um diese Relation zu verwalten, bei vielen muss eine andere Lösung gefunden werden. So könnte z.B. das obige Beispiel durch die Einführung einer weiteren Tabelle für die Unterrichtsfächer gelöst werden.
Dies soll am Beispiel \"Gebrauchtwagenbörse\" demonstriert werden:
1. Bilden von Tabellen:
2. Erarbeiten der Satzstrukturen
Kurzname z 15 Marke z 15
Mitgliedsnr. z 5 Type z 10
Name z 35 Baujahr z 4
Straße z 20 Farbe z 10
Plz z 6 KM n 6
Ort z 20 Anzahl Vorbesitzer n 2
Telnr. z 12 Kurznamen
Telex z 12 Händler n 15
Faxnr: z 12 letzter Besitzer n 15
Mitglied seit d 8 Zustand z 1
Provisionssatz n 4,2 Einkaufspreis n 7
Verkaufspreis n 7
Statistik je Monat Datum Einkauf d 8
Anzahl n 4 Art z 8
Umsatz n 7 laufende NR n 4
Deckungsbeitrag n 7
Provision n 7
Lagerwert n 7
3. Definition der Schlüsselbegriffe und Verbindungen:
* Händlertabelle:
- Kurzname primär (=eindeutig)
- Mitgliedsnr. primär (=eindeutig)
* KFZ Tabelle:
- Marke + Type + Farbe sekundär (kann mehrfach vorkommen)
- Marke + Verkaufswert sekundär
- Art + Verkaufswert sekundär
- Art + Farbe sekundär
- laufende Nummer primär
Als Verbindung zwischen der KFZ und Händlertabelle dient der Kurzname des Händlers.
|