Projeto de
Banco de Dados
Capítulo 3
©Carlos A. Heuser 3
Modelo ER é um modelo formal
©Carlos A. Heuser 4
Poder de expressão limitado
©Carlos A. Heuser 5
Poder de expressão limitado - exemplo
p3
p1 p7
p6 p8
PESSOA p5
p2 p4
m
1 1 e
marido esposa
CASAMENTO
p1,p3
©Carlos A. Heuser 6
Poder de expressão limitado - exemplo
p3
p1 p7
p6 p8
PESSOA p5
p2 p4
m
1 1 e
marido esposa m e
CASAMENTO
p1,p3
p3,p6
©Carlos A. Heuser 7
Poder de expressão limitado - exemplo
p3
p1 p7
p6 p8
PESSOA p5
p2 p4
m
1 1 e
marido esposa m em e
CASAMENTO
p1,p3
p6,p8
p3,p6
©Carlos A. Heuser 8
Poder de expressão limitado - exemplo
p3
p1 p7
p6 p8
PESSOA p5
p2 p4
m m
1 1 e e e
marido esposa m em
CASAMENTO p5,p5
p1,p3
p6,p8
p3,p6
©Carlos A. Heuser 9
Poder de expressão limitado – outro exemplo
e3
e7 e1
e1
e6 e8
EMPREGADO e2 e4 e5 e3
supervisor supervisionado
super- super-
1 n visor visionado
SUPERVISÃO
e1,e3
©Carlos A. Heuser 10
Poder de expressão limitado - exemplo
e3
e7 e1
e1
e6 e8
EMPREGADO e2 e4 e5 e3
supervisor supervisionado super- super-
super- super- visor
1 n visor visionado
visionado e5
SUPERVISÃO
e1,e3 e3,e5
©Carlos A. Heuser 11
Poder de expressão limitado - exemplo
e3
e7 e1
e1
e6 e8
EMPREGADO e2 e4 e5 e3 ?
supervisor supervisionado super- super-
super- super- visor visionado super-
1 n visor visionado visor
e5
SUPERVISÃO
©Carlos A. Heuser 12
Analisar...
13
Analisar...
Resposta: Não
14
Analisar...
15
Equivalência entre modelos
• Modelos equivalentes:
©Carlos A. Heuser 16
Exemplo de modelos equivalentes
=
Modelo que representa o mesmo conceito por meio de
uma entidade
17
Exemplo de equivalência entre modelos
(1,n) (0,n)
MÉDICO CONSULTA PACIENTE
©Carlos A. Heuser 18
Modelo equivalente
MÉDICO PACIENTE
(1,1) (1,1)
código nome código nome
(0,n) (1,n)
CONSULTA
data/hora
©Carlos A. Heuser 19
Transformação de relacionamento n:n em entidade
20
Transformação de relacionamento n:n em entidade
21
Transformação de relacionamento n:n em entidade
22
Transformação de relacionamento n:n em entidade
23
Transformação de relacionamento n:n em entidade
24
Transformação de relacionamento n:n em entidade
25
Transformação de relacionamento n:n em entidade
26
Modelo ER sem relacionamento n:n
• Exemplo:
©Carlos A. Heuser 27
Identificando construções
©Carlos A. Heuser 28
Identificando construções
Recomendação geral
©Carlos A. Heuser 29
Atributo versus entidade relacionada
AUTOMÓVEL
cor
atributo?
©Carlos A. Heuser 30
Atributo versus entidade relacionada
AUTOMÓVEL AUTOMÓVEL
(0,n)
cor
(1,1)
COR
ou entidade
relacionada?
©Carlos A. Heuser 31
Atributo versus entidade relacionada
critérios (1)
• Caso contrário:
©Carlos A. Heuser 32
Atributo versus entidade relacionada
critérios (2)
©Carlos A. Heuser 33
Analisar....
34
Atributo versus generalização/especialização
• Questão:
• como atributo?
©Carlos A. Heuser 35
Atributo versus generalização/especialização
– atributos
– relacionamentos
– generalizações/especializações
©Carlos A. Heuser 36
Atributo versus generalização/especialização
nome código
EMPREGADO
categoria
funcional categoria
funcional é
um atributo?
©Carlos A. Heuser 37
Atributo versus generalização/especialização
ou é uma EMPREGADO
EMPREGADO
EMPREGADO
especialização?
t
categoria
funcional
MOTORISTA ENGENHEIRO
©Carlos A. Heuser 38
Entidade versus especialização
• Questão:
©Carlos A. Heuser 39
Entidade versus especialização
número
endereço
do cartão
PESSOA
ct
escola
secundária
SERVIDOR ALUNO
cargo data de ingresso
©Carlos A. Heuser 40
Entidade versus especialização
número
endereço
do cartão
PESSOA
ct
escola
secundária
Dados da pessoa
SERVIDOR como servidor –
ALUNO
Uma pessoa é
cargo data de ingresso
somente uma vez
servidor
©Carlos A. Heuser 41
Entidade versus especialização
número
endereço
do cartão
PESSOA
1
escola
número Pessoa pode tersecundária
n
vários cargos –
SERVIDOR CARGO ALUNO
Uma instância por
cargo do servidor
data de ingresso
cargo
data início
data fim
©Carlos A. Heuser 42
Entidade versus especialização
número
endereço
do cartão
PESSOA
escola
secundária
Dados da pessoa
SERVIDOR ALUNO
como aluno –
cargo por
uma instância data de ingresso
pessoa
©Carlos A. Heuser 43
Entidade versus especialização
número
endereço
do cartão
PESSOA
ct
escola secundária
ALUNO
Dados da pessoa
SERVIDOR 1
como aluno –
cargo por
uma instância
n
pessoa
INGRESSO
data de ingresso
©Carlos A. Heuser 44
Entidade versus especialização
número
endereço
do cartão
PESSOA
ct
escola secundária
ALUNO
SERVIDOR 1
cargo
n
Dados de cada
INGRESSO
ingresso do aluno
data de ingresso
©Carlos A. Heuser 45
Atributo opcional
• Atributo opcional:
tipo de
empregado
nome
código
data de expiração da
EMPREGADO carteira de habilitação (0,1)
©Carlos A. Heuser 46
Atributo opcional
tipo de
empregado
nome
código
data de expiração da
EMPREGADO carteira de habilitação (0,1) nome código
CREACRM número da carteira
(0,1) (0,1) de habilitação (0,1)
EMPREGADO
t
tipo de
empregado
nome
código
data de expiração da
EMPREGADO carteira de habilitação (0,1) nome código
CREACRM número da carteira
(0,1) (0,1) de habilitação (0,1)
EMPREGADO
t
tipo de
empregado
nome
código
data de expiração da
EMPREGADO carteira de habilitação (0,1) nome código
CREACRM número da carteira
(0,1) (0,1) de habilitação (0,1)
EMPREGADO
t
tipo de
empregado
nome
código
data de expiração da
EMPREGADO carteira de habilitação (0,1) nome código
CREACRM número da carteira
(0,1) (0,1) de habilitação (0,1)
EMPREGADO
t
• SGBD OO ou objeto/relacional:
©Carlos A. Heuser 51
Atributo multivalorado
EMPREGADO
©Carlos A. Heuser 52
Atributo multivalorado
eliminação
EMPREGADO nome
EMPREGADO nome
CPF CNPJ
55
Exercício
56
Exercício
57