Após introdução ao tema de modelagem de banco de dados, vamos começar a ver como o modelo em si funciona e se estrutura. 

No post anterior vimos as fases que acontecem antes de criarmos o nosso modelo de bases e quais os passos para um bom início de projeto e neste, vamos entender o que compõe o modelo e toda sua estrutura.

MODELO ENTIDADE – RELACIONAMENTO (Modelo E-R)

Este é o nome que atribuímos ao modelo de dados quando começamos a criar o projeto de fato. Quando estamos observando uma determinada área e começamos a perceber quais objetos a compõem, passamos a chamá-las de entidade. Quando criamos ligações de uma entidade com outra, temos aí o relacionamento.

Um exemplo de entidade: Automóvel, Funcionário e Produtos.

Este modelo, quando completo, representa todos os objetos que foram observados e aprovados na pré definição assim como eles se relacionam uns com outros. Em etapas mais avançadas eles possuem também seus atributos.

Um exemplo de relacionamento entre as entidades: Funcionário vende Produto.

Quando finalizado e aprovado pelas partes interessadas, temos um documento que nos mostra todo o ambiente de negócio formalizado.

Podemos dizer que a fase de construção do Modelo E-R ocorre assim que a modelagem conceitual se inicia.

ENTIDADE

Podemos considerar a entidade como o pilar do modelo uma vez que ela nos traz todos os objetos observados e validados dentro da área de negócio. A entidade seria a representação de um determinado grupo de objetos observados.

Consideramos a entidade como um todo dentro do modelo conceitual e suas ocorrências como um objeto pertencente.

Se formos traçar um paralelo, considere a seguinte tabela abaixo:

A tabela Funcionário pode ser considerado a entidade dentro do Modelo E-R, já os campos: Nome, sobrenome, Cargo e Idade são os atributos definidos na fase de modelagem lógica e, cada funcionário nesta tabela, seria objeto da entidade Funcionário. Assim, reforçamos a ideia que a entidade é o todo que agrupa seus objetos. 

NOTA: alguns livros costumam chamar os objetos de instância. Fica a gosto de cada um.

Em alguns casos confundimos determina função com uma entidade, levando a uma certa confusão na modelagem, dependendo do ambiente e do negócio que se está modelando, pode não ser problemático mas, no geral, não  é interessante confundir.

Um exemplo deste seria modelar um ambiente onde há diversos profissionais e entender que um médico seria a entidade quando este, seria o atributo da entidade Funcionários. 

As entidades de um modelo costumam ser identificadas quando atendem aos seguintes requisitos. Deixo claro que esses requisitos não são unânimes, mas,  são recomendações de autores para melhor identificação:

  • Tangíveis – precisam englobar algo real, tocável, existente ou, ocupe um lugar no espaço;
  • Funcionais – estas entidades precisam ter funções, ou seja, atributos;
  • Recorrentes – é o que torna a entidade utilizável de fato. ela possui uma ação dentro do modelo;
  • Interativas – todas as entidades do modelo precisam de alguma forma se relacionar com outra, não existe entidade isolada. Caso isto ocorra, reveja o modelo, pode haver algum erro na identificação.
  • Específicas – quando um determinado objeto de uma entidade possui características específicas. Não é sempre que tal ocorre e nem sempre é necessário mas, toda entidade precisa ser apta.

Veja abaixo um exemplo de uma entidade específica para uma loja hipotética de automóveis:

Neste modelo, e entidade Especificacao_Auto, poderia ter seus atributos na ENTIDADE automóvel mantendo assim, apenas uma entidade. Porém, como essa empresa hipotética queria maiores detalhes do negócio, foi decidido separar os dois.

Não são todas as entidades, como dito antes, que precisam passar por esse modelo, mas, elas precisam ser aptas a tal. Note que elas se relacionam através da coluna ID e isso é feito na fase de implementação física do modelo lógico.

CONCEITUANDO

Vimos que o conceito de entidade num modelo E-R é o todo para determinados objetos e que cada uma possui suas próprias características que podem ser chamadas de atributos. Também entendemos como cada entidade se relaciona ao modelo e quais as melhores formas de identificar e validar para implementação

Diferenciamos funções de entidades com um exemplo prático e com isso, somos capazes de entender quando estamos nos referindo ao atributo ou ao conjunto como um todo e completo

E por fim, que as entidades podem ser específicas e orientadas a uma já existente para enriquecer e trazer mais informações e insights para o negócio.

Com isso, finalizo este post e logo iremos falar sobre relacionamentos das entidades!

Bom noite e saúde!