Você está na página 1de 36

Conte udo do curso Mapeamento do modelo ER Relacional

Universidade Estadual de Campinas - UNICAMP Instituto de Computa c ao - IC

MC536 Bancos de Dados: Teoria e Pr atica


Aula #5 Mapeamento do Modelo ER para o Modelo Relacional

Profs. Anderson Rocha e Andr e Santanch` e


Campinas, 16 de Agosto de 2012

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

1/36

Conte udo do curso Mapeamento do modelo ER Relacional

Conte udo do curso


1. Introdu c ao: arquitetura de banco de dados. 2. Modelos de dados: modelagem e abstra c oes. 3. Modelos conceituais: modelo entidade-relacionamento (ER) b asico e estendido. 4. Modelo relacional: deni c oes e formaliza c ao. 5. Mapeamento do modelo ER para o modelo relacional. 6. Linguagens de deni c ao e de manipula c ao de dados.
Algebra relacional; C alculo relacional.

7. Depend encias funcionais e normaliza c ao. 8. Processamento de consultas. 9. Controle de concorr encia. 10. Mecanismos de prote c ao e recupera c ao.
Anderson Rocha MC536 Bancos de Dados: Teoria e Pr atica 2/36

Conte udo do curso Mapeamento do modelo ER Relacional

Entidades regulares (Fortes) (1)

Cada entidade e transformada em uma rela c ao. O nome costuma ser o mesmo. Cada atributo simples da entidade torna-se um atributo da rela c ao. O identicador da entidade torna-se uma chave prim aria da rela c ao correspondente.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

3/36

Conte udo do curso Mapeamento do modelo ER Relacional

Entidades regulares (Fortes) (2)

CPF

Nome

Idade

Pross ao

Tabela: T PESSOA.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

4/36

Conte udo do curso Mapeamento do modelo ER Relacional

Atributos compostos
Somente os atributos componentes simples s ao inclu dos na nova rela c ao.

Matr cula

Rua

Bairro

Cidade

CEP

Tabela: T EMPREGADO.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

5/36

Conte udo do curso Mapeamento do modelo ER Relacional

Atributos multivalorados (1)

Duas novas rela c oes s ao criadas. A primeira rela c ao cont em todos os atributos da entidade exceto o atributo multivalorado. A segunda rela c ao refere-se ao atributo multivalorado. Dois atributos formam a chave da segunda rela c ao.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

6/36

Conte udo do curso Mapeamento 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 Pr atica 7/36

Conte udo do curso Mapeamento do modelo ER Relacional

Entidades fracas (1)

Para cada entidade fraca


Crie uma nova rela c ao; Inclua todos os seus atributos simples (ou componentes simples de atributos compostos); Inclua a chave prim aria da rela c ao identicadora como um atributo chave estrangeira da nova rela c ao; A chave prim aria da nova rela c ao e a combina c ao da chave prim aria da entidade propriet aria com o identicador parcial da entidade fraca.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

8/36

Conte udo do curso Mapeamento 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 Pr atica 9/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos bin arios

Figura: Exemplo de relacionamento bin ario.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

10/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos bin arios 1 : N (1)

Crie uma rela c ao para cada entidade participante no relacionamento. Inclua o atributo chave prim aria (ou atributos) da entidade do lado 1 do relacionamento como uma chave estrangeira na rela c ao da entidade do lado N.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

11/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos bin arios 1 : N (2)

IdCliente

Nome

Endere co

Tabela: T CLIENTE.

IdPedido

Data

IdCliente

Tabela: T PEDIDO.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

12/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos bin arios 1 : 1 (1)

Caso especial do caso 1 : N . Duas rela c oes s ao criadas uma para cada entidade participante do relacionamento. A chave prim aria de uma das rela c oes e inclu da como chave estrangeira da outra rela c ao. Colocar chave na rela c ao da entidade opcional pois evita nulos.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

13/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos bin arios 1 : 1 (2)

IdEnfermeira

Nome

DataNascimento

Tabela: T ENFERMEIRA.

Nome

Localiza c ao

IdEnfermeira

Data

Tabela: T ALA HOSPITAL.


Anderson Rocha MC536 Bancos de Dados: Teoria e Pr atica 14/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos bin arios N : M (1)

Crie uma rela c ao para cada entidade participante no relacionamento. Crie uma nova rela c ao representando o relacionamento. Inclua como atributos chave estrangeira, as chaves prim arias de cada entidade participante do relacionamento. Estes atributos tornam-se chaves prim arias da nova rela c ao.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

15/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos bin arios N : M (2)

IdMaterial

Custo

UnidadeMedida

Tabela: T MATERIAL.

IdMaterial

IdVendedor

Pre co

IdVendedor

Nome

Endere co

Tabela: T FORNECE.
Anderson Rocha

Tabela: T VENDEDOR.

MC536 Bancos de Dados: Teoria e Pr atica

16/36

Conte udo do curso Mapeamento do modelo ER Relacional

Entidades associativas (1)

Similar ao caso do relacionamento N : M . Crie tr es rela c oes


Uma para cada entidade participante; Uma para a entidade associativa.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

17/36

Conte udo do curso Mapeamento do modelo ER Relacional

Entidades associativas (2)

Caso um identicador n ao tenha sido atribu do ` a entidade associativa


