Governança de Ambientes Heterogêneos - Single Sign-On para SAP, aplicações web e bancos de dados
SCC0141 - Bancos de Dados e Suas Aplicações
description
Transcript of SCC0141 - Bancos de Dados e Suas Aplicações
SCC0141 - Bancos de Dados e Suas Aplicações
Prof. Jose Fernando Rodrigues Junior
Material original: Elaine Parros Machado de Sousa
Mapeamento entre EsquemasParte 2
Abstrações Como mapear Conjuntos de Entidades?
USP – ICMC – GBDI 2
Disciplina
NomeNo. Créditos
Sigla
Aluno
Nome
NUSP
CPFRG
O MER-X suporta duas abstrações de dados: Agregação
Generalização
Extensão do Mapeamento MER-MREL para suporte às abstrações
Mapeamento de Abstrações de Dados
Caso 1: CE Agregação é identificado por atributo próprio + chaves dos CEs que participam do CR gerador uma mesma instância do CR gerador resulta
em mais de uma entidade agregada
Sala
Data
Paciente MédicoAtendeN M
Consulta
NomeNomeRG CRM
Mapeamento de Agregação
Caso 1: CE Agregação é identificado por atributo próprio + chaves dos CEs que participam do CR gerador uma mesma instância do CR gerador resulta
em mais de uma entidade agregada
Sala
Data
Paciente MédicoAtendeN M
Consulta
NomeNomeRG CRM
Mapeamento de Agregação
No mapeamento tradicional, M-N, um mesmo paciente não poderá consultar o mesmo médico novamente – nem mesmo para o retorno.
Médico = {CRM, Nome}
Paciente = {RG, Nome}
Mapeamento de Agregação
Sala
Data
Paciente MédicoAtendeN M
Consulta
NomeNomeRG CRM
Consulta = {Paciente, Medico, Data, Sala}
Caso 2: CE Agregação é identificado por um de seus atributos as chaves dos CE que participam do CR gerador não são necessárias para identificar a agregação
Mapeamento de Agregação
Título
Professor Aluno- Pós
Orienta
Projeto
NomeNFunc
NomeNUSP
MN
Caso 2a: cada instância do CR gera apenas uma entidade agregada...
Mapeamento de Agregação
Título
Professor Aluno- Pós
OrientaMN
Projeto
NomeNFunc
NomeNUSP
Aluno = {NUSP, Nome}
Professor = {Nfunc, Nome}
Projeto = {Título, Orientador, Aluno}
Caso 2b: cada instância do CR gera mais de uma entidade agregada...
Mapeamento de Agregação
Título
Professor Aluno- Pós
OrientaMN
Projeto
NomeNFunc
NomeNUSP
Aluno = {NUSP, Nome}
Professor = {Nfunc, Nome}
Projeto = {Título, Orientador, Aluno}
Caso 2b: cada instância do CR gera mais de uma entidade agregada...
Mapeamento de Agregação
Título
Professor Aluno- Pós
OrientaMN
Projeto
NomeNFunc
NomeNUSP
Aluno = {NUSP, Nome}
Professor = {Nfunc, Nome}
Projeto = {Título, Orientador, Aluno}
Esse mapeamento apresenta um ganho semântico, com o título do projeto como chave.
Caso 3: mistura dos casos 1 e 2b. Duas formas de identificar CE Agregação: 1. chaves dos CE que participam do CR
gerador + atributo da agregação 2. atributo próprio da agregação
Sala
Data
Paciente MédicoAtendeN M
Consulta
NomeNomeRG CRM
Mapeamento de Agregação
NroRegistroConsulta
também identifica univocamente cada consulta
Sala
Data
Paciente MédicoAtendeN M
Consulta
NomeNomeRG CRM
NroRegistroConsulta
Médico = {CRM, Nome}
Paciente = {RG, Nome}
Consulta = {Paciente, Medico, Data,
NroRegistroConsulta, Sala}
Exemplo (caso 1): um relacionamento R1 entre o Professor P1 e a Disciplina D1 pode gerar várias entidades Aula, mas o Livro Texto não muda para cada uma destas aulas....
Data/Horário
Professor Disciplina
Ministra
Livro Texto
NN
Aula
NomeNFunc
NomeSigla
Professor = {Nfunc, Nome} Disciplina = {Sigla,
Nome} Aula = {Nfunc, Sigla, Data/Horário, LivroTexto}
Exemplo: um relacionamento R1 entre o Professor P1 e a Disciplina D1 pode gerar várias entidades Aula, mas o Livro Texto não muda para cada uma destas aulas....
Data/Horário
Professor Disciplina
Ministra
Livro Texto
NN
Aula
NomeNFunc
NomeSigla
Professor = {Nfunc, Nome} Disciplina = {Sigla,
Nome} Ministra = {Nfunc, Sigla, LivroTexto}
Aula = {Nfunc, Sigla,
Data/Horário}
A semântica permite normalizar, gerando uma nova relação.
Três alternativas principais:1. Mapear o CEG e os CEE em relações
diferentes
2. Mapear o CEG e todos os CEE 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
CEG
CEE1 CEEk
Ch
AG
Ae1 Aek
...
CEG = { Ch, AtC, AG } CEE1 = { Ch, Ae1}... CEEk = { Ch, Aek}
Mapeamento da Generalização - Alternativa 1 (relações diferentes)Procedimento Padrão 1
disjunção
DAtC
Uma relação geral com um atributo de tipo (AtC) disjunção.
CEG = { Ch, AtC, AG } CEE1 = { Ch, Ae1}... CEEk = { Ch, Aek}
CEG
CEE1 CEEk
Ch
AG
Ae1 Aek
...
Mapeamento da Generalização - Alternativa 1Procedimento Padrão 2
sobreposição
OAtC
A relação geral não possui atributo de tipo sobreposição.
CEG
CEE1 CEEk
Ch
AG
Ae1 Aek
...
CEG = { Ch, AG } CEE1 = { Ch, Ae1}... CEEk = { Ch, Aek}
CEC={ Ch, AtC}
Mapeamento da Generalização - Alternativa 1Procedimento Padrão 3
OAtC
sobreposição
Uma terceira relação – CEC – que indica a qual tipo de entidade uma dada entidade se refere (neste caso, sobreposição).
CEG
CEE1 CEEk
Ch
AG
Ae1 Aek
...
CEG = { Ch, AtC, AG, Ae1, ... Aek }
Mapeamento da Generalização - Alternativa 2 (única relação)Procedimento Padrão 4
DAtC
disjunção
Uma única tabela com todos os possíveis atributos de todas as possíveis entidades, com atributo de tipo disjunção.
CEG
CEE1 CEEk
Ch
AG
Ae1 Aek
...
Mapeamento da Generalização - Alternativa 2Procedimento Padrão 5
CEG = { Ch, AtC, AG, Ae1, ... Aek }
O
AtC
sobreposição
Uma única tabela com todos os possíveis atributos de todas as possíveis entidades, sem atributo de tipo sobreposição.
CEG
CEE1 CEEk
Ch
AG
Ae1 Aek
...
CEG = { Ch, AG, Ae1,... Aek, BCEE1, .... BCEEk}
Mapeamento da Generalização - Alternativa 2Procedimento Padrão 6
OAtC
sobreposição
Uma única tabela com todos os possíveis atributos de todas as possíveis entidades, sem atributo de tipo, e com atributos booleanos para determinar quais atributos correspondem a quais entidades.
CEG
CEE1 CEEk
Ch
AG
Ae1 Aek
...
CEE1 = { Ch, AG, AE1 }...CEEk = { Ch, AG, AEk }
Mapeamento da Generalização - Alternativa 3 (não há relação genérica)Procedimento Padrão 7
AtC
participação total
Cada relação com seus atributos gerais e específicos.
Sobreposição – uma dada entidade pode ser várias ao mesmo tempo.
Mapeamento da Generalização - Alternativa 3Procedimento Padrão 8
CEG
CEE1 CEEk
Ch
AG
Ae1 Aek
...
CEEk = { Ch, AG, AEk }
CEC={ Ch, AtC}
AtC
D
participação total
Cada relação com seus atributos gerais e específicos.E outra que indica de qual tipo é cada instância disjunção.
CEG
CEE1 CEEk
Ch
AG
Ae1 Aek
...
CEEk = { Ch, AG, AEk }
CEC={ Ch, AtC}
Mapeamento da Generalização - Alternativa 3Procedimento Padrão 9
AtC
O
participação total
Cada relação com seus atributos gerais e específicos.E outra que indica de qual tipo é cada instância sobreposição.
1 CEG = {Ch, AtC, AG} CEEi = {Ch, Aei}
2 CEG = {Ch, AG} CEEi = {Ch, Aei}
3 CEG = {Ch, AG} CEEi = {Ch, Aei} CEC = {Ch,
AtC}
4 CEG = {Ch, AG, AtC, Ae1, Ae2, .... Aem}
5 CEG = {Ch, AG, Ae1, Ae2, .... Aem}
6 CEG = {Ch, AG, Ae1, Ae2, .... Aem, BCEE1,
BCEE2, ...BCEEm}}
7 CEEi = {Ch, AG, Aei}
8 CEEi = {Ch, AG, Aei} CEC = {Ch,
AtC}
9 CEEi = {Ch, AG, Aei} CEC =
{Ch, AtC}
Os 9 Procedimentos Padrão