Bancos de Dados
Do DER para o
Modelo Físico de Dados
BD
Do DER para Modelo Físico
Prof. André Luiz Souza
Bancos de Dados
1 para 1 – As 2 entidades são agrupadas em uma
única tabela
A
1
B
1
C
DER
A1
A2
A3
C1
C2
AC
Modelo Físico
Do DER para Modelo Físico
A1
A2
A3
C1
C2
integer not null
char(30) null
datetime not null
varchar(30) null
smallint not null
Prof. André Luiz Souza
1 para 1 – Exemplo
Bancos de Dados
DER
homem
mulher
casamento
datahora
cpf
nome
cpf
nome
casamento
Modelo Físico
cpf_homen numeric(11) not null
cpf_mulher numeric(11) not null
nome_mulher varchar(40) not null
nome_homen varchar(40) not null
datahora datetime not null
casamento
Exemplo
Tabela
cpf_homem cpf_mulher nome_mulher
nome_homem
datahora
328349
2983787
Maria
João
10/08/02
849873
2347879
Rita
Pedro
11/11/01
......
Do DER para Modelo Físico
......
....
....
....
Prof. André Luiz Souza
Bancos de Dados
1 para N ou N para 1 – o Cj de entidades de
cardinalidade N recebe a FK, referente a PK do Cj entidades
de cardinalidade 1
D
DER
D1
D2
D3
Modelo
Físico
F
Y
F1
F2
D
D1 integer not null
D2 char(30) null
D3 datetime not null
F
D1 = X9
F1 integer not null
F2 char(30) null
X9 integer not null
A ponta da seta indica a tabela que tem a PK do relacionamento, e na outra
extremidade da seta temos a tabela que tem a FK do relacionamento.
Do DER para Modelo Físico
Prof. André Luiz Souza
1 para N ou N para 1 - Exemplo
Bancos de Dados
pessoa
DER
cidade
nasceu
cpf
nome
Modelo
Físico
codigo
nome
cidade
pessoa
cpf numeric(11) not null
nome varchar(50) null
cidade integer null
codigo
=
cidade
codigo integer not null
nome varchar(30) null
pessoa
cpf
Exemplo
Tabela
32
42
53
87
....
Do DER para Modelo Físico
nome
Pedro
Maria
Rita
João
........
cidade
cidade
734
432
132
432
......
codigo
132
734
432
....
nome
Uberaba
Araxá
Campinas
........
Prof. André Luiz Souza
Bancos de Dados
N para N- O relacionamento será transformado em tabela no modelo físico
com 2 FKs.
G
I
H
DER
G1
G2
G3
H1
I1
I2
Modelo Físico
G
G1 integer not null
G2 char(30) null
G3 date not null
G1
=
W5
H
H1 integer not null
X7 integer null
W5 integer not null
I1
=
X7
I
I1 integer not null
I2 char(30) null
A ponta da seta indica a tabela que tem a PK do relacionamento, e na outra
extremidade da seta temos a tabela que tem a FK do relacionamento. É como se
fosse 1 para N de G para H e 1 para N de I para H.
Do DER para Modelo Físico
Prof. André Luiz Souza
Bancos de Dados
DER
N para N - Exemplo
motorista
cnh
nome
saída
Modelo Físico cnh
motorista
cnh integer not null
nome varchar(50) null
=
cnh
carro
dirige
dirige
saida datetime not null
carro char(7) not null
cnh integer not null
placa
nome
placa
=
carro
carro
placa char(7) not null
nome varchar(15) null
Exemplo Tabela
dirige
motorista
cnh
32
42
53
87
....
nome
Pedro
Maria
Rita
João
........
saida
carro
10/05/03 11:10
11/06/03 14:10
12/07/03 15:10
17/03/03 10:14
21/04/03 09:15
......
DSI2233
FDC3232
DSI2233
FDC3232
FRS1211
.......
Do DER para Modelo Físico
carro
cnh
42
42
53
87
32
....
placa
nome
FDC3232 Fusca
FRS1211 Palio
DSI2233 Gol
.....
......
Prof. André Luiz Souza
Bancos de Dados
Relacionamento com
chave primária composta
D
DER
Modelo
Físico
F
E
D1
D2
D3
D
D1 integer not null
D2 char(30) null
D3 datetime not null
F1
F2
D1 = X9
D3 = Q7
F
F1
F2
X9
Q7
integer not null
char(30) null
integer not null
datetime null
A chave estrangeira (FK) deve ter a mesma quantidade de colunas que a PK
correspondente. As colunas devem ser do mesmo tipo.
Do DER para Modelo Físico
Prof. André Luiz Souza
Bancos de Dados
2 cj de relacionamentos entre 2 cj de entidades
cidades
DER
pessoas
nasceu
codigo
cpf
mora
nome
Modelo Físico
cidades
nome
codigo integer not null
nome varchar(50) null
codigo = cidade
Exemplo Tabela
cidades
codigo
32
42
53
87
....
nome
Uberaba
Araxá
Itú
Caldas
........
Do DER para Modelo Físico
pessoas
codigo = nasceu
cpf numeric(11)not null
nome varchar(35) not null
nasceu integer not null
cidade integer null
pessoas
cpf
32
42
53
87
....
nome
Pedro
Maria
Rita
João
........
nasceu
42
87
53
42
......
cidade
42
53
87
32
.....
Prof. André Luiz Souza
Relacionamento ternário
Bancos de Dados
D
E
D1
D2
D3
DER
G1
G2
G
F
F1
F2
Modelo Físico
E
D
D1 integer not null
D2 char(30) null
D3 date not null
D1 = E3
E1
E2
E3
E4
integer not null
datetime null
integer not null
date null
G1 = E2
G
F1 = E4
F
F1 date not null
F2 char(30) null
G1 datetime not null
G2 char(30) null
Do DER para Modelo Físico
Prof. André Luiz Souza
Auto-Relacionamento
Bancos de Dados
Modelo Físico
DER
pessoas
é pai de
pessoas
cpf numerc(11) not null
nome char(30) null
pai numeric(11) null
cpf
cpf
=
pai
nome
Exemplo Tabela
pessoas
cpf
32
42
53
87
....
Do DER para Modelo Físico
nome
pai
Pedro
Maria
Ricardo
João
........
null
53
32
53
......
Prof. André Luiz Souza
Auto-Relacionamento duplo
Bancos de Dados
Modelo Físico
pessoas
DER
cpf
=
mae
é mãe de
pessoas
é pai de
cpf numerc(11) not null
nome char(30) null
pai numeric(11) null
mae numeric(11) null
Exemplo Tabela
pessoas
cpf
nome
cpf
32
42
53
87
....
Do DER para Modelo Físico
cpf
=
pai
nome
Pedro
Maria
Rita
João
......
pai
mae
null
87
32
32
......
42
53
null
53
.....
Prof. André Luiz Souza
Agregação
Bancos de Dados
DER
D1
D2
D
F1
F2
F
E
K
G
G1
G2
Modelo Físico
E
D
D1 integer not null
D2 char(30) null
D1 = E3
E1
E2
E3
E4
integer not null
datetime null
integer not null
date null
G1 = E2
G
G1 datetime not null
G2 char(30) null
Do DER para Modelo Físico
F1 = E4
F
F1 date not null
F2 char(30) null
Prof. André Luiz Souza
Download

do DER para o Modelo Físico - Professor André Luiz Souza