As vantagens dos enums são:
- O desempenho é melhor. Você pode apenas exibir o que obtém da tabela principal em vez de ter uma tabela de pesquisa separada que traduz um código em um valor ou ter uma lógica de aplicativo que traduz um código em um valor. Isso pode ser especialmente útil em aplicativos de datawarehouse.
- Ad hoc SQL é mais fácil de escrever
As desvantagens são:
- Codificar valores de exibição em seu banco de dados ddl é uma forma incorreta. Se você traduzir o valor enum em um valor de exibição diferente no código do seu aplicativo, perderá muitas das vantagens de usar enums.
- Adicionar valores requer alterações de DDL
- Dificulte a localização do idioma
- A portabilidade do banco de dados é reduzida