SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material...

29
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

Transcript of SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material...

Page 1: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

SCC0141 - Bancos de Dados e Suas Aplicações

Prof. Jose Fernando Rodrigues Junior

Material original: Elaine Parros Machado de Sousa

Mapeamento entre EsquemasParte 1

Page 2: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

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

Page 3: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Passo 1 Como mapear Conjuntos de Entidades?

USP – ICMC – GBDI 3

Disciplina

NomeNo. Créditos

Sigla

Aluno

Nome

NUSP

CPFRG

Page 4: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Atributo Composto

Pessoa = {Nome, NUSP, Rua, Número, CEP, Cidade}

RuaNúmeroCEP

Cidade

Pessoa

Nome

NUSP

Endereço

Page 5: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Passo 2 Como mapear Conjuntos de Entidades

Fracas?

USP – ICMC – GBDI 5

HorárioSala

1Turma

N Corresponde

Page 6: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Tem

Corresponde

HorárioSala

Disciplina

NomeNo. Créditos

1Turma

Número

N

Sigla

Horário

Aula Prática

Laboratório

Código

Disciplina = {Sigla, Nome, NroCreditos}N

1

Turma = {Número, Sigla, Horário, Sala}

Aula_Prática = {Código, Horário, Laboratório, Número, Sigla}

Entidades fracas

Page 7: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

USP – ICMC – GBDI 7

Nome

ComissãoorganizaConferência

Data Instalaçã

o

1 1

NroMembros

Cod

Passo 3

▪ Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade 1:1?

Page 8: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Nome

ComissãoorganizaConferência

Data Instalaçã

o

1 1

Conferência = {Nome}

Comissão = {Cod, NroMembros, Conferência, DtaInst}

NroMembros

Cod

Relacionamentos Binários

▪ Cardinalidade 1:1

Page 9: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Nome

ComissãoorganizaConferência

Data Instalaçã

o

1 1

Conferência = {Nome, CodComissão, DtaInst}

Comissão = {Cod, NroMembros}

NroMembros

Cod

Relacionamentos Binários

▪ Cardinalidade 1:1

Page 10: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Nome

ProjetoparticipaGerente1 1

Cod

Relacionamentos Binários

▪ Cardinalidade 1:1

Gerente = {Nome, Projeto}

Projeto = {Cod}

Restrição de null: na relação Gerente o atributo Projeto deve ser definido como não nulo.

(obrigatoriamente!)

Page 11: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Alternativas para o Mapeamento Relacionamentos Binários 1:1

Nome

ComissãoorganizaConferência

Data Instalaçã

o

1

NroMembros

Cod

1

ConfCom = {Nome, CodComissão, NroMembros, DataInstalação}

Alternativa - uma só relação:

Mapeamento usual: Conferência = {Nome, CodComissão, DataInstalação}

Comissão = {Cod, NroMembros}

Page 12: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Idade

Homem MulherNamora1

1

Nome

Pouca Participação

Alternativas para o Mapeamento Relacionamentos Binários 1:1

Idade

Nometempo

Considerações: o CR Namora representa relacionamentos de namoro na USP São Carlos!

Mapeamento usual

Mulher = {Nome, Idade}Homem = {Nome, Idade, NomeM,

tempo}

Muitos valores nulos!!

Page 13: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Mapeamento alternativo

Mulher = {Nome, Idade}

Homem = {Nome, Idade}

Namoro = {NomeH, NomeM, tempo}

Alternativas para o Mapeamento Relacionamentos Binários 1:1

Desvantagem????

Page 14: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Mapeamento alternativo

Mulher = {Nome, Idade}

Homem = {Nome, Idade}

Namoro = {NomeH, NomeM, tempo}

Alternativas para o Mapeamento Relacionamentos Binários 1:1

Desvantagem????Mais relações e mais junções

Page 15: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Diretor = {Nome, NomeAntecessor}

SucedeDiretor

1

1

Anterior

Sucessor

Papéis dos Relacionamentos

Nome

Page 16: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

USP – ICMC – GBDI 16

Nome

Disciplina

NomeNo. Créditos

MinistraProfessor

Horário

1 N

Passo 4

