1
resposta

[Dúvida] Quando utilizar enum e como é salvo no banco de dados?

Quando utilizar enum e como os dados são salvos no banco, como tem o jpa, acho que abstrai, mas se eu tivesse que criar um banco com mysql, que estrutura é utilizada?

1 resposta

Como os dados de enum são salvos no banco?

  • Usando o tipo ENUM no MySQL

O MySQL suporta um tipo nativo chamado ENUM, que é uma ótima maneira de armazenar enums diretamente. Aqui está como funciona:

Estrutura no MySQL:

CREATE TABLE pedidos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    status ENUM('PENDENTE', 'EM_PROCESSO', 'CONCLUIDO') NOT NULL
);
  • Vantagens:

O MySQL armazena os valores como inteiros internamente (um índice que começa em 1), mas o valor real é exibido como string.

Valores inválidos não podem ser inseridos diretamente, o que ajuda a proteger os dados.

Usando um tipo STRING ou INT para enums

Se você quiser mais flexibilidade ou portabilidade entre bancos de dados, pode usar tipos como VARCHAR ou INT.

No código, você define um enum e usa os valores numéricos para armazenar os dados no banco.

  • Vantagens:

Independência do banco de dados. Facilita alterações no conjunto de valores. O banco armazena apenas inteiros, ocupando menos espaço.

  • Desvantagens:

Exige mais lógica no código para mapear os valores.