Buscar

aula 8 - Mapeamento MERX

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

IF64A-Banco de Dados 1 

pbugatti@utfpr.edu.br
Prof. Pedro Henrique Bugatti
Mapeamento
o Na primeira aula sobre mapeamento… 
o procedimento básico em 7 passos
o alternativas de mapeamento: 
o CR binários 1:1
!
o Abstrações
o Agregação
o Generalização/Especialização
2
3
o O MER-X suporta duas abstrações de dados:
o Agregação 
o Generalização/Especialização 
!
o Extensão do Mapeamento MER-MREL para 
suporte às abstrações 
Mapeamento de Abstrações de 
Dados
AGREGAÇÃO
4
o Como mapear Agregação se: 
o agregação é identificada por atributo próprio + 
chave(s) de CE(s) que participa(m) do CR gerador 
5
Mapeamento de Agregação
Data_Ingresso
Pessoa Universidade IngressaN M
 Aluno
Nome_UnivNome_Pessoa
CPF_Pessoa CGC_Univ
6
Mapeamento de Agregação
Data_Ingresso
Pessoa Universidade IngressaN M
 Aluno
Nome_UnivNome_Pessoa
CPF_Pessoa CGC_Univ
 Orienta
Professor
Nome_Professor
CPF_Professor
P
S
Exercícios
! 1) Em um hospital, um paciente pode realizar consultas 
com vários médicos. Cada consulta pode ter vários 
exames realizados. Devem ser armazenados os dados 
da consulta (data, horário e motivo) e os dados dos 
exames (descrição e resultado).
!
!
! 2) Em uma dada biblioteca um cliente pode retirar 
vários livros e um livro pode ser retirado por vários 
clientes. Para toda retirada devem ser armazenadas a 
data de retirada e a data de devolução. Os livros 
devolvidos com atraso têm uma multa. Sobre a multa, 
devem ser armazenados a quantidade de dias e valor.
7
GENERALIZAÇÃO/ 

ESPECIALIZAÇÃO
8
9
1. Mapear todos os CEs Fortes que não fazem parte de ocorrências 
de generalização
2. Mapear todos os CEs Fracas que não fazem parte de ocorrências 
de generalização
!
3. Mapear todos os CR de cardinalidade 1:1 do DER
4. Mapear todos os CR de cardinalidade 1:N do DER
5. Mapear todos os CR de cardinalidade M:N do DER
6. Mapear todos os CR de Grau >2 do DER
7. Mapear todos os Atributos Multivalorados de CEs e CRs do 
DER
Alterando os 7 Passos ...
Passo 2a)
Passo 2A
• Analisar uma a uma todas as ocorrências 
da abstração de generalização e escolher a 
melhor opção de mapeamento
• Cada ocorrência da abstração é mapeada 
de maneira independente (mesmo dentro 
de uma mesma hierarquia) 
Mapeamento da Generalização 
11
! Três alternativas principais:
1. Mapear o CEG e os CEEs em relações 
diferentes
2. Mapear o CEG e todos os CEEs em uma 
única relação 
3. Mapear cada CEE (e apenas) em sua 
própria relação, junto com seus 
respectivos atributos genéricos
Mapeamento da Generalização 
12
!
! Cada alternativa pode ser mapeada 
de mais de uma maneira
! Procedimento Padrão de Mapeamento
Mapeamento da Generalização 
13
Mapear o CEG e os CEEs em 
relações diferentes
Alternativa 1 
14
Alternativa 1 

Procedimento Padrão 1 
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
D
CEG = { Ch, AtC, AG } 
!
CEE1 = { Ch, AE1}
!
... 
!
CEEi = { Ch, AEi} 
AtC
AtC
15
o a ocorrência da generalização deve 
ser mutuamente exclusiva 
(disjunção). 
Alternativa 1 

Procedimento Padrão 1 (cont.)
CEG = { Ch, AtC, AG } 
CEE1 = { Ch, AE1}
... 
CEEi = { Ch, AEi} 
16
CEG = { Ch, AG } 
!
CEEi = { Ch, AEi } 
!
CEC={ Ch, AtC }
Alternativa 1 

Procedimento Padrão 2 
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
O AtC
AtC
17
o Semelhante ao procedimento 1: usado 
quando a Generalização é definida com 
sobreposição
 
Alternativa 1 

Procedimento Padrão 2 (cont.)
CEG = { Ch, AG } 
!
CEC = { Ch, AtC} 
!
CEE1 = { Ch, AE1}
... 
CEEi = { Ch, AEi} 
18
o Alternativa1 é interessante quando:
!
o existem poucos CE Específicos (todos conhecidos), 
cada um com diversos atributos específicos
!
o consultas tipicamente se concentram em um ou 
poucos CEEs de cada vez
!
o Aplicável a Especialização Total ou Parcial
Alternativa 1 
19
Mapear o CEG e todos os 
CEEs em uma única 
relação 
Alternativa 2 
20
CEG = { Ch, AtC, AG, AE1, ... AEi }
Alternativa 2 