Sigla

▪ Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade 1:N?

Page 17: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Nome

Disciplina

NomeNo. Créditos

MinistraProfessor

Horário

1 N

Professor = {Nome}

Disciplina = {Sigla, Nome, Créditos, Professor, Horário}

Relacionamentos Binários

Sigla

▪ Cardinalidade 1:N

Page 18: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

NCreditos

Nome

Disciplina

AlunoMonitora1 N

Sigla NUSPHorário

Alternativas para o Mapeamento Relacionamentos Binários 1:N

Considerações: poucos alunos monitoram alguma disciplina

Pouca Participação

Mapeamento usual:

Disciplina = {Sigla, NCréditos}

Aluno = {NUSP, Nome, Sigla, Horário}

Muitos valores nulos!!

Page 19: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Mapeamento alternativo:

Disciplina = {Sigla, NCréditos}

Aluno = {NUSP, Nome}

Monitora = {NUSP, Sigla, Horário}

Alternativas para o Mapeamento Relacionamentos Binários 1:N

Obs: definir restrição de null para o atributo Sigla (em Monitora), para que ele não possa ter valor nulo

Page 20: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

USP – ICMC – GBDI 20

Passo 5▪ Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade M:N?

Nome

NUSP

Disciplina

NomeNo. Créditos

Matriculado Aluno

Nota

M NSigla

Page 21: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Nome

NUSP

Disciplina

NomeNo. Créditos

Matriculado Aluno

Nota

M N

Disciplina = {Sigla, Nome, Créditos}

Aluno = {NUSP, Nome}

Relacionamentos Binários –

Sigla

▪ Cardinalidade M:N

Matriculado = {NUSP, Sigla, Nota}

Page 22: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

USP – ICMC – GBDI 22

Passo 6▪ Como mapear Conjuntos de Relacionamentos com grau > 2?

NomeInício

CodP

Fornecedor

CodF

ForneceProjeto

Qtde

P N

Nome

Peça

M

Page 23: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

NomeInício

CodP

Fornecedor

CodF

ForneceProjeto

Qtde

P N

Nome

Peça

M

Relacionamentos Ternários

Projeto = {CodP, Início}

Fornecedor = {CodF, Nome}

Peça = {Nome}

Fornece= {CodP, Nome, CodF, Qtde}

Page 24: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

No. Créditos

NomeNome

NUSP

Disciplina

Sigla

MonitoraAluno

Horário

1 N

Nome

Professor

M

Relacionamentos Ternários

Aluno = {NUSP, Nome}

Disciplina = {Sigla, Nome, No.Créditos}

Professor = {Nome}

Monitora= {NUSP, NomeProf, Sigla, Horário}

Page 25: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

USP – ICMC – GBDI 25

Passo 7▪ Como mapear atributos multivalorados?

Nro.Ser.Med.

Alergias

Aluno

NUSP

Nomes dos Pais

Page 26: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Atributos Multivalorados

Aluno = {Nome, NSerMed}

N.Ser.Med.

Alergias

AlunoNome

Alergias = {Nome, Alergia}

1a Opção de Mapeamento

Page 27: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Aluno = {NUSP, Nome, Pai, Mae}

Atributos Multivalorados

2a Opção de Mapeamento

Nome

Nomes Pais

Aluno

NUSP

valores possíveis: nome do pai nome da mãe

Page 28: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

USP – ICMC – GBDI 28

1.Mapear todos os CE2.Mapear todos os CE Fracas3.Mapear todos os CR de cardinalidade 1:14.Mapear todos os CR de cardinalidade 1:N5.Mapear todos os CR de cardinalidade N:N6.Mapear todos os CR de grau maior ou igual a 37.Mapear todos os atributos multivalorados

Mapeamento entre Esquemas –Os 7 Passos do Procedimento

Page 29: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas.

Exercício – mapear para o Modelo Relacional

endereço

valordata

Representante RegiãoAtua1 1

Cliente

Pertence

1

N

Venda

Contato

Produto

É Feito

É Feita

Pertence

1N

NN N

1

qtde

data

nome

nota

preçocod

nomeCPF

RG

nomeCNPJ

telefones

estado