Przykład pokazany przy użyciu PostgreSQL, ale inne RDBMS mają podobną składnię
To nieprawda. Nie jest to wymóg ISO/IEC/ANSI SQL, więc komercyjne bazy danych go nie zapewniają (powinno się zapewnić tabele przeglądowe). W małym końcu miasta wprowadzane są różne „dodatki”, ale nie wdrażaj bardziej rygorystycznych wymagań ani pomruków dużego końca miasta.
Nie mamy też ENUM jako części DataType, to absurd.
Pierwszą wadą ENUM jest to, że jest niestandardowa i dlatego nie jest przenośna.
Drugą dużą wadą ENUMów jest to, że baza danych jest zamknięta. Setki narzędzi raportów, których można używać w bazie danych (niezależnie od aplikacji), nie mogą ich znaleźć, a zatem nie mogą wyświetlać nazw/znaczeń. Jeśli masz normalną tabelę Standard SQL Lookup, ten problem został wyeliminowany.
Po trzecie, kiedy zmieniasz wartości, musisz zmienić DDL. W normalnej standardowej bazie danych SQL wystarczy wstawić/zaktualizować/usunąć wiersz w tabeli wyszukiwania.
Wreszcie, nie można łatwo uzyskać spisu zawartości ENUM; możesz z tabelą przeglądową. Co ważniejsze, masz wektor do wykonywania dowolnych zapytań typu „wymiar-fakt”, eliminując potrzebę wybierania z dużej tabeli faktów i grupowania według.