Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Conteudo do cursoMapeamento do modelo ER → Relacional
���������������������������������������������������������������������������������������������������������������� Universidade Estadual de Campinas - UNICAMPInstituto de Computacao - IC
MC536 – Bancos de Dados: Teoria e PraticaAula #5 – Mapeamento do Modelo ER para o Modelo Relacional
Profs. Anderson Rocha e Andre Santanche
Campinas, 16 de Agosto de 2012
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 1/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Conteudo do curso
1. Introducao: arquitetura de banco de dados.
2. Modelos de dados: modelagem e abstracoes.
3. Modelos conceituais: modelo entidade-relacionamento (ER)basico e estendido.
4. Modelo relacional: definicoes e formalizacao.
5. Mapeamento do modelo ER para o modelo relacional.
6. Linguagens de definicao e de manipulacao de dados.I Algebra relacional;I Calculo relacional.
7. Dependencias funcionais e normalizacao.
8. Processamento de consultas.
9. Controle de concorrencia.
10. Mecanismos de protecao e recuperacao.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 2/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Entidades regulares (Fortes) (1)
I Cada entidade e transformada em uma relacao.
I O nome costuma ser o mesmo.
I Cada atributo simples da entidade torna-se um atributo darelacao.
I O identificador da entidade torna-se uma chave primaria darelacao correspondente.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 3/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Entidades regulares (Fortes) (2)
CPF Nome Idade Profissao
Tabela: T PESSOA.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 4/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Atributos compostos
I Somente os atributos componentes simples sao incluıdos nanova relacao.
Matrıcula Rua Bairro Cidade CEP
Tabela: T EMPREGADO.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 5/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Atributos multivalorados (1)
I Duas novas relacoes sao criadas.
I A primeira relacao contem todos os atributos da entidadeexceto o atributo multivalorado.
I A segunda relacao refere-se ao atributo multivalorado.
I Dois atributos formam a chave da segunda relacao.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 6/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Atributos multivalorados (2)
Matrıcula Rua Bairro Cidade CEP
Tabela: T EMPREGADO.
Matrıcula Habilidade
Tabela: T HABILIDADE EMPREGADO.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 7/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Entidades fracas (1)
I Para cada entidade fracaI Crie uma nova relacao;I Inclua todos os seus atributos simples (ou componentes
simples de atributos compostos);I Inclua a chave primaria da relacao identificadora como um
atributo chave estrangeira da nova relacao;I A chave primaria da nova relacao e a combinacao da chave
primaria da entidade proprietaria com o identificador parcial daentidade fraca.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 8/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Entidades fracas (2)
Matrıcula Rua Bairro Cidade CEP
Tabela: T EMPREGADO.
PrimeiroNome SegundoNome Matrıcula DataNascimento
Tabela: T DEPENDENTE EMPREGADO.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 9/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos binarios
Figura: Exemplo de relacionamento binario.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 10/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos binarios 1 : N (1)
I Crie uma relacao para cada entidade participante norelacionamento.
I Inclua o atributo chave primaria (ou atributos) da entidade dolado 1 do relacionamento como uma chave estrangeira narelacao da entidade do lado N.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 11/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos binarios 1 : N (2)
IdCliente Nome Endereco
Tabela: T CLIENTE.
IdPedido Data IdCliente
Tabela: T PEDIDO.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 12/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos binarios 1 : 1 (1)
I Caso especial do caso 1 : N.
I Duas relacoes sao criadas – uma para cada entidadeparticipante do relacionamento.
I A chave primaria de uma das relacoes e incluıda como chaveestrangeira da outra relacao.
I Colocar chave na relacao da entidade opcional pois evitanulos.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 13/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos binarios 1 : 1 (2)
IdEnfermeira Nome DataNascimento
Tabela: T ENFERMEIRA.
Nome Localizacao IdEnfermeira Data
Tabela: T ALA HOSPITAL.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 14/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos binarios N : M (1)
I Crie uma relacao para cada entidade participante norelacionamento.
I Crie uma nova relacao representando o relacionamento.
I Inclua como atributos chave estrangeira, as chaves primariasde cada entidade participante do relacionamento.
I Estes atributos tornam-se chaves primarias da nova relacao.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 15/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos binarios N : M (2)
IdMaterial Custo UnidadeMedida
Tabela: T MATERIAL.
IdMaterial IdVendedor Preco
Tabela: T FORNECE.
IdVendedor Nome Endereco
Tabela: T VENDEDOR.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 16/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Entidades associativas (1)
I Similar ao caso do relacionamento N : M.I Crie tres relacoes
I Uma para cada entidade participante;I Uma para a entidade associativa.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 17/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Entidades associativas (2)
I Caso um identificador nao tenha sido atribuıdo a entidadeassociativa
I A chave primaria da relacao associativa consiste dos doisatributos chaves primarias de cada uma das entidadesparticipantes.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 18/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Entidades associativas (3)
IdOrdem Data
Tabela: T ORDEM.
(a) T LISTA.
IdOrdem IdProduto Quantidade
(b) T PRODUTO.
IdProduto Preco Descricao
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 19/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Entidades associativas (4)
I A entidade associativa tem um identificador natural que efamiliar aos usuarios finais.
I Os identificadores-padrao podem nao identificar univocamenteinstancias da entidade associativa.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 20/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Entidades associativas (5)
(c) T CLIENTE.
IdCliente Nome
(d) T VENDEDOR.
IdVendedor Endereco
Numero IdCliente IdVendedor Quantidade Data
Tabela: T ENVIA.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 21/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos unarios (1)
I Uma chave estrangeira e acrescentada dentro da mesmarelacao que referencia os valores da chave primaria.
Figura: Exemplo de relacionamento unario.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 22/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos unarios (2)
Matricula Nome IdGerente
Tabela: T FUNCIONARIO.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 23/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos unarios N : M (1)
I Duas relacoes sao criadas.
I Uma representa a entidade participante do relacionamento.
I A outra representa o relacionamento N : M
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 24/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos unarios N : M (2)
Numero Nome Custo
Tabela: T ITEM.
Numero Componente Quantidade
Tabela: T COMPONENTE.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 25/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos ternarios (1)
I Converte o relacionamento ternario em uma entidadeassociativa de forma a representar mais precisamenterestricoes de participacao.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 26/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos ternarios (2)
Figura: Exemplo com relacionamento ternario.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 27/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos ternarios (3)
Figura: Relacionamento ternario → entidade associativa.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 28/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos ternarios (4)
(a) T PACIENTE.
IdPaciente Nome
(b) T MEDICO.
IdMedico Nome
(c) T TRATAMENTO.
Codigo Descricao
(d) T TRATAMENTO PACIENTE.
IdPaciente IdMedico Codigo Data Hora Resultado
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 29/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos supertipo/subtipo (1)
I Crie uma relacao separada para o supertipo e para cada umdos seus subtipos.
I Coloque os atributos que sao comuns para todos os membrosdo supertipo (incluindo a chave primaria) na relacao criadapara o supertipo.
I Coloque os atributos especıficos de cada subtipo em suasrespectivas relacoes.
I Crie um (ou mais) atributos da relacao do supertipo quefuncione como um discriminador.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 30/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos supertipo/subtipo (2)
(e) T FUNCIONARIO.
Numero Nome Endereco Tipo
(f) T DIARISTA.
D Numero TaxaHoras
(g) T ASSALARIADO.
A Numero Salario
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 31/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Relacionamentos supertipo/subtipo (3)
I Dependendo da aplicacao pode-seI Optar por criar apenas relacoes para subtipos e repetir os
atributos.I Optar por criar apenas a relacao de supertipo e copiar os
atributos dos subtipos. Isto ocasiona valores NULOS.I Implicacao no numero de juncoes.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 32/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Agregacao (1)
I Similar ao caso da entidade associativa.
I A chave primaria da relacao de agregacao consiste dosatributos chaves primarias de cada uma das entidadesparticipantes.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 33/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Agregacao (2)
(h) T ALUNO.
RA . . .
(i) T TESE.
Codigo Tese RA . . .
(j) T DEFESA.
RA Id Tese . . .
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 34/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Recapitulando
Modelo ER Modelo RelacionalEntidade RelacaoRelacionamento 1 : 1 ou 1 : N Relacao + uma chave estrangeiraRelacionamento M : N Relacao + duas chaves estrangeirasAtributo composto Conjunto de atributosAtributo multivalorado Relacao + uma chave estrangeiraRelacionamento n-ario Relacao + n-chaves estrangeirasChave Chave primaria ou alternativaEntidade fraca Relacao + chaves estrangeiras
Tabela: Correspondencia entre conceitos do MER → Relacional.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 35/36
Conteudo do cursoMapeamento do modelo ER → Relacional
Duvidas?
Figura: O pensador - Auguste Rodin.
Anderson Rocha MC536 – Bancos de Dados: Teoria e Pratica 36/36