› Fóruns › Banco de dados Oracle › Como implementar generalização em DB? › Como implementar generalização em DB?
28 de setembro de 2011 às 5:50 pm
#101028
Participante
@mguedes
Eu faria da seguinte forma, na tabela PESSOAS criar um campo TIPO_PESSOA para identificar se é funcionário ou cliente, pode ser um simples campo, ou pode ser um chave estrangeira para um tabela TIPO_PESSOA, e lá cadastrar os tipos de pessoas que podem existir. Nas tabelas FUNCIONARIOS e CLIENTES que vai o PESSOA_ID.
Resumindo, o todo não conhece a parte, a parte que conhece o todo.
Para trazer as informações, descubra que tipo de pessoa é primeiro, depois consulte PESSOAS com INNER JOIN FUNCIONARIOS ou PESSOAS com INNER JOIN CLIENTES.