MudGuard: MySQL - Design Frage

Beitrag lesen

Hi,

Aber ich könnte doch auch eine Verknüpfungstabelle benutzen, auch wenn es keine n zu n Beziehung ist!?

Tabelle: Buchung
Felder: ID, Buchungsartikel, Anzahl

Tabelle: Buchungsart
Felder: ID, Name, usw...

Tabelle: Buchung_Buchungsart
Felder: BuchungID, BuchungsartID

Mit der Gefahr, daß einer Buchung dann auch mehrere Buchungsarten zugeordnet werden können.
Das könnte man zwar noch mit einem Unique-Constraint auf der BuchungID der Buchung_Buchungsart-Tabelle verhindern.

Aber es besteht auch die Gefahr, daß einer Buchung KEINE Buchungsart zugeordnet wird.
Bei einer Spalte in der Tabelle Buchung könnte man das per "NOT NULL" verhindern, aber bei Deinem Konstrukt?

So wäre jede Tabelle für sich und hätte keine zig ID Felder in sich.

Dafür gibt es dann zig Verknüpfungstabellen.

Und das schöne wäre wenn ich das immer so machen würde, das ich bei Dingen die neu dazukommen nicht mehr die bestehenden Tabellen ändern müsste.

Dafür mußt Du eine neue Verknüpfungstabelle einfügen.
Und was ist so tragisch daran, die bestehende Tabelle zu ändern?

Außerdem: wo vorher 1 Join gereicht hat, um zur Buchung den Namen der Buchungsart zu bekommen, brauchst Du jetzt 2 Joins.
Bei zig ID-Feldern hast Du dann statt zig joins zigzig joins, nämlich doppelt so viele.

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.