290 likes | 488 Views
SCC0141 - Bancos de Dados e Suas Aplicações. Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas Parte 1. Mapeamento entre Esquemas – Mapeamento MER MRel. MER - modelo conceitual
E N D
SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas Parte 1
Mapeamento entre Esquemas –Mapeamento MER MRel • MER - modelo conceitual • usado para especificar conceitualmente a estrutura dos dados de uma aplicação • Projeto Conceitual – descrição carregada de semântica • Modelo Relacional - modelo de implementação • usado para suportar a implementação de aplicações • Projeto Lógico • SGBDR SGBD que se apóia no modelo relacional
Disciplina Nome No. Créditos Sigla Passo 1 • Como mapear Conjuntos de Entidades? Aluno Nome NUSP CPF RG USP – ICMC – GBDI
Pessoa Nome Rua Pessoa = {Nome, NUSP, Rua, Número, CEP, Cidade} NUSP Número CEP Endereço Cidade Atributo Composto
Disciplina Nome No. Créditos Corresponde Sigla Número Passo 2 • Como mapear Conjuntos de Entidades Fracas? N 1 Turma Horário Sala USP – ICMC – GBDI
Sigla Número Entidades fracas Nome Horário No. Créditos Sala N 1 Disciplina Turma Corresponde 1 Tem Disciplina = {Sigla, Nome, NroCreditos} N Aula Prática Turma = {Número, Sigla, Horário, Sala} Código Horário Laboratório Aula_Prática = {Código, Horário, Laboratório, Número, Sigla}
Passo 3 • Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade 1:1? Comissão organiza Conferência 1 1 Cod Nome Data Instalação NroMembros USP – ICMC – GBDI
Relacionamentos Binários • Cardinalidade 1:1 Comissão organiza Conferência 1 1 Cod Nome Data Instalação NroMembros Conferência = {Nome} Comissão = {Cod, NroMembros, Conferência, DtaInst}
Relacionamentos Binários • Cardinalidade 1:1 Comissão organiza Conferência 1 1 Cod Nome Data Instalação NroMembros Conferência = {Nome, CodComissão, DtaInst} Comissão = {Cod, NroMembros}
Relacionamentos Binários • Cardinalidade 1:1 Projeto participa Gerente 1 1 Cod (obrigatoriamente!) Nome Gerente = {Nome, Projeto} Restrição de null: na relação Gerente o atributo Projeto deve ser definido como não nulo. Projeto = {Cod}
Comissão organiza Conferência 1 1 Cod Nome Data Instalação NroMembros • Alternativa - uma só relação: ConfCom = {Nome, CodComissão, NroMembros, DataInstalação} Alternativas para o MapeamentoRelacionamentos Binários 1:1 • Mapeamento usual: • Conferência = {Nome, CodComissão, DataInstalação} • Comissão = {Cod, NroMembros}
Pouca Participação Alternativas para o MapeamentoRelacionamentos Binários 1:1 Considerações: o CR Namora representa relacionamentos de namoro na USP São Carlos! 1 Namora Mulher Homem 1 Nome Nome tempo Idade Idade Muitos valores nulos!! • Mapeamento usual • Mulher = {Nome, Idade} • Homem = {Nome, Idade, NomeM, tempo}
Alternativas para o MapeamentoRelacionamentos Binários 1:1 • Mapeamento alternativo • Mulher = {Nome, Idade} • Homem = {Nome, Idade} • Namoro = {NomeH, NomeM, tempo} Desvantagem????
Alternativas para o MapeamentoRelacionamentos Binários 1:1 • Mapeamento alternativo • Mulher = {Nome, Idade} • Homem = {Nome, Idade} • Namoro = {NomeH, NomeM, tempo} Desvantagem???? Mais relações e mais junções
Papéis dos Relacionamentos Anterior 1 Diretor Sucede 1 Sucessor Nome Diretor = {Nome, NomeAntecessor}
Passo 4 • Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade 1:N? Disciplina Professor Ministra N 1 Sigla Nome Nome Horário No. Créditos USP – ICMC – GBDI
Relacionamentos Binários • Cardinalidade 1:N Disciplina Professor Ministra N 1 Sigla Nome Nome Horário No. Créditos Professor = {Nome} Disciplina = {Sigla, Nome, Créditos, Professor, Horário}
Alternativas para o MapeamentoRelacionamentos Binários 1:N Pouca Participação Considerações: poucos alunos monitoram alguma disciplina Monitora Aluno Disciplina 1 N Horário Sigla NUSP Muitos valores nulos!! NCreditos Nome • Mapeamento usual: • Disciplina = {Sigla, NCréditos} • Aluno = {NUSP, Nome, Sigla, Horário}
Alternativas para o MapeamentoRelacionamentos Binários 1:N • Mapeamento alternativo: • Disciplina = {Sigla, NCréditos} • Aluno = {NUSP, Nome} • Monitora = {NUSP, Sigla, Horário} Obs: definir restrição de null para o atributo Sigla (em Monitora), para que ele não possa ter valor nulo
Passo 5 • Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade M:N? Disciplina Aluno Matriculado N M Sigla NUSP Nome Nota Nome No. Créditos USP – ICMC – GBDI
Matriculado = {NUSP, Sigla, Nota} Relacionamentos Binários – • Cardinalidade M:N Disciplina Aluno Matriculado N M Sigla NUSP Nome Nota Nome No. Créditos Aluno = {NUSP, Nome} Disciplina = {Sigla, Nome, Créditos}
Passo 6 • Como mapear Conjuntos de Relacionamentos com grau > 2? Fornecedor Projeto Fornece N P CodF CodP Qtde M Nome Início Peça Nome USP – ICMC – GBDI
Relacionamentos Ternários Fornecedor Projeto Fornece N P CodF CodP Qtde M Nome Início Peça Projeto = {CodP, Início} Nome Fornecedor = {CodF, Nome} Peça = {Nome} Fornece= {CodP, Nome, CodF, Qtde}
Disciplina Aluno Monitora N 1 Sigla NUSP Horário M Nome Nome No. Créditos Professor Nome Monitora= {NUSP, NomeProf, Sigla, Horário} Relacionamentos Ternários Aluno = {NUSP, Nome} Disciplina = {Sigla, Nome, No.Créditos} Professor = {Nome}
Passo 7 • Como mapear atributos multivalorados? Aluno NUSP Nro.Ser.Med. Alergias Nomes dos Pais USP – ICMC – GBDI
Aluno Nome N.Ser.Med. Alergias Aluno = {Nome, NSerMed} Alergias = {Nome, Alergia} Atributos Multivalorados • 1a Opção de Mapeamento
Atributos Multivalorados • 2a Opção de Mapeamento Aluno valores possíveis: nome do pai nome da mãe NUSP Nome Nomes Pais Aluno = {NUSP, Nome, Pai, Mae}
Mapeamento entre Esquemas –Os 7 Passos do Procedimento Mapear todos os CE Mapear todos os CE Fracas Mapear todos os CR de cardinalidade 1:1 Mapear todos os CR de cardinalidade 1:N Mapear todos os CR de cardinalidade N:N Mapear todos os CR de grau maior ou igual a 3 Mapear todos os atributos multivalorados USP – ICMC – GBDI
Exercício – mapear para o Modelo Relacional CPF estado nome RG nome Atua 1 1 Representante Região 1 Pertence telefones endereço N N nome 1 Contato É Feito Cliente CNPJ 1 data É Feita valor N data N N Produto Pertence nota Venda cod preço qtde