Obecně ENUM
typy nejsou určeny k použití v těchto situacích. To platí zejména v případě, že máte v úmyslu zajistit flexibilitu přidávání nebo odebírání rolí v budoucnu. Jediný způsob, jak změnit hodnoty ENUM
je s ALTER TABLE
, zatímco definování rolí v jejich vlastní tabulce bude jednoduše vyžadovat nový řádek v roles
tabulka.
Navíc pomocí roles
tabulka umožňuje přidat další sloupce pro lepší definici role, jako je description
pole, které jste navrhli v možnosti 1. Toto není možné, pokud byste použili ENUM
zadejte jako v možnosti 2.
Osobně bych se nerozhodl pro ENUM
v těchto scénářích. Možná vidím, že se používají pro sloupce s naprosto konečnou sadou hodnot, jako je {Spades, Hearts, Diamonds, Clubs}
k definování barvy karty, ale ne v případech, jako je tento, kvůli nevýhodám zmíněným výše.