Procedimento Padrão 3 
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
D
AtC
AtC
21
ogeneralização deve ser mutuamente 
exclusiva
o o valor de AtC deve ser não nulo
o em cada tupla apenas os atributos 
correspondentes ao subtipo da entidade 
podem possuir valor
o e os atributos correspondentes aos demais 
subtipos devem ser sempre mantidos nulos
Alternativa 2 

Procedimento Padrão 3 (cont.)
 
CEG = { Ch, AtC, AG, Ae1, ... Aek }
22
o Generalização definida com 
sobreposição
o Se uma entidade pertence a 
um CEE, então na tupla 
pelo menos 1 atributo 
correspondente ao CEE 
deve possuir valor não nulo 
Alternativa 2 

Procedimento Padrão 4 
CEG = { Ch, AtC, AG, AE1, ... AEi }
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
O
AtC
AtC
23
o Indica a quais CEEs um 
entidade pertence usando 
valores booleanos
!
CEG = { Ch, AG, AE1,... AEi, BCEE1, .... BCEEi}
Alternativa 2 

Procedimento Padrão 5 
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
O AtC
AtC
24
o Alternativa 2 é interessante quando:
!
o existem poucos atributos específicos nos CEEs
!
o houver a possibilidade de existirem especializações 
(sem atributos específicos) não previstas no projeto
!
o Aplicável a Especialização Total ou Parcial
Alternativa 2 
25
Mapear cada CEE (e apenas) 
em sua própria relação, 
junto com seus respectivos 
atributos genéricos
Alternativa 3 
26
CEE1 = { Ch, AG, AE1 }
...
!
CEEi = { Ch, AG, AEi }
Alternativa 3 

Procedimento Padrão 6 
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
AtC
AtC
27
Alternativa 3 

Procedimento Padrão 7 
CEE1 = { Ch, AG, AE1 }
...
!
CEEi = { Ch, AG, AEi }
!
CEC={ Ch, AtC}
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
D AtC
AtC
!
!
Como o atributo AtC entra na relação 
sem ser chave, este procedimento 
atende as s i tuações em que a 
especialização é mutuamente exclusiva
28
Alternativa 3 

Procedimento Padrão 8
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
O AtC
AtC
CEE1 = { Ch, AG, AE1 }
...
!
CEEi = { Ch, AG, AEi }
!
CEC={ Ch, AtC}
29
o Alternativa 3 é interessante quando:
o é frequente o acesso a cada entidade em 
sua totalidade, incluindo seus dados 
genéricos e específicos
o aplicável apenas para Especialização Total
Alternativa 3 
30
o Atributos específicos que podem 
identificar univocamente o CEE podem 
ser colocadas como chaves secundárias
Casos Especiais
Pessoa = {CPF, Nome, Vinculo}
!
Aluno = {CPF, RA Curso}
CPF
Nome
RA
Curso
Pessoa
Professor Aluno
D
Vínculo
‘docente’ ‘aluno’
Vinculo
Exercício: mapear para o Modelo Relacional, discutindo, para cada 
ocorrência da abstração, o porquê da opção de mapeamento 
escolhida 
PessoaCPF
Nome
Endereço
VínculoRA
Curso
N#Func
Função
Titulação
Aluno Funcionário Docente
Vínculo
Graduação Pós-Grad. Assistente Doutor
 Semestre
Curso Titulação
Área
Orienta Pós? 
O
O D
32
Exercício Seguradora - Mapeamento
Em uma seguradora de automóveis, um cliente tem pelo 
menos um carro e um carro pertence a um único cliente. 
Cada carro possui um número de acidentes associados a 
ele, devendo ser armazenados a data, o local e uma 
descrição do acidente. O acidente pode ser com vítima 
ou sem vítima. Se for com vítima, devem ser 
armazenados um histórico (contendo os nomes das 
vítimas e o tipo de lesão sofrida) e o valor gasto com 
indenização das vítimas. Se for sem vítima deve ser 
armazenado o valor gasto com danos materiais.33
Exercício Biblioteca - Mapeamento
Em uma biblioteca há vários tipos de materiais (livros, 
revistas e audiovisual). Para os livros são armazenados 
o autor e a editora; as revistas têm número, volume e 
data; os materiais audiovisuais têm o nome do diretor 
e o tempo de duração. Um cliente pode retirar vários 
materiais e um material pode ser retirado por vários 
clientes. Para toda retirada devem ser armazenadas a 
data de retirada e a data de devolução. Os materiais 
devolvidos com atraso têm uma multa. Sobre a multa, 
devem ser armazenados a quantidade de dias e o 
valor.
Referências
!
! ELMASRI, Ramez; NAVATHE, Shamkant B. 
Sistemas de banco de dados. 4. ed. São Paulo: 
Pearson Addison Wesley, 2005. 
!
! Sousa, E. P. M. Notas de aula – SCC240. ICMC-
USP.
34
IF64A-Banco de Dados 1 

pbugatti@utfpr.edu.br
Prof. Pedro Henrique Bugatti

Outros materiais