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.


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:



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.


Os atributos podem 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


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.


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:




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:

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.

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.

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


Software DIA

O Software DIA é uma excelente ferramente free, open source, desenvolvida para a criação de diagramas, fluxogramas e muito mais. Utiliza a linguagem UML e tem uma boa abrangência para grandes diagramas, de muitas páginas. Os exemplos abaixo foram criados utilizando-se desta ferramenta. Outros softwares são também muito utilizados, principalmente no âmbito acadêmico devido à sua didática aplicável aos conceitos de Engenharia de Software. Um deles é o Astah, anteriormente denominado JUDE, uma plataforma que utiliza a linguagem JAVA, e por isso muito acessível, possuindo também um segmento free, além de também seguir o modelo UML.

Imagem: Software DIA em execução

Imagem: Software ASTAH em execução

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);

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

http://www.ime.usp.br/~jef/listabd02.pdf (Acesso em 21 de abril de 2015)