Está en la página 1de 5

Mapeamento

Banco de Dados
Mapeamento do Modelo ER para o Modelo Relacional

Mapeamento ER para Modelo Relacional


Entidades (Fortes e Fracas) Atributos (composto e multivalorado) Relacionamentos
Tipos 1:1 , 1:N , M:N Unrios, binrios, ternrios

Mapeamento ER para Modelo Relacional


Subclasses / Superclasses Agregao
1

Entidades (Fortes)
Criar uma relao R para cada entidade. A relao R ter o mesmo nome da entidade Incluir como atributos da relao:
Atributos simples da entidade Componentes simples de atributos compostos

Atributo Multivalorado
Seja A um atributo multivalorado de uma entidade ou relacionamento Criar uma nova relao R contendo A Chave da relao R o atributo chave da entidade ou os atributos chaves das entidades envolvidas no relacionamento + o atributo multivalorado Exemplo:
Esquemas resultantes do Mapeamento para o modelo relacional
RG sexo nome fone

O identificador da entidade torna-se uma chave primria na relao


Se o identificador escolhido for composto, o conjunto de atributos simples formaro juntos a chave de R
RG sexo cidade UF nome local

Funcionrio(RG, sexo, nome)


Funcionrio

Telefones_func(RG, fone )
4

Funcionrio

Funcionrio (RG, nome,sexo,cidade,

UF)

Entidade Fraca
Criar uma relao R para cada entidade fraca Incluir como atributos da relao:
Atributos simples da entidade Componentes simples de atributos compostos a PK da entidade proprietria como chave estrangeira (FK)

Relacionamentos Unrios 1:N


Incluir na relao a chave referente ao papel do lado um no relacionamento A chave includa uma chave estrangeira referenciando os valores da chave primria
nome id

Chave primria de R
Combinao da PK da entidade proprietria com o identificador parcial da entidade fraca
Funcionrio (1,1) Manter (0,N) dependente

Funcionrio (1,1)
gerente

(0,N)
gerenciado

gerenciar

RG

Funcionrio (id, nome, id_gerente )


Nome endereo Nome parentesco idade 5

Dependente (Nome, parentesco,idade, RG )

Representa o relacionamento gerenciado

Relacionamentos Unrios M:N


Criar uma relao representando a entidade participante do relacionamento Outra para representar o relacionamento N:M A chave da relao que representa o relacionamento formada pelo par de chaves da entidade
nome Cod

Relacionamentos Binrios 1:N


Criar uma relao para cada entidade participante no relacionamento Incluir a chave primria da entidade do lado 1 como FK na entidade do lado N
RG sexo num coordenador

Disciplina

(0,N) (0,N)

requisito

nome

Funcionrio

(0,N) Trabalhar

(1,1) Departamento

Esquemas resultantes do Mapeamento para o modelo relacional:

Esquemas resultantes do Mapeamento para o modelo relacional:

PK

FK

Disciplina (Cod, nome ) Requisito (Cod, Cod_requisito)

Funcionrio (RG, nome,sexo, Num)


7

Departamento (Num, coordenador)

Relacionamentos Binrios 1:1


Caso especial do caso 1:N Criar uma relao para cada entidade participante do relacionamento A chave primria de uma das relaes includa como FK da outra relao
Observar as cardinalidade mnima para evitar campos null

Relacionamentos Binrios 1:1


RG sexo nome

cic

num coordenador

Funcionrio

(1,1) Gerenciar (0,1) Departamento

Funcionrio

RG

nome cic

sexo
FK: melhor ficar aqui pois a participao total

Departamento

num coordenador RG
Esquemas resultantes do Mapeamento para o modelo relacional: Funcionrio (RG, nome, cic, sexo) Departamento (num, coordenador, RG)

10

Relacionamentos Binrios N:M


Criar uma relao para cada entidade participante no relacionamento Criar uma nova relao
Incluir como atributos FK as chaves primrias de cada entidade participante do relacionamento Esses atributos compem a chave primria da nova relao Incluir os atributos do relacionamento
11

Relacionamentos Binrios N:M


responsvel CNPJ Fabricante localizao (0,N) Produzir (0,N) Produto cdigo modelo

Fabricante

Produto

cnpj cnpj

responsvel codigo

localizao

cdigo

modelo

Produao

Esquemas resultantes do Mapeamento para o modelo relacional:

Fabricante (cnpj, responsvel,localizao) Produto (cdigo, modelo) Produo(cnpj, codigo)

12

Atributo do relacionamento
responsvel CNPJ Fabricante localizao (0,N) Produzir (0,N) Produto cdigo modelo preo Qdade_mensal

Mapeamento DER para relacional


Nome CNPJ Filial localizao (1,N) Atender (1,N) sexo Cliente cic cdigo nome Esquemas resultantes do Mapeamento para o modelo relacional: Filial (CNPJ, Nome, Localizao) Cliente (Cdigo, Nome, Sexo, CIC) Atendimento (CNPJ, Cdigo) Exemplo de relaes para esses esquemas CNPJ Nome Localizao Atendimento Filial 217279152 MONSANTO Campinas CNPJ Cdigo 1753603077 CROMPTON Paulnia 1532 217279152 HEADLAND Campinas 219811083 1532 1753603077 KENOGARD Vitria 4346809 0145 4346809 Nome Sexo CIC Cliente Cdigo 4346809 6954 1532 Pedro Martins M 01200506324 1753603077 0145 F 0145 Yda Gomes 19058302214 1753603077 6954 217279152 0145 6954 Durval de S M 24031983023

Fabricante

