Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Posso usar essas atribuições de Enum?

Olá pessoal,

Estou criando a tabela utilizando o seguinte código:

create table sucos.tbProdutos (produto varchar(20), nome varchar(50), embalagem enum('garrafa', 'lata'), tamanho enum('30ml','50ml','250ml','500ml'), sabor enum('todo dia','casinha','da casa'), preco_tabela float)

Nesse contexto estou atribuindo ENUM para a embalagem, tamanho e sabor. Utilizo desta forma pois imagino uma situação onde a empresa realmente só tenha essas embalagens, tamanhos e sabores em seu portfólio. Utilizando ENUM não teríamos o risco de acrescentar um sabor que não seja fabricado. Está correto? Impacta no armazenamento e performance do banco de dados?

1 resposta
solução!

Boa tarde Luis!

Por experiência própria, definir os tipos dos campos de embalagem, tamanho e sabor como ENUM pode acabar atrapalhando muito a longo prazo, visto que mesmo que no início de uma empresa você possa ter poucas possibilidades, caso essa empresa expanda seus serviços você terá bastante dificuldade de manter uma estrutura onde cada vez que precisar adicionar uma nova possibilidade seja necessário utilizar um ALTER TABLE para adicionar um novo ENUM. Sendo assim, recomendo sempre utilizar uma tabela e fazer um relacionamento para esses dados.

Na questão de performance, não acredito que impacte tanto quando falamos de consultas simples, porém isso pode variar bastante conforme a dimensão e complexidade da sua consulta.

Espero ter ajudado, abraço!