Você está na página 1de 36

Conte

udo do curso
Mapeamento do modelo ER Relacional

  


  
  
  

Universidade Estadual de Campinas - UNICAMP


Instituto de Computacao - IC

MC536 Bancos de Dados: Teoria e Pratica


Aula #5 Mapeamento do Modelo ER para o Modelo Relacional

Profs. Anderson Rocha e Andre 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

Conteudo do curso
1. Introducao: arquitetura de banco de dados.
2. Modelos de dados: modelagem e abstrac
oes.
3. Modelos conceituais: modelo entidade-relacionamento (ER)
basico e estendido.
4. Modelo relacional: definic
oes e formalizacao.
5. Mapeamento do modelo ER para o modelo relacional.
6. Linguagens de definicao e de manipulacao de dados.
I
I

Algebra
relacional;
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 Pr


atica

2/36

Conte
udo do curso
Mapeamento do modelo ER Relacional

Entidades regulares (Fortes) (1)

Cada entidade e transformada em uma relacao.

O nome costuma ser o mesmo.

Cada atributo simples da entidade torna-se um atributo da


relacao.

O identificador da entidade torna-se uma chave primaria da


relacao 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

Profissao

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
I

Somente os atributos componentes simples sao includos na


nova relacao.

Matrcula

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 relacoes sao criadas.

A primeira relacao contem todos os atributos da entidade


exceto o atributo multivalorado.

A segunda relacao refere-se ao atributo multivalorado.

Dois atributos formam a chave da segunda relacao.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr


atica

6/36

Conte
udo do curso
Mapeamento do modelo ER Relacional

Atributos multivalorados (2)

Matrcula

Rua

Bairro

Cidade

CEP

Tabela: T EMPREGADO.

Matrcula

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


I
I

Crie uma nova relacao;


Inclua todos os seus atributos simples (ou componentes
simples de atributos compostos);
Inclua a chave primaria da relacao identificadora como um
atributo chave estrangeira da nova relacao;
A chave primaria da nova relacao e a combinacao da chave
primaria da entidade proprietaria com o identificador 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)

Matrcula

Rua

Bairro

Cidade

CEP

Tabela: T EMPREGADO.

PrimeiroNome

SegundoNome

Matrcula

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 binarios

Figura: Exemplo de relacionamento binario.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr


atica

10/36

Conte
udo do curso
Mapeamento do modelo ER Relacional

Relacionamentos binarios 1 : N (1)

Crie uma relacao para cada entidade participante no


relacionamento.

Inclua o atributo chave primaria (ou atributos) da entidade do


lado 1 do relacionamento como uma chave estrangeira na
relacao 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 binarios 1 : N (2)

IdCliente

Nome

Endereco

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 binarios 1 : 1 (1)

Caso especial do caso 1 : N.

Duas relacoes sao criadas uma para cada entidade


participante do relacionamento.

A chave primaria de uma das relac


oes e includa como chave
estrangeira da outra relacao.

Colocar chave na relacao 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 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 Pr


atica

14/36

Conte
udo do curso
Mapeamento do modelo ER Relacional

Relacionamentos binarios N : M (1)

Crie uma relacao para cada entidade participante no


relacionamento.

Crie uma nova relacao representando o relacionamento.

Inclua como atributos chave estrangeira, as chaves primarias


de cada entidade participante do relacionamento.

Estes atributos tornam-se chaves primarias da nova relacao.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr


atica

15/36

Conte
udo do curso
Mapeamento do modelo ER Relacional

Relacionamentos binarios N : M (2)

IdMaterial

Custo

UnidadeMedida

Tabela: T MATERIAL.

IdMaterial

IdVendedor

Preco

Tabela: T FORNECE.
Anderson Rocha

IdVendedor

Nome

Endereco

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)

I
I

Similar ao caso do relacionamento N : M.


Crie tres relacoes
I
I

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 identificador nao tenha sido atribudo `a entidade


associativa
I

A chave primaria da relacao associativa consiste dos dois


atributos chaves primarias 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

Anderson Rocha

(b) T PRODUTO.
IdProduto

Preco

Descric
ao

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 identificador natural que e


familiar aos usuarios finais.

Os identificadores-padrao podem nao identificar univocamente


instancias 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

N
umero

(d) T VENDEDOR.

Nome

IdCliente

IdVendedor

IdVendedor

Endereco

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 unarios (1)

Uma chave estrangeira e acrescentada dentro da mesma


relacao que referencia os valores da chave primaria.

Figura: Exemplo de relacionamento unario.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr


atica

22/36

Conte
udo do curso
Mapeamento do modelo ER Relacional

Relacionamentos unarios (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 unarios N : M (1)

Duas relacoes sao 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 unarios 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 ternarios (1)

Converte o relacionamento ternario em uma entidade


associativa de forma a representar mais precisamente
restricoes de participacao.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr


atica

26/36

Conte
udo do curso
Mapeamento do modelo ER Relacional

Relacionamentos ternarios (2)

Figura: Exemplo com relacionamento ternario.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr


atica

27/36

Conte
udo do curso
Mapeamento do modelo ER Relacional

Relacionamentos ternarios (3)

Figura: Relacionamento ternario entidade associativa.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr


atica

28/36

Conte
udo do curso
Mapeamento do modelo ER Relacional

Relacionamentos ternarios (4)

(a) T PACIENTE.
IdPaciente

(b) T MEDICO.

Nome

IdMedico

Nome

(c) T TRATAMENTO.
C
odigo

Descric
ao

(d) T TRATAMENTO PACIENTE.


IdPaciente

IdMedico

C
odigo

Anderson Rocha

Data

Hora

Resultado

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 relacao separada para o supertipo e para cada um


dos seus subtipos.

Coloque os atributos que sao comuns para todos os membros


do supertipo (incluindo a chave primaria) na relacao criada
para o supertipo.

Coloque os atributos especficos de cada subtipo em suas


respectivas relacoes.

Crie um (ou mais) atributos da relacao 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

Endereco

(f) T DIARISTA.
Tipo

D N
umero

TaxaHoras

(g) T ASSALARIADO.
A N
umero

Anderson Rocha

Sal
ario

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 aplicacao pode-se


I

Optar por criar apenas relac


oes para subtipos e repetir os
atributos.
Optar por criar apenas a relacao de supertipo e copiar os
atributos dos subtipos. Isto ocasiona valores NULOS.
Implicacao no n
umero de junc
oes.

Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr


atica

32/36

Conte
udo do curso
Mapeamento do modelo ER Relacional

Agregacao (1)

Similar ao caso da entidade associativa.

A chave primaria da relacao de agregacao consiste dos


atributos chaves primarias 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

Agregacao (2)

(h) T ALUNO.
RA

...

(i) T TESE.
C
odigo Tese

Anderson Rocha

RA

(j) T DEFESA.
...

RA

Id Tese

...

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
Relacao
Relacao + uma chave estrangeira
Relacao + duas chaves estrangeiras
Conjunto de atributos
Relacao + uma chave estrangeira
Relacao + n-chaves estrangeiras
Chave primaria ou alternativa
Relacao + chaves estrangeiras

Tabela: Correspondencia 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

Duvidas?

Figura: O pensador - Auguste Rodin.


Anderson Rocha

MC536 Bancos de Dados: Teoria e Pr


atica

36/36