Auflösung von Datenbanken

DerAskTyp

Mitglied
Hallo, ich weis das man m:n Beziehungen auflösen kann indem man eine Zwischentabelle erstellt.

1)MUSS ich eine 1:n Beziehung auflösen? Wikipedia steht das dort eine Zwischentabelle erstellt wird, aber in anderen Seiten steht es wird aufgelöst.. Daher bin ich gerade etwas verwirrt..
 
Bei einer 1:n-Beziehung kannst du an sich ohne Zwischentabelle auskommen. Wenn solch eine Beziehungsinstanz in deinem Anwendungskontexts nur spärlich vorkommt (jedes Auto hat einen Besitzer - spärlich wäre genau das Gegenteil), kannst du eine Zwischentabelle in Erwägung ziehen. Denn statt vieler NULLs in den Attributwerten werden nun nur noch für tatsächlich existierende Beziehungsinstanzen Datensätze angelegt. Auf der anderen Seite brauchst du dann aber wieder einen zusätzlichen JOIN.

Meines Erachtens fällt der Nachteil der NULL-Werte nur bei sehr vielen Datensätzen ins Gewicht, sodass du normalerweile die Lösung ohne Zwischentabelle benutzen kannst/sollst.
 
Wie sollte denn eine solche Auflösung aussehen? :confused:

Ohne Zwischentabelle:
Code:
Tabelle Autos ("jedes Auto hat höchstens einen Besitzer")
id | Autoname | Besitzer
---------------------
1 | Ford Fiesta | 2
2 | Audi A8 | 3
3 | Opel Corsa | 3

Tabelle Besitzer
id | Name
2  | ComFreek
3  | HonniCilest

Mit Zwischentabelle:
Code:
Tabelle Autos
id | Autoname
---------------------
1 | Ford Fiesta
2 | Audi A8
3 | Opel Corsa

Tabelle Autos_Besitzer (Auto_id sollte PRIMARY KEY sein)
Auto_id | Besitzer_id
-----------------------
1 | 2
2 | 3
3 | 3

Tabelle Besitzer
------------------
id | Name
2  | ComFreek
3  | HonniCilest
 

Neue Beiträge

Zurück