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 classe genérica de dados, que pode estar incorporando diversas outras classes outras classes de dados.
CLIENTE
PESSOA FÍSICA
PESSOA JURÍDICA
A entidade genérica possui subconjuntos subconjuntos de dados que formam entidades diferenciadasentidades diferenciadas, mas que possuem características comunscaracterísticas comuns que permitem colocá-los como formando uma única entidadeúnica entidade.
2008.1
Especialização
Entidade genérica
Entidades especializadas
PESSOA JURÍDICA PESSOA FÍSICA
CLIENTE
Uma ocorrência pertencente a uma entidade especializadaentidade especializada deve ser vista como pertencentepertencente tanto a entidade entidade
especializadaespecializada quanto a entidade genérica.entidade genérica.
Permite atribuir propriedadespropriedades particularesparticulares a uma entidade entidade especializadaespecializada, derivada de uma entidadeentidade genéricagenérica.
2008.1
Especialização
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.
Permite a herança de propriedadesherança de propriedades, ou seja, cada entidade especializadaespecializada possui, além dos seus atributos próprios,
todostodos os atributos da entidadeentidade genéricagené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.
2008.1
Generalização
A generalizaçãogeneralização é a uniãounião do conteúdo de duas ou mais entidades de nível inferiornível inferior, formando uma entidade de
nível mais elevadonível mais elevado.
A generalizaçãogeneralização cria, a partir de entidades mais mais específicasespecíficas (nível inferior), uma entidade mais genéricamais genérica
(nível superior).
A especialização especialização é a divisãodivisão de subconjuntos de dados de uma entidade de nível superiornível superior , formando entidades de
nível inferiornível inferior.
A especializaçãoespecialização cria, a partir de uma entidade genéricagenérica (nível superior), novas entidades mais específicas 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 parti-culares, que não possam ser aplicados a todas elas?Se sim, é desejável a aplicação da especialização.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.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.Se não, é possível a aplicação da especialização.
2008.1
Generalização/Especialização
TRABALHAFUNCIONÁRIO SETOR
ATENDE
CLIENTE Entidade
especializada por possuir atributos
diferentes.
Entidade especializada por possuir
relacionamento diferente.
ENGENHEIRO VENDEDOR
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çãojunção de duas entidadesduas entidades através de um relacionamentorelacionamento, onde esta junção é
percebida como um novonovo elementoelemento que se relacionarelaciona com uma outra entidadeoutra entidade.
MÉDICO PACIENTE(1,N) CONSULTA (1,N)
Exemplo:Exemplo:
Em uma clínica médica existem vários médicos que atendem os pacientes e prescrevem medicamentos.
Devemos relacionar MEDICAMENTO a MÉDICO ou a Devemos relacionar MEDICAMENTO a MÉDICO ou a PACIENTE ?PACIENTE ?
2008.1
Agregação (Entidade Associativa)
Características desse modeloCaracterí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 queConsiderando que::1. Existe uma terceira entidade que depende desse
relacionamento; PodemosPodemos::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)
PRESCREVE
(1,N)
MEDICAMENTO
CONSULTACONSULTA
Uma agregaçãoagregação pode ser vista como o desmembramentodesmembramento de um relacionamento ternário ternário em um relacionamento
bináriobinário associado a uma entidade.
MÉDICO PACIENTE(1,N)
(0,N)
(0,N)
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