Produto

cnpj

responsvel localizao

cdigo

modelo

Produo

cnpj

cdigo Qdade_mensal preo

Esquemas resultantes do Mapeamento para o modelo relacional:

Fabricante (cnpj, responsvel,localizao) Produto (cdigo, modelo) Produo(cnpj, codigo, preo, Qdade_mensal)

13

14

Relacionamentos Ternrios
Converte-se o relacionamento ternrio em uma entidade
cnpj local responsvel cdigo

Relacionamentos Generalizao
Trs abordagens principais
Criar uma relao nica superclasse Criar N relaes subclasses Criar N+1 relaes superclasse e subclasses

Fabricante 0,N

qdade data

Produto
0,N

modelo nome num tipo

produzir 0,N

Material

num
Produo

nome tipo

Material Fabrica

cnpj

responsvel
Produto

local modelo

Escolha da abordagem
Restrio de no-sobreposio
Disjuntas, Sobreposio

num cnpj cdogo

data qdade

cdigo

Esquemas resultantes do Mapeamento para o modelo relacional: Fabricante (cnpj, responsvel,localizao) Produto (cdigo, modelo) Material (num, nome, tipo) Produo(num, cnpj, codigo, data, qdade)

Restries de completude
Total, Parcial

15

16

Mapear para uma nica relao


Opo 1a: Criar uma nica relao, com o nome da superclasse
Adicionar todos os atributos da superclasse Adicionar todos os atributos das subclasses A chave primria ser definida pela PK da superclasse Adicionar um atributo indicando a qual subclasse pertence a tupla

Mapear para uma nica relao


Opo 1b: Criar uma nica relao, com o nome da superclasse
Adicionar todos os atributos da superclasse Adicionar todos os atributos das subclasses A chave primria ser definida pela PK da superclasse Adicionar um atributo para cada subclasse indicando o tipo

OBS:
Dispensa a utilizao de vrias tabelas em consultas Boa opo para subclasses disjuntas pode gerar valores null
17

OBS:
Dispensa a utilizao de vrias tabelas em consultas Boa opo para subclasses sobrepostas pode gerar muitos valores null

18

Mapear para uma nica relao


Cliente cod nome t,d cic sexo Pessoa fsica Pessoa jurdica

Mapear para N relaes


Criar uma relao Li para cada subclasse Si e Incluir os atributos da subclasse Incluir em cada Li os atributos da superclasse A chave de Li a o atributo identificador da superclasse OBS: No indicado para generalizaes parciais ou com sobreposio

cgc

Opo 1a bom para sunclasses disjuntas Cliente

cdigo

nome CGC

CIC

Sexo

tipo

Opo 1b bom para subclasses sobrepostas o Cliente

cdigo

nome CGC

CIC Sexo Tipo_pf Tipo_pj


19 20

Mapear para N relaes - Exemplo


Cliente t,d
cic sexo
Pessoa fsica Pessoa jurdica

Mapear para N+1 relaes


Criar uma relao separada para a superclasse e uma para cada subclasse Colocar os atributos comuns (incluindo a chave primria) na relao da superclasse Se necessrio, criar um atributo discriminador (de tipo) na relao da superclasse Colocar os atributos especficos de cada subclasse em suas respectivas relaes + a chave primria da superclasse OBS: bom para todos os casos
21 22

cod nome

cgc

Pessoa Fsica

Pessoa Jurdica

cd

CIC nome sexo

cd

nome CNPJ

Esquemas resultantes do Mapeamento para o modelo relacional: Pessoa_fisica (cd, CIC, nome, sexo) Pessoa_juridica (cd,nome, CNPJ)

Mapear paraN+1 relaes - Exemplo


cod

Agregao
Os atributos da entidade agregada so as chaves de cada uma das entidades participantes mais os atributos do relacionamento

Cliente

nome

t,d
cic sexo

Pessoa fsica

Pessoa jurdica

cgc

Cliente

Pessoa Jurdica

Pessoa Fsica

cd

nome tipo

cd

CGC

cd

CIC sexo
23

A chave primria da da entidade agregada consiste dos atributos chaves das duas entidades participantes
24

nome

Agregao
casamento
Id-homem salrio nome (0,N)

nascer
(1,1) data

(0,N)

sexo Id-filho

Filho(a)

Exerccio: Apresente os esquemas das relaes resultantes do mapeamento do DER dado abaixo para o modelo relacional
Nascer_H
(0,N) (1,1)

Id-mulher (0,N)

Nascer_M
(1,1) data

Homem

casar

mulher

nome profisso

(0,N)

casamento
Id-homem salrio (0,N)

Id-mulher (0,N)

Homem

Mulher

Homem

casar

mulher

nome profisso

nome

id_homem
Casamento

nome

salrio

id_mulher nome profisso

id_homem id_mulher data


Filho

id_filho nome sexo id_homem id_mulher

25

26

Exerccio
Faa o mapeamento do DER abaixo utilizando cada uma das abordagens possveis combinaes das restries endereo
Restrio de no-sobreposio Disjuntas, Sobreposio Restries de completude Total, Parcial
cic data_nasc cod

Exerccio para casa


Acrescente atributos ao modelo que representa as referncias entre livros e artigos e ento faa o seu mapeamento para o modelo relacional. Apresente os esquemas das relaes resultantes. OBS: Use cada uma das opes possveis de mapeamento vista em classe.
M Publicao M dp referenciar

Empregado

nome

escolaridade sexo Operrio

especialidade anos-exper Tcnico

titulo cargo Administrativo


27

livro

artigo
28

También podría gustarte