pressividade e é muito utilizado no projeto conceitual da base de dados.
O ME-R descreve os dados por meio dos conceitos de:
Entidade: representa um objeto ou conceito do mundo real;
Relacionamento: representa uma ligação (relacionamento) entre entidades;
Atributos: descrevem as propriedades de entidades e relacionamentos.
Os conceitos do ME-R são utilizados na criação de uma representação gráfica, na forma de um diagrama, chamado de Diagrama Entidade-Relacionamento (DER). Os construtores básicos
27
oferecidos pelo ME-R, sua descrição e símbolos gráficos são apresentados no Quadro 3.1. Um exemplo de DER é apresentado na Figura 3.2.
Quadro 3.1- Conceitos do modelo entidade-relacionamento (BATINI; CERI; NAVATHE, 1991).
Um Conjunto de Entidades (CE) deve possuir um identificador, que é composto de um ou mais atributos que têm a característica de determinar unicamente cada uma das entidades contidas no CE. Os identificadores também são chamados de chaves ou de chaves candidatas. Na Figura 3.2 o atributo sublinhado CPF indica o identificador do CE Empregado.
Figura 3.2 - Exemplo de diagrama entidade-relacionamento.
Em um Conjunto de Relacionamentos (CR) é possível atribuir uma restrição que define o número mínimo e máximo de entidades que podem participar do relacionamento. Essa restrição determina a multiplicidade no CR. Este tipo de restrição permite aumentar o potencial de represen- tação dos requisitos dentro do modelo conceitual. A multiplicidade é definida por meio de um número inteiro, em que 0 (zero) indica que não existem ocorrências de entidades e N determina uma ocorrência ilimitada. Também é possível atribuir qualquer número inteiro positivo para deter- minar a restrição de multiplicidade mínima.
Conceito Descrição Símbolo Gráfico
Conjunto de Entidades (CE) Representa uma coleção de entidades que possuem propriedades semelhantes.
Conjunto de Relacionamentos (CR) Representa uma coleção de relacionamentos que possuem propriedades semelhantes entre dois ou mais conjuntos de entidades.
Atributos Têm o objetivo de descrever as propriedades das entidades e relacionamentos, por meio de valores. São ligados aos seus respectivos CEs ou CRs.
28
No DER apresentado na Figura 3.2, os números entre parênteses próximos ao CR Trabalhar indicam a multiplicidade mínima e máxima, respectivamente. No caso pode-se afirmar que um empregado deve estar associado a somente um departamento. Já um departamento pode estar as- sociado a nenhum ou vários empregados.
Com a evolução dos paradigmas de programação, novos conceitos foram introduzidos, en- riquecendo a semântica da representação da informação. A seguir, são apresentados os conceitos de generalização e especialização, que foram adicionados pelo ME-R estendido, os quais estão relacionados aos conceitos de superclasse e subclasse do paradigma de orientação a objetos.
Um CE representa uma classe genérica de dados. Entretanto, podem existir subconjuntos de entidades em um CE, que pertencem a classes distintas, podendo ser representadas separada- mente em um CE específico com atributos próprios. Cada CE específico contém uma subclasse das entidades. Já as propriedades em comum a um grupo de subclasses são reunidas em um CE gené- rico, chamado de superclasse. A ligação estabelecida entre o CE genérico e os CEs específicos faz com que esses últimos herdem os atributos do CE genérico. Portanto, os atributos do CE genérico não devem ser representados nos CEs específicos.
O conceito de generalização é o processo de se identificar uma superclasse que representa genericamente um determinado subconjunto de entidades, resultando na criação de um CE que agrega os atributos em comum desse grupo. Já a especialização consiste em definir um ou mais CE específicos, com o objetivo de se agregar grupos de entidades com atributos próprios, determinados pelas especificidades de cada grupo. A generalização pode ser aplicada em vários níveis e possui característica hierárquica, logo é chamada de hierarquia de generalização.
A abstração de generalização ainda possui quatro restrições, divididas em duas categorias:
Disjunção
o Exclusão mútua: para cada entidade do CE genérico só pode haver uma ocorrência nos CEs específicos;
o Sobreposição: permite que uma entidade do CE genérico tenha mais de uma ocorrência nos CEs específicos;
29
Completude
o Participação total: indica que para cada entidade no CE genérico deve ha- ver pelo menos uma ocorrência em um dos CEs específicos;
o Participação parcial: indica que uma entidade no CE genérico não neces- sita de ocorrências nos CEs específicos.
A Figura 3.3 mostra as representações utilizadas nas abstrações de generalização/especiali- zação dentro do diagrama entidade-relacionamento estendido. As hastes indicam o tipo de comple- tude: duplas para a participação total e simples para a participação parcial. Já o triângulo indica o tipo de disjunção, quando preenchido indica sobreposição e quando não preenchido indica exclusão mútua.
Figura 3.3 - Representação de generalização/especialização (Busichia, 1999).
No ME-R não é permitido associar dois conjuntos de entidades diretamente. Entretanto, essa situação é desejável em determinados casos quando da elaboração do DER. No ME-R esten- dido, a agregação consiste na criação de um CE baseado em um CR, conforme mostra a Figura 3.4. Esse novo CE possui as mesmas características de um CE do ME-R, podendo ter atributos próprios e se relacionar com outros CEs, por exemplo. Na literatura, o termo CE Associativo também é usado para denotar uma agregação (HEUSER, 2009).
30
Formalmente, segundo Mesquita e Finger (1998) um DER estendido pode ser representado formalmente da seguinte maneira:
DER = {E, A, R, HG, AG, C} onde:
E = conjunto de entidades
A = conjunto de atributos
R = conjunto de relacionamentos
HG = conjunto de hierarquias de generalização
AG = conjunto de abstrações de agregação
C = conjunto de configurações do diagrama de acordo com:
para cada entidade e E, C(e) = <Ad, And>, onde Ad A é o conjunto de atributos
determinantes de e, e And A o conjunto de atributos não determinantes de e;
para cada relacionamento r R, C(r) = <e1, e2, c12, c21>, onde c12 e c21 correspondem
às restrições de multiplicidade;
para cada hierarquia de generalização hg HG, C(hg) = < e, {ei}, tipo>, onde e
E corresponde à classe de entidades genéricas da hierarquia, {ei} R corresponde
ao conjunto de entidades específicas e tipo indica se a hierarquia é total/parcial e disjunta/sobreponível;
para cada abstração de agregação ag AG, C(ag) = < e1, e2, r, Aag>, onde e1, e2 E correspondem a classes de entidades agregadas, r R é o relacionamento original de ag e Aag A é o conjunto de atributos de ag.