POTHIEDU Não Decore a Resposta. Entenda o Caminho

O Que É Uma Entidade

O Que É Uma Entidade

Entidade: o que é, na prática

Uma entidade é qualquer coisa distintível sobre a qual você precisa guardar informação. Isso soa óbvio até você tentar mapear um domínio de negócio real. O problema é que a linha entre "coisa distintível" e "algo que posso apenas descrever como atributo" é muito mais tênue do que os livros didáticos deixam transparecer. No contexto de modelagem de dados, uma entidade é um objeto conceitual que existe no mundo real e que precisa ser representado em um sistema. Pessoa, produto, ordem de pagamento, conta bancária, contrato. Tudo isso são entidades. Mas também dá para criar entidades mais abstratas, como um tipo de tarifa ou uma regra de elegibilidade, porque às vezes essas regras precisam de histórico próprio e não fazem sentido como atributos espalhados.

O que é uma entidade e por que ela existe no seu modelo

Entidades surgem quando você percebe que algo se repete, se relaciona com outras coisas, e carrega propriedades próprias. A tradução mais comum é o diagrama entidade-relacionamento (DER), onde cada entidade vira uma tabela. Mas o conceito é anterior ao banco de dados. Ele vem da semântica do domínio. Eu já vi gente transformar literalmente tudo em entidade. Categoria de produto, status de chamada, canal de venda. Virou uma bagunça de 47 tabelas que ninguém conseguia navegar. O problema não era a modelagem em si, era a falta de disciplina para decidir o que era realmente distinctable e o que era apenasum atributo com muitos valores. Se aquilo não precisa de chave primária própria, provavelmente não é uma entidade. Pode ser uma coluna com enumeração, uma tabela de lookup bem simples, ou até um JSON, dependendo do contexto. Um detalhe que poucos mencionam: entidade e objeto não são a mesma coisa. Um objeto é uma instância concreta. Uma entidade é o conceito que você modelou. Na prática, no banco, você trabalha com objetos (linhas), mas pensa em entidades (tabelas). Confundir esses dois níveis gera problemas de performance e manutenção que aparecem meses depois.

O outro erro comum é tratar relacionamento como entidade sem motivo. Parceria entre duas empresas. Vou criar uma entidade "Parceria". Tá bom, mas só se essa parceria tiver atributos próprios que não pertencem nem a uma empresa nem a outra. Se é só um link, é relacionamento Many-to-Many com chave composta, ponto final. Eu perdi duas semanas refatorando um sistema inteiro porque alguém decidiu que "Solicitação de Troca" era entidade quando na verdade era só um campo no pedido com lógica condicional. Entidade fraca, por sinal, merece atenção especial. É aquela que não existe sem a entidade pai. Tipo um item de pedido. Não faz sentido ter um item de pedido sem um pedido. Ela depende de uma chave estrangeira forte para ser identificada. Em alguns SGBDs, isso se traduz em constraints diferentes, índices compostos, e regras de integridade mais rigorosas. Ignorar isso e tratar item de pedido como entidade forte é pedir para ter consistência quebrada em produção. Se você tá começando agora, o caminho mais seguro é: liste os substantivos do domínio, questione cada um, pergunte se ele tem identidade própria, se precisa de histórico, se se relaciona com outros conceitos de forma não-trivial. Se a resposta for sim para pelo menos dois, provavelmente é entidade. Se não, pensa melhor.

Entidade - O que é, conceito e definição
Entidade - O que é, conceito e definição