Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sérgio Toledo

Qual vantagem de se criar tabela à parte

Recommended Posts

Olá a todos!

 

Estou criando um banco de dados e em uma tabela Produtos terei um campo para o Estado do produto que terá as opções: Novo, Semi-novo, Usado, Danificado.

 

Minha dúvida é se eu faço um campo varchar para inserir este valor, ou se crio outra tabela Estado_produto com estes valores e na tabela Produtos coloco uma chave estrangeira apontando para a chave primária desta tabela Estado_produto.

 

Qual a vantagem de se usar o 1º e segundo método.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Suponha que apareça um novo estado .... "em conserto" , como seu sistema trataria isto !?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Motta,

 

Neste caso de ter um novo estado seria melhor ter uma outra tabela então?

Pois assim seria só adicionar este novo campo na tabela?

 

Embora as opções também poderiam ficar em um List Box no html do form e no caso de entrar um novo estado eu apenas adicionaria esta nova opção.

 

Ainda estou confuso, sempre trabalhei com banco de dados bem simples e com poucos relacionamentos mas agora estou modelando um banco maior com várias tabelas e gostaria de fazer uma modelagem de dados bacana pra não me perder depois. Depois que tirar minhas dúvidas e criar a estrutura do banco, eu posto aqui para uma avaliação do pessoal mais craque no assunto.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A questão básica em casos como este é responder a pergunta

 

Isto pode mudar ?

 

Só recomendo manter domínios (lista fechada) se tiver certeza 100% que não vai mudar, o MySql tem um tipo para isto (ENUM)

 

Fora isto o melhor é criar uma tabela de "tipagem" , o ponto ruim que é preciso um join para obter o campo descritivo.

 

Questão de pesar em tempo de projeto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Domínios" só pra coisas muito localizadas, sem possibilidade de mudança e que não se "espalhe" pelo Sistema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal Motta e Roberto, está clareando mais a situação.

 

Vou optar pela criação da tabela Estado_produto.

 

Neste caso me surgiu mais uma dúvida boba:

Para esta nova tabela é aconselhável ter também um ID como primary key e auto_increment ou apenas os campos ID_produto (como chave estrangeira) e Estado_concervacao (com a descrição do estado) já são o suficiente?

 

Abraços e obrigado pelas explicações.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria a chave da Estado como char(2)

 

 

cod_estado char(2)
desc_estado varchar(50)

 

NV Novo, SN Semi-novo, US Usado, DN Danificado

Pois o código já "diz" alguma coisa, só crie como PK

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.