Baixe o app para aproveitar ainda mais
Prévia do material em texto
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
Compartilhar