Příklad zobrazený pomocí PostgreSQL, ale ostatní RDBMS mají podobnou syntaxi
To je nesprávné. Není to požadavek ISO/IEC/ANSI SQL, takže komerční databáze jej neposkytují (vy byste měli poskytnout vyhledávací tabulky). Malý konec města implementuje různé "vymoženosti", ale neimplementuje přísnější požadavky nebo grunt z velkého konce města.
Nemáme ani ENUM jako součást DataType, to je absurdní.
První nevýhodou ENUM je to, že je nestandardní, a proto není přenosný.
Druhou velkou nevýhodou ENUM je, že databáze je uzavřená. Stovky nástrojů sestav, které lze použít v databázi (nezávisle na aplikaci), je nemohou najít, a proto nemohou zobrazit názvy/významy. Pokud jste měli normální standardní vyhledávací tabulku SQL, tento problém je eliminován.
Třetí je, když změníte hodnoty, musíte změnit DDL. V normální standardní databázi SQL jednoduše vložíte/aktualizujete/smažete řádek ve vyhledávací tabulce.
Konečně nemůžete snadno získat seznam obsahu ENUM; můžete pomocí vyhledávací tabulky. Ještě důležitější je, že máte vektor, se kterým můžete provádět jakékoli dotazy Dimension-Fact, čímž odpadá nutnost vybírat z velké tabulky faktů a GROUP BY.