Datenbanknormalisierung

brabbit14

Grünschnabel
Hallo Leute, ich komme bei folgender Aufgabe nicht weiter:

Normalisierung aus folgenden Angaben (mind. 6 Tabellen):
Vorname
Nachname
Geburtsdatum
Geschlecht
Straße
Hausnummer
Ort
PLZ
Land
Länderwahl
ISO 3166

ich hatte bisher schon angefangen:

tbl_kunde
kunden_ID
vorname
nachname
geburtsdatum

tbl_geschlecht
geschlecht_ID
geschlecht

tbl_adresse
adressen_ID

...

wie verknüpfe ich jetzt die Tabellen vernünftig miteinander ? (3NF)
Gruß
 
Das ist eine Aufgabe von meinem Ausbilder... Ob das Sinn macht, ist mal dahin gestellt. Kannst du mir bitte bei der Normalisierung helfen? :) Wäre Dir sehr sehr dankbar
 
Ich bin dir ja am Helfen, aber ich geb dir keine Lösungen - du musst es lernen, nicht ich.
Hat der Ausbilder dir gesagt, dass die Adressen in eine eigene Tabelle kommen?
 
Hi,

welche Tabellen würdest du ausm Bauch heraus denn erstellen? Ganz wichtig bei der Normalisierung ist ja, dass dadurch Redundanzen vermieden werden. Welche Daten könnten denn mehrfach drin stehen?

Grüße,
BK
 
Moin, ich würde für das Geschlecht, Ort und Land jeweils eine Tabelle erstellen, da sowohl das Geschlecht, der Ort und das Land häufiger auftreten kann.

Nachtrag: für die ISO 3166 (Länderziffer) würde ich ebenfalls eine Tabelle erstellen
 
Gut. Und geau deshalb habe ich geschrieben, das Adresse nicht inbedingt eine geeignete Tabelle ist.

Deine Auflistung ist nicht schlecht. Aber es gibt noch mehr...
 
Hi,

wenn du eine Tabelle "Land" hast, dann brauchst du keine extra Tabelle für die Länderziffer, da beide ja einmalig sind.

Also quasi zusammengefasst:
Land
------
-id
-bezeichnung
-iso3166
-vorwahl

Somit hast du die erste Tabelle schon mal fertig, die kannst du nicht mehr weiter zerlegen. Ganz wichtig bei Software Architektur: Nicht einfach blind alles zerlegen was geht, wichtiger ist die Begründung, warum du das so und nicht anders machst.
Wenn du die ISO3166 in eine extra Tabelle auslagerst, dann hast du einen JOIN mehr, was bei einer 1:1 Beziehung ohne zusätzliche Felder einfach überflüssig ist.

Wie würdest du jetzt weitermachen?

Grüße,
BK
 
Ich hab jetzt folgende Lösung erstellt (siehe Screenshot)

Gerne Verbesserungsvorschläge geben!
 

Anhänge

  • 2014-02-03_10h58_17.png
    2014-02-03_10h58_17.png
    14,1 KB · Aufrufe: 12

Neue Beiträge

Zurück