Conceito


Introdução

Esta pesquisa traz uma breve amostra do conceito de um Diagrama de Entidade-Relacionamento (DER), bem como sua modelagem e aplicações, bastante utilizados em Engenharia de Software. Este é um importante recurso que permite identificar entidades e seus relacionamentos, a partir de um banco de dados conceitual, cuja ferramenta gráfica é utilizada para projetar e auxiliar no tratamento de banco de dados.


Entendendo uma modelagem de dados em OOA

Antes de entender do que se trata um DER, é preciso compreender bem o que é uma Análise Orientada a Objetos (OOA) bem como a modelagem de dados. Uma OOA consiste da definição das classes (objetos) que representam o problema a ser resolvido, o modo pelo qual as classes se relacionam e interagem umas com as outras, o funcionamento interno (atributos e operações) dos objetos e os mecanismos de comunicação (mensagens) que permitem a eles trabalharem juntos. Essas relações podem ser expressas através de uma modelagem de dados, que pode ou não seguir um padrão de linguagem. Um deles é o UML (Unified Modeling Language), uma linguagem gráfica para visualização, especificação, construção e documentação de artefatos de sistemas complexos de software, iniciada pelos grandes nomes da Engenharia de Software Booch, Rumbaugh e Jacobson, hoje aprovada pela OMG (Object Management Group), organização que define padrões para aplicações orientadas a objetos.

Deste modo, um DER é um diagrama de blocos que demonstra todas as relações entre as entidades, suas especializações, seus atributos e auto-relações.

Entidades


Uma entidade é um conjunto de objetos do mundo real,ou uma classe destes, sobre os quais se deseja manter informações em um banco de dados. No diagrama é representado por um nome que designa uma classe no interior de um retângulo.

[imagem]

São exemplos de entidades em um sistema bancário: cliente, conta, agência, banco. Já em um ambiente empresarial poderíamos ter: produto, empregado, departamento, entre outros.

OBS: Uma entidade é denominada entidade fraca quando há dependência desta com outra entidade regular. É o caso de uma empresa que possui em seu banco de dados a entidade "Funcionários" bem como a entidade "Dependentes". No entanto, caso um objeto funcionário seja destituído do banco de dados, a entidade Dependentes também deverá ser, uma vez que não é de interesse mantê-la. Neste caso, utilizamos a seguinte representação:

[imagem]


Atributos

São dados associados a cada ocorrência de uma entidade ou de um relacionamento. Ou seja, apresentam características de uma classe de objetos, no caso uma entidade, ou de um relacionamento, como veremos a seguir. Em diagramas, é representado por elipses.

[imagem]

Os atributos pode ser:

(a) Simples ou composto: o atributo pode ou não ser particionado;

(b) Único ou multivalorado: o atributo pode assumir um único valor ou muitos deles;

(c) Armazenado ou Derivado: o atributo pode ser fixo ou dependente de outro;

(d) NULL: pode ser não aplicável ou desconhecido

[imagem]

OBS: Um atributo é denominado atributo chave, quando este não pode se repetir, ou seja, seus valores são distintos para cada entidade. É o caso de CPF e RG, no âmbito empresarial, quando do cadastro de clientes, por exemplo. É representado por elipses hachuradas ou por seu nome sublinhado.

[imagem]

Relacionamentos


Um relacionamento é uma associação entre entidades, representando como elas se relacionam. Em diagramas, aparece como losangos. Na figura abaixo, temos um exemplo de como um diagrama de ocorrências (instâncias) é validado em um diagrama entidade-relacionamento:

[imagem]

Relacionamentos com Atributos

Um relacionamento também pode receber um atributo. Isso ocorre quando o atributo não pertence à primeira, tampouco à segunda entidades, mas sim ao relacionamento. É o caso da imagem abaixo:

[imagem]

Razão de Cardinalidade

Representa um número máximo ou mínimo de instâncias de relacionamentos que uma entidade pode participar. Esta pode ser 1:1 (uma entidade pode ter somente um relacionamento com outra, e vice-versa), 1:N ou mesmo M:N.

[imagem]

Participação

Especifica se a existência de uma entidade depende dela estar relacionada a outra entidade, por meio do tipo de relacionamento total ou parcial. Para entender melhor isto, temos o exemplo abaixo: um funcionário pode gerenciar um departamento, mas nem todos os funcionários gerenciam; no entanto, todo departamento é gerenciado por um funcionário. Temos, portanto, uma participação parcial e total, respectivamente, representado por uma traço simples e outro duplo.

[imagem]

Construção de um diagrama ER

Roteiro básico para a construção de um Diagrama Entidade-Relacionamento

(1) Identificar Entidades;

(2) Identificar relacionamentos;

(3) Identificar Atributos;

(4) Identificar cardinalidades.

Exemplos


Referências

FALEIRO, Adail Tiago Lima. Modelo de Entidade de Relacionamento, UPIS, 2011. Disponível em http://www.devmedia.com.br/modelo-entidade-relacionamento-mer/19821 (Acesso em 21 de abril de 2015);

PRESSMAN, Reger S., Engenharia de Software, 1995;

SOMMERVILLE, Ian. Engenharia de Software, 2003;

CARDOSO, Alexandre. Universidade Federal de Uberlândia. Faculdade de Engenharia Elétrica. Disponível em http://www.alexandre.eletrica.ufu.br/esof/ (Acesso em 21 de abril de 2015);

Homepage: http://www.ct.ufpb.br/programas/complexidade/downloads/modelagem_er_aula_2.pdf (Acesso em 21 de abril de 2015)