Introdução

Propaganda
2008.1
Extensões MER
Renata Viegas
[email protected]
2008.1
Introdução
• É possível modelar a maioria dos BDs apenas
com os conceitos básicos do MER
• Entretanto, alguns aspectos de um BD podem
ser expressos de modo mais conveniente por
meio de algumas extensões do modelo ER.
2008.1
Especialização
Quando identificamos uma entidade estamos
definindo uma classe genérica de dados, que
pode estar incorporando diversas outras classes
de dados.
CLIENTE
PESSOA FÍSICA
PESSOA JURÍDICA
A
entidade
genérica
possui subconjuntos de
dados
que
formam
entidades diferenciadas,
mas
que
possuem
características
comuns
que permitem colocá-los
como
formando
uma
única entidade.
2008.1
Especialização
CLIENTE
Entidade genérica
PESSOA FÍSICA
PESSOA JURÍDICA
Entidades especializadas
Uma ocorrência pertencente a uma entidade especializada
deve ser vista como pertencente tanto a entidade
especializada quanto a entidade genérica.
Permite atribuir propriedades particulares a uma entidade
especializada, derivada de uma entidade genérica.
2008.1
Especialização
Permite a herança de propriedades, ou seja, cada entidade
especializada possui, além dos seus atributos próprios,
todos os atributos da entidade genérica.
No exemplo mostrado, as entidades PESSOA FÍSICA e
PESSOA JURÍDICA possuem, além de seus atributos
próprios, todos os atributos da entidade CLIENTE.
Atributos da entidade CLIENTE:
código, nome, endereço, fone, cidade, estado
Atributos da entidade PESSOA FÍSICA:
cpf, rg, sexo e todos os atributos de CLIENTE.
Atributos da entidade PESSOA JURÍDICA:
cnpj, insc_est, contato e todos os atributos de CLIENTE.
2008.1
Generalização
A generalização é a união do conteúdo de duas ou mais
entidades de nível inferior, formando uma entidade de
nível mais elevado.
A generalização cria, a partir de entidades mais específicas
(nível inferior), uma entidade mais genérica (nível
superior).
A especialização é a divisão de subconjuntos de dados de
uma entidade de nível superior , formando entidades de
nível inferior.
A especialização cria, a partir de uma entidade genérica
(nível superior), novas entidades mais específicas
(nível inferior).
2008.1
Generalização
• Numa locadora, Cliente e Funcionário
possuem vários atributos em comum, como
Nome, CPF, Endereço e Telefone, que
poderiam ser agrupados numa entidade
Pessoa
2008.1
Nome, CPF, Endereço e
Telefone são atributos
comuns a Clientes e
Funcionários; por isso,
podem ser generalizados
numa entidade Pessoa
Os atributos Código e
Gênero Preferido se
aplicam apenas à entidade
Cliente...
Enquanto Salário e Data
Contratação se aplicam
apenas à entidade
Funcionário.
2008.1
Regras p/ Generalização e Especialização
 As entidades especializadas possuem atributos particulares, que não possam ser aplicados a todas elas?
Se sim, é desejável a aplicação da especialização.
 Existem relacionamentos que sejam aplicáveis apenas
às entidades especializadas?
Se sim, é desejável a aplicação da especialização.
 Estamos incluindo detalhes supérfluos ao modelo?
Se não, é possível a aplicação da especialização.
2008.1
Generalização/Especialização
FUNCIONÁRIO
TRABALHA
ENGENHEIRO
VENDEDOR
Entidade
especializada
por possuir
atributos
diferentes.
Entidade
especializada
por possuir
relacionamento
diferente.
SETOR
ATENDE
CLIENTE
2008.1
Herança
• Em casos de Generalização e Especialização,
as
sub-entidades
(ou
entidades
especializadas) herdam os atributos e
relacionamentos da super-entidade (ou
entidade mais genérica)
2008.1
Agregação
• Ocorre quando três ou mais entidades participam de
um mesmo relacionamento
• É definido um relacionamento entre duas entidades,
e esse relacionamento passa a ser visto como uma
nova entidade, que pode então participar de outro
relacionamento
2008.1
Agregação (Entidade Associativa)
É uma estrutura formada pela junção de duas entidades
através de um relacionamento, onde esta junção é
percebida como um novo elemento que se relaciona com
uma outra entidade.
 Exemplo:
Em uma clínica médica existem vários médicos que
atendem os pacientes e prescrevem medicamentos.
MÉDICO
(1,N)
CONSULTA
(1,N)
PACIENTE
Devemos relacionar MEDICAMENTO a MÉDICO ou a
PACIENTE ?
2008.1
Agregação (Entidade Associativa)
 Características desse modelo:
1. O relacionamento entre MÉDICO e PACIENTE é de N:N.
2. O MEDICAMENTO só será prescrito se o MÉDICO
consultar o PACIENTE.
 Considerando que:
1. Existe uma terceira entidade que depende desse
relacionamento;
 Podemos:
1. Realizar uma agregação, transformando o
relacionamento em uma entidade associativa e;
2. Relacionar esta entidade associativa com a terceira
entidade do sistema.
2008.1
Agregação (Entidade Associativa)
MÉDICO
(1,N)
CONSULTA
(1,N)
PACIENTE
(0,N)
PRESCREVE
(0,N)
MEDICAMENTO
Uma agregação pode ser vista como o desmembramento
de um relacionamento ternário em um relacionamento
binário associado a uma entidade.
2008.1
Agregação - Exemplo
• Numa imobiliária em que é preciso registrar dados
sobre o cliente, o imóvel negociado e o corretor que
realizou a transação, poderia ser definido um
relacionamento entre o cliente e o imóvel, e em
seguida outro relacionamento entre o primeiro e o
corretor
2008.1
Exemplo
2008.1
Agregação
• Na hora de definir se uma agregação deve
ser usada, é importante verificar se a
participação das três entidades é realmente
necessária para que ocorra o relacionamento
• Caso contrário, relacionamentos simples
podem ser usados
Download