Im Allgemeinen ENUM
-Typen sollten in diesen Situationen nicht verwendet werden. Dies ist insbesondere dann der Fall, wenn Sie beabsichtigen, zukünftig Rollen flexibel hinzuzufügen oder zu entfernen. Die einzige Möglichkeit, die Werte eines ENUM
zu ändern ist mit einem ALTER TABLE
, während die Definition der Rollen in ihrer eigenen Tabelle einfach eine neue Zeile in roles
erfordert Tabelle.
Zusätzlich die Verwendung der roles
In der Tabelle können Sie zusätzliche Spalten hinzufügen, um die Rolle besser zu definieren, wie z. B. die description
Feld, das Sie in Option 1 vorgeschlagen haben. Dies ist nicht möglich, wenn Sie ein ENUM
verwenden würden wie in Option 2 eingeben.
Ich persönlich würde mich nicht für ein ENUM
entscheiden in diesen Szenarien. Vielleicht kann ich sehen, dass sie für Spalten mit einem absolut endlichen Satz von Werten verwendet werden, wie zum Beispiel {Spades, Hearts, Diamonds, Clubs}
um die Farbe einer Karte zu definieren, aber nicht in Fällen wie dem fraglichen wegen der oben erwähnten Nachteile.