generalização no Modelo ER

25/04/2019

5

É errado ou desnecessário e exemplo em um banco de dados ao invés de eu criar uma tabela cliente ou uma tabela funcionário eu criar uma tabela pessoa antes e depois fazer o relacionamento?
Responder

Posts

É errado ou desnecessário e exemplo em um banco de dados ao invés de eu criar uma tabela cliente ou uma tabela funcionário eu criar uma tabela pessoa antes e depois fazer o relacionamento?


Boa tarde Afonso,

Minha sugestão seria analisar qual nomenclatura é mais relevante pro negócio/sistema envolvido.
Exemplo:

• Naturalmente muitos sistemas gerenciam dados de pessoas, mas a questão é: o quê de uma pessoa é relevante para este banco de dados? São todas as pessoas funcionários? Se são, estes dados podem ser todos armazenados em uma tabela de funcionários e apenas relacionar a uma tabela contendo tipos de funcionários (ou cargos neste caso). Pois o fato de ser uma pessoa não é relevante pro banco de dados.

Ou

• Se o seu banco de dados armazena dados de pessoas sem um contexto específico (ora são funcionários, ora são clientes, ora são visitantes, etc.) então pode ser que uma tabela de pessoas possa ser criada para armazenar dados em comum destas entidades e apenas relacionar a uma tabela contendo o tipo da pessoa (funcionário, cliente, visitante, etc.) para identificação.

Acredito que sua dúvida é relacionada a busca pela melhor organização dos dados, portanto recomendo seguir a técnica de normalização de dados, conforme o artigo:

Normalização e desnormalização de dados
https://www.devmedia.com.br/normalizacao-e-desnormalizacao-de-dados/24345

Separe as entidades que fazem parte do seu banco de dados e aplique esta técnica para obter o resultado mais adequado.

Um abraço!
Responder