Ir para conteúdo

Arquivado

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

Rodrigo Attique

Programar reaproveitando dados do DB

Recommended Posts

Bom dia todos, sou novo no forúm e em programação, creio que estou postando no lugar certo.

Estou desenvolvendo um sistema de cadastro de entidades(cliente, funcionario, fornecedor, prestador de serviço).

 

Criei uma tabela pessoa onde armazeno os dados base, ela recebe fk de uma tabela de endereço fisico, e outra de endereco eletronico.

Outras duas tabelas de pessoa fisica e juridica herdam da tabela pessoa, o cliente herda das duas tabelas, junto com fornecedores e prestadores, a tabela de funcionario herda somente de pessoa juridica.

 

A duvida é como eu posso fazer isto em software, eu criei um formulario de cadastro pra cada uma delas mas e se meu cliente for ao mesmo tempo meu funcionario ou meu fornecedor?

 

segue o ddl do banco:

 

https://docs.google.com/file/d/0B-ePP9fQJjTfamd2OWxhdUhJamc/edit

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o modo como você desenvolveu o banco esteja errado, o cliente não herda nada, ele define o que vai ser, ou seja, você teria uma fk de código para fornecedor ou funcionário, por exemplo, na tabela haveria um campo dizendo se ele é ou não funcionário e se é ou não fornecedor, pode-se usar boolean para isso, e se sim você preenche um campo na aplicação com o código do fornecedor ou do funcionário, assim você atrela o cliente e os outros dois dados do bd, ainda deixando possível para que, se o cliente não for nem fornecedor e nem funcionário, ele ainda possa ser cadastrado sem essas duas propriedades, assim como os fornecedores e funcionários seriam cadastrados separadamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você monta tres tabelas independentes, uma para cada tipo, e a do cliente recebe uma fk não obrigatória de fornecedor e funcionário. Caso o cliente seja fornecedor, você vai preencher a ficha do fornecedor e a do cliente, o mesmo vale para funcionário, assim você pode cadastrar todos os dados separadamente.

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.