Chrisi: MySQL ENUM Ersatz

Beitrag lesen

Hallo EKKi,

Genau - und wenn dann irgendwann der nächste Adressdatensatztyp dazukommt, passt Du einfach die Tabelle und alle Abfragen, Skripte und Programme an - ist ja schnell gemacht ...

Mir ist da noch was eingefallen :)

Ich habe 4 Tabellen:

kunden
adressen
adressen_typen
rechnungen

-> Jede Rechnung gehört zu einem Kunden
-> Es soll optional eine abweichende Lieferadresse auf der Rechnung ermöglicht werden

Jetzt habe ich mir das so ausgemalt das ich eine Tabelle für die AdressTypen anlege und in der Tabelle Adressen immer den Typ merke. Aber was mache ich in der Tabelle für die Rechnungen wenn es eine Rechnungs- und eine Lieferadresse geben soll die beide auf eine andere id_adressen verweisen?

Tabelle rechnungen
  -> id, id_adressen_invoice?, id_adressen_shipping?, ...

In den Spalten den Typ zu setzen ist vermutlich genauso falsch wie den Typ fest bei den Adressen zu speichern.

Ein anderer Ansatz über die, Tabelle adressen
  -> id, groupid, typ, ...

Macht es Sinn hier noch eine weitere id "groupid" oder sowas zu nutzen um grundsätzlich die versch. AdressenTypen die zusammengehören zu gruppieren?
Somit müssten in der Tabelle adressen immer soviele versch. Adressdatensätze zu finden sein wie es versch. Adresstypen gibt.

Hat sich hierzu schonmal jemand Gedanken gemacht?

Viele Grüße und Danke
Chrisi