mercredi 27 mai 2015

MySQL Generalisierung / Spezialisierung wie implementieren?

Hallo Leute,

Angenommen ich habe ein ER Diagramm, mit einer Spezialisierung von Benutzern.

Nämlich: Ein Benutzer kann sein: ein Kunde, oder ein Administrator.
(jeweils 1:1 Beziehung)

Wo ich scheitere ist jedoch, wie ich das in der DB dann tatsächlich implementieren soll... zumal das ganze zB erweiterbar sein soll (z.B. soll Benutzer später auch ein Moderator sein können, mit anderen spezifischen Attributen)

Lösungsansatz:
a ) Wenn ich eine große Tabelle erzeuge mit einer Spalte "art" und da jeweils dann "admin" oder "kunde" eintrage, habe ich einige leere Felder von den anderen Spezialisierungen und bei einfügen von neuen Arten bläht sich die Tabelle schnell auf.

b ) 3 Tabellen (Benutzer, Kunde, Administrator)
Die Spezialisierungen (Kunde, Administrator) erhalten jeweils den Primary Key von Benutzer als deren PK.
Kommt mir aber eher nachteilbehafteter als a) vor, denn:
* Herausfinden welche Art Benutzer es denn jetzt ist, wird sehr umständlich

Hat hier eventuell ein Profi einen Tipp, wie man das ganze in der Praxis umsetzt?

Hoffe auf schnelle Antworten!


MySQL Generalisierung / Spezialisierung wie implementieren?

0 commentaires:

Enregistrer un commentaire