A maior rede de estudos do Brasil

Grátis
6 pág.
Mapeamento do ME-R Estendido para o MRel

Pré-visualização | Página 1 de 1

1 
CEen CEe1 
CEg 
BANCO DE DADOS 
 
 
 
Mapeamento do ME-R Estendido para o MRel 
 
Com ME-R Estendido, surge a necessidade de mais dois passos de mapeamento além 
daqueles abordados no mapeamento do ME-R para o MRel: 
• Mapeamento de Abstrações de Generalização; 
• Mapeamento de Abstrações de Agregação. 
Esses passos devem ser realizados após o mapeamento dos CEs regulares e antes do 
mapeamento dos CRs. 
 
1 Mapeamento de Abstrações de Generalização 
Considerando a seguinte representação geral de uma abstração de generalização, tem- 
se as seguintes opções de mapeamento: 
 
Ach 
Ag 
 
 
 
 
Ae1 
... 
 
 
Aen 
 
Onde: 
Ach – atributo chave do CE genérico; 
Ag – atributo do CE genérico; 
Ae1 – atributo do CE específico 1; 
Aen – atributo do CE especifico n. 
 
• Exclusão mútua e participação total ou parcial: 
 
CEg = {Ach, Ag, tipo} 
CEe1 = {Ach, Ae1} 
Ach – chave estrangeira referenciando CEg 
... 
CEen = {Ach, Aen} 
Ach – chave estrangeira referenciando CEg 
 
Obs: tipo é um atributo que indica o tipo de cada CE específico. 
Exemplo: 
2 
Aluno Funcionário 
Aluno Funcionário 
Professor 
 RG 
nome 
idade 
 
 
 
 
ra referência 
área_pesquisa 
nfuncional 
 
Pessoa = {RG, nome, idade, tipo} 
onde tipo pode ser, por exemplo, 1 – Aluno, 2 – Professor, 3 – Funcionário. 
Aluno = {RG, ra} 
RG – chave estrangeira referenciando Pessoa 
Professor = {RG, referência, área_pesquisa} 
RG – chave estrangeira referenciando Pessoa 
Funcionário = {RG, nfuncional} 
RG – chave estrangeira referenciando Pessoa 
 
• Sobreposição e participação total ou parcial: 
 
CEg = {Ach, Ag} 
CEe1 = {Ach, Ae1} 
Ach – chave estrangeira referenciando CEg 
... 
CEen = {Ach, Aen} 
Ach – chave estrangeira referenciando CEg 
 
Exemplo: 
 
 RG 
nome 
idade 
 
 
 
 
 
 
ra referência 
área_pesquisa 
nfuncional 
 
Pessoa = {RG, nome, idade} 
Aluno = {RG, ra} 
RG – chave estrangeira referenciando Pessoa 
Professor = {RG, referência, área_pesquisa} 
RG – chave estrangeira referenciando Pessoa 
Funcionário = {RG, nfuncional} 
RG – chave estrangeira referenciando Pessoa 
Professor 
Pessoa 
Pessoa 
3 
Achag 
Acha+ 
Aag 
CR 
AG 
CEn CE1 
Vendedor Produto 
2 Mapeamento de Abstrações de Agregação 
O mapeamento de Abstrações de Agregação inclui algumas opções, dependendo dos 
atributos da abstração. Então, considerando a seguinte representação geral de uma abstração 
de agregação, tem-se as seguintes opções de mapeamento: 
 
 
 
 
Acr 
 
 
 
 
Ach1 
Ace1 
 
Achn 
Acen 
 
Onde: 
Achag – atributo chave própria da agregação; 
Acha+ - atributo chave adicional da agregação; 
Aag – atributo da agregação; 
Acr – atributo do CR; 
Ach1 – atributo chave do CE1; 
Ace1 – atributo do CE1; 
Achn – atributo chave do CEn; 
Acen – atributo do CEn. 
 
• CR não tem atributos próprios: 
 
Opção 1: existe a chave própria e a chave adicional da agregação. 
 
AG = {Achag, Ach1, ..., Achn, Acha, Aag} 
Ach1 – chave estrangeira referenciando CE1 
... 
Achn – chave estrangeira referenciando CEn 
 
Exemplo: 
 
 
 
