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.