A chave prim aria da rela c ao associativa consiste dos dois atributos chaves prim arias de cada uma das entidades participantes.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

18/36

Conte udo do curso Mapeamento do modelo ER Relacional

Entidades associativas (3)

IdOrdem

Data

Tabela: T ORDEM.

(a) T LISTA. IdOrdem IdProduto Quantidade

(b) T PRODUTO. IdProduto Pre co Descri c ao

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

19/36

Conte udo do curso Mapeamento do modelo ER Relacional

Entidades associativas (4)

A entidade associativa tem um identicador natural que e familiar aos usu arios nais. Os identicadores-padr ao podem n ao identicar univocamente inst ancias da entidade associativa.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

20/36

Conte udo do curso Mapeamento do modelo ER Relacional

Entidades associativas (5)

(c) T CLIENTE. IdCliente Nome

(d) T VENDEDOR. IdVendedor Endere co

N umero

IdCliente

IdVendedor

Quantidade

Data

Tabela: T ENVIA.
Anderson Rocha MC536 Bancos de Dados: Teoria e Pr atica 21/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos un arios (1)

Uma chave estrangeira e acrescentada dentro da mesma rela c ao que referencia os valores da chave prim aria.

Figura: Exemplo de relacionamento un ario.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

22/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos un arios (2)

Matricula

Nome

IdGerente

Tabela: T FUNCIONARIO.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

23/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos un arios N : M (1)

Duas rela c oes s ao criadas. Uma representa a entidade participante do relacionamento. A outra representa o relacionamento N : M

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

24/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos un arios N : M (2)

N umero

Nome

Custo

Tabela: T ITEM.

N umero

Componente Quantidade

Tabela: T COMPONENTE.
Anderson Rocha MC536 Bancos de Dados: Teoria e Pr atica 25/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos tern arios (1)

Converte o relacionamento tern ario em uma entidade associativa de forma a representar mais precisamente restri c oes de participa c ao.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

26/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos tern arios (2)

Figura: Exemplo com relacionamento tern ario.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

27/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos tern arios (3)

Figura: Relacionamento tern ario entidade associativa.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

28/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos tern arios (4)

(a) T PACIENTE. IdPaciente Nome

(b) T MEDICO. IdMedico Nome

(c) T TRATAMENTO. C odigo Descri c ao

(d) T TRATAMENTO PACIENTE. IdPaciente IdMedico C odigo Data Hora Resultado

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

29/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos supertipo/subtipo (1)

Crie uma rela c ao separada para o supertipo e para cada um dos seus subtipos. Coloque os atributos que s ao comuns para todos os membros do supertipo (incluindo a chave prim aria) na rela c ao criada para o supertipo. Coloque os atributos espec cos de cada subtipo em suas respectivas rela c oes. Crie um (ou mais) atributos da rela c ao do supertipo que funcione como um discriminador.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

30/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos supertipo/subtipo (2)

(e) T FUNCIONARIO. N umero Nome Endere co Tipo

(f) T DIARISTA. D N umero TaxaHoras

(g) T ASSALARIADO. A N umero Sal ario

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

31/36

Conte udo do curso Mapeamento do modelo ER Relacional

Relacionamentos supertipo/subtipo (3)

Dependendo da aplica c ao pode-se


Optar por criar apenas rela c oes para subtipos e repetir os atributos. Optar por criar apenas a rela c ao de supertipo e copiar os atributos dos subtipos. Isto ocasiona valores NULOS. Implica c ao no n umero de jun c oes.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

32/36

Conte udo do curso Mapeamento do modelo ER Relacional

Agrega c ao (1)

Similar ao caso da entidade associativa. A chave prim aria da rela c ao de agrega c ao consiste dos atributos chaves prim arias de cada uma das entidades participantes.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

33/36

Conte udo do curso Mapeamento do modelo ER Relacional

Agrega c ao (2)

(h) T ALUNO. RA ...

(i) T TESE. C odigo Tese RA ...

(j) T DEFESA. RA Id Tese ...

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

34/36

Conte udo do curso Mapeamento do modelo ER Relacional

Recapitulando

Modelo ER Entidade Relacionamento 1 : 1 ou 1 : N Relacionamento M : N Atributo composto Atributo multivalorado Relacionamento n- ario Chave Entidade fraca

Modelo Relacional Rela c ao Rela c ao + uma chave estrangeira Rela c ao + duas chaves estrangeiras Conjunto de atributos Rela c ao + uma chave estrangeira Rela c ao + n-chaves estrangeiras Chave prim aria ou alternativa Rela c ao + chaves estrangeiras

Tabela: Correspond encia entre conceitos do MER Relacional.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr atica

35/36

Conte udo do curso Mapeamento do modelo ER Relacional

D uvidas?

Figura: O pensador - Auguste Rodin.


Anderson Rocha MC536 Bancos de Dados: Teoria e Pr atica 36/36

Você também pode gostar