códigov 
Vender 
 
 
 
Venda 
códigop 
 código 
data+ 
valor 
 
 
 
 
códigoc Cliente 
4 
Vendedor Produto 
Venda = {código, códigov, códigop, códigoc, data, valor} 
códigov – chave estrangeira referenciando Vendedor 
códigop – chave estrangeira referenciando Produto 
códigoc – chave estrangeira referenciando Cliente 
 
Opção 2: existe somente a chave adicional da agregação. 
 
AG = {Ach1, ..., Achn, Acha, Aag} 
Ach1 – chave estrangeira referenciando CE1 
... 
Achn – chave estrangeira referenciando CEn 
 
Exemplo: 
 
 
 
códigov 
Vender 
 
 
 
Venda 
códigop 
 
 data+ 
valor 
 
 
 
 
códigoc 
 
 
Venda = {códigov, códigop, códigoc, data, valor} 
códigov – chave estrangeira referenciando Vendedor 
códigop – chave estrangeira referenciando Produto 
códigoc – chave estrangeira referenciando Cliente 
 
Opção 3: existe somente a chave própria da agregação. 
 
AG = {Achag, Ach1, ..., Achn, Aag} 
Ach1 – chave estrangeira referenciando CE1 
... 
Achn – chave estrangeira referenciando CEn 
Cliente 
5 
1 
Entrevistar 
N 
Entrevista 
1 código 
data 
Gerar 
nota 
1 
Emprego 
Candidato Funcionário 
Vendedor Produto 
Exemplos: 
 
 
 
códigov 
Vender 
 
 
 
Venda 
códigop 
 código 
data 
valor 
 
 
 
códigoc 
 
 
Venda = {código, códigov, códigop, códigoc, data, valor} 
códigov – chave estrangeira referenciando Vendedor 
códigop – chave estrangeira referenciando Produto 
códigoc – chave estrangeira referenciando Cliente 
 
 
 
 
 
 
 
códigof códigoc 
 
 
 
 
 
 
 
 
 
 
 
Entrevista = {código, códigof, códigoc, data, nota} 
códigof – chave estrangeira referenciando Funcionário 
códigoc – chave estranveira referenciando Candidato 
 
Deve-se observar que o mapeamento da abstração de agregação é sempre o mesmo, 
independente da cardinalidade do CR que participa da agregação. 
Cliente 
6 
• CR tem atributos próprios: 
 
Opção 1: existe a chave própria e a chave adicional da agregação. 
 
Mapeia-se o CR de acordo com as regras de mapeamento. Por exemplo, se CR for 
binário N:M ou de grau maior que 2: 
 
CR = {Ach1, ..., Achn, Acr} 
Ach1 – chave estrangeira referenciando CE1 
... 
Achn – chave estrangeira referenciando CEn 
 
Mapeia-se a Agregação: 
AG = {Achag, Ach1, ..., Achn, Acha, Aag} 
Ach1 – chave estrangeira referenciando CE1 
... 
Achn – chave estrangeira referenciando CEn 
 
Opção 2: existe somente a chave adicional da agregação. 
 
Mapeia-se o CR de acordo com as regras de mapeamento. Por exemplo, se CR for 
binário N:M ou de grau maior que 2: 
CR = {Ach1, ..., Achn, Acr} 
Ach1 – chave estrangeira referenciando CE1 
... 
Achn – chave estrangeira referenciando CEn 
 
Mapeia-se a Agregação: 
AG = {Ach1, ..., Achn, Acha, Aag} 
Ach1 – chave estrangeira referenciando CE1 
... 
Achn – chave estrangeira referenciando CEn 
 
Opção 3: existe somente a chave própria da agregação. 
 
Mapeia-se o CR de acordo com as regras de mapeamento. Por exemplo, se CR for 
binário N:M ou de grau maior que 2: 
CR = {Ach1, ..., Achn, Acr} 
Ach1 – chave estrangeira referenciando CE1 
... 
Achn – chave estrangeira referenciando CEn 
 
Mapeia-se a Agregação: 
AG = {Achag, Ach1, ..., Achn, Aag} 
Ach1 – chave estrangeira referenciando CE1 
... 
Achn – chave estrangeira referenciando CEn