Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Duvida Herança - Modelagem, Inserção e Remo


joao1245

Pergunta

Boa Tarde Pessoal, tudo bem!!



Gostaria de saber se alguém com bons conhecimentos de modelagem de banco de dados poderia me ajudar.



É o seguinte, no projeto que estou modelando terei produto,fabricante e fornecedor, sendo que um fabricante pode ser fornecedor também.

Criei então uma relação de herança:



Pessoa -----> Fabricante, Pessoa -------> Fornecedor.



No modelo ER ficou assim:


Produto(id,categoria, descricao, modelo, unidade,qtde,vlrunit, id_pessoa)

Pessoa(id, razao, nomefantasia, natureza, contato, endereço)

Fabricante(cpf_cnpj,ie_rg, id_pessoa, ativo)

Fornecedor(cpf_cnpj,ie_rg, id_pessoa, ativo)





1) O que eu gostaria de saber é se a modelagem de herança está correto? E a relação entre Produto com Pessoa está certo?? ou não? relaciono Produto com Fabricante e Fornecedor ??

2)E a dúvida principal, como farei para inserir e pra deletar:

a)Tipo antes de inserir por exemplo Fabricante terei que verificar se o mesmo já está cadastrado na tabela Fornecedor e caso esteja, terei

que puxar o id de pessoa pra jogar na tabela fornecedor, ou não??



b)E pra deletar, por exemplo pra deletar um fabricante, terei que verificar se o mesmo não está cadastrado como fornecedor pra poder deletar o registro da tabela pessoa, pois caso esteja cadastrado como fornecedor tbém,não poderei deletar o registro da tabela pessoa, pois estaria violando a integridade referencial.



Preciso sanar estas dúvidas . Grato desde já.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Respondendo as perguntas.

1) O que eu gostaria de saber é se a modelagem de herança está correto? E a relação entre Produto com Pessoa está certo?? ou não? relaciono Produto com Fabricante e Fornecedor ??

Eu faria como o exposto abaixo:

Produto(id,categoria, descricao, modelo, unidade, qtde,vlrunit, idFabricante)

Produto_x_Fornecedor(idProduto, idFornecedor)

Pessoa(id, razao, nomefantasia, natureza, contato, endereço, cpf_cnpj, ie_rg, ndAtivo, ndFabricante)

2)E a dúvida principal, como farei para inserir e pra deletar:

a)Tipo antes de inserir por exemplo Fabricante terei que verificar se o mesmo já está cadastrado na tabela Fornecedor e caso esteja, terei que puxar o id de pessoa pra jogar na tabela fornecedor, ou não??

Sim. Para facilitar, acrescentei um atributo chamado ndFabricante que indicará se a pessoa é um fabricante ou não. Ficara mais facil na hora de selecionar um fabricante para cadastrar.

b)E pra deletar, por exemplo pra deletar um fabricante, terei que verificar se o mesmo não está cadastrado como fornecedor pra poder deletar o registro da tabela pessoa, pois caso esteja cadastrado como fornecedor tbém,não poderei deletar o registro da tabela pessoa, pois estaria violando a integridade referencial.

Por isso trouxe o atributo ndAtivo para a tabela pessoa. Assim posso desativar um fornecedor, sem deletá-lo e não haverá erro de integridade em minha base de dados.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...