Você está na página 1de 7

Banco

Banco de
de Dados
Dados // 11

Banco
Banco de
de Dados
Dados // 22

Modelo EntidadeEntidade-Relacionamento
 Projeto de um BD:

Engenharia da Computao
Univasf

BANCO DE DADOS

(1) modelo conceitual


(2) projeto lgico
 Modelo EntidadeEntidade-Relacionamento:
modelo conceitual de dados
criado em 1976 por Peter Chen

Aula 2

Modelo EntidadeEntidade-Relacionamento

representado graficamente pelo Diagrama


Entidade-Relacionamento (DER)

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 33

Banco
Banco de
de Dados
Dados // 44

Modelo EntidadeEntidade-Relacionamento

Modelo EntidadeEntidade-Relacionamento

 Diagrama EntidadeEntidade-Relacionamento (DER)

 Objetivos:
Facilitar o projeto de BD, permitindo construir a
sua estrutura lgica global.

data
rua
nome

nmero

cidade

saldo
cliente

cliente
conta

conta

Obter descrio abstrata dos dados que sero


armazenados, independente de implementao
em computador.
 Defini
Definio:
Percepo de um universo constitudo por um
grupo de objetos (entidade) e por
relacionamentos entre estes objetos.

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 55

Banco
Banco de
de Dados
Dados // 66

Entidades e Conjunto de Entidades

Conjuntos de Entidades - Representa


Representao
Exemplo:

entidade  um objeto no mundo real que existe e


distinguvel de outros objetos.
 pode ser concreta (pessoa, livro), ou abstrata (feriado,
conceito)
 Exemplo: Joo Alves, com CPF 898.889.888-66

cliente

conta


conjunto de entidades  grupo de entidades do mesmo


tipo.
 Exemplo: conjunto de pessoas que possuem conta
em uma agncia bancria pode ser definido como o
conjunto de entidades cliente.
cliente

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

agncia

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 77

Banco
Banco de
de Dados
Dados // 88

Conjuntos de Entidades

Banco de Dados no Modelo EE-R

 Os conjuntos de entidades no precisam ser


independentes.

 Banco de Dados: cole


coleo de conjuntos de entidades,
contendo, cada um, um certo n
nmero de entidades do
mesmo tipo.

Exemplo: poss
possvel definir um conjunto de
entidades de todos os empregados de um banco
(empregado) e um conjunto de entidades com
todos os clientes do banco (cliente)

 A entidade pessoa pode pertencer ao conjunto de


entidades empregado,
empregado, ou ao conjunto de entidades
cliente,
cliente, a ambos, ou a nenhum.

Lus

900.888.777-55

Rua X, 123

Marlia

Heitor

556.435.987-98

Av. Antonio, 865

Ja

Marta

647.456.222-34

Rua 14, 789

Bauru

Joana

801.543.123-77

Rua Sto Amaro, 12

Marlia

Felipe

647.455.323-97

Rua da Curva, 89

So Paulo

Banco
Banco de
de Dados
Dados // 10
10

Atributos

Atributos

Atributos  propriedades descritivas de cada entidade.




Exemplo: possveis atributos da entidade cliente:


nome, CPF, endereo, cidade.

Domnio: conjunto de valores permissveis do atributo.




801

654,12

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 11
11

Banco
Banco de
de Dados
Dados // 12
12

Categorias de atributos

Categorias de atributos

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

561,89

Exemplo: uma particular entidade cliente:


{(nome,Joo), (CPF, 898.889.888-66), (endereo, Av.
Liberdade 234), (cidade, So Paulo)}

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

 Um atributo pode ser caracterizado pelos


seguintes tipos:
 simples ou compostos
 monovalorados ou multivalorados
 nulos
 derivado

647

Definio formal de atributo  funo que relaciona o


conjunto de entidades a seu domnio
 Cada entidade descrita por um conjunto de pares
(atributo, valor)  um par para cada atributo do conjunto
de entidades.


Exemplo: o domnio do atributo nome pode ser o


conjunto de todas as strings de texto de um certo
tamanho.

 Valores dos atributos que descrevem as


entidades constituem uma por
poro significativa
dos dados que sero armazenados no banco de
dados.

458,98

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 99

678,00

556

Conjunto de entidades
conta

Conjunto de entidades
cliente
Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

900

atributo simples  no dividido em partes.

atributo composto  pode ser dividido em partes


(isto , outros atributos).
 Exemplo: endere
endereo pode ser estruturado em
rua,
rua, nmero,
mero, bairro,
bairro, cidade e estado.
estado.
 til quando o usu
usurio deseja se referir ao atributo
como um todo em certas ocasies e somente a
parte dele em outras.

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 13
13

Banco
Banco de
de Dados
Dados // 14
14

Categorias de atributos

Categorias de atributos

 monovalorados  o atributo nmero_conta de uma


entidade espec
especfica refererefere-se apenas a um n
nmero
de conta.

 Atributos nulos  usado quando uma


entidade no possui valor para determinado
atributo.

 multivalorados  instncias onde um atributo


possui um conjunto de valores para uma nica
entidade.
 Exemplo: conjunto de entidades empregado e o
atributo nome_dependente: pode ter um, nenhum
ou vrios dependentes.
 Diferentes entidades empregado dentro do
conjunto de empregados tero diferentes
nmero de valores para o atributo
nome_dependente.

 Exemplo: se um empregado em particular no


possui dependentes, o valor do atributo
nome_dependente para este dependente dever
ser nulo,
nulo e isto significa que este atributo no
aplicvel.
Nulo tambm pode significar que o valor do
atributo desconhecido.

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 15
15

Banco
Banco de
de Dados
Dados // 16
16

Categorias de atributos

Entidades e atributos - Representa


Representao
Exemplo:

 Atributos derivados  aquele cujo valor pode ser


derivado de outros atributos ou entidades a ele
relacionados.
 Exemplo: conjunto de entidades empregado
possui o atributo quantidade_dependentes que
representa o n
nmero de pessoas dependentes
do funcion
funcionrio e, portanto, pode ser obtido
atrav
atravs da soma do n
nmero das entidades
dependentes associadas ao empregado em
questo.

rua
nome

nmero

cidade

saldo
cliente

conta

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 17
17

Banco
Banco de
de Dados
Dados // 18
18

Relacionamentos e Conjuntos de Relacionamentos

Relacionamentos e Conjuntos de Relacionamentos

Relacionamento  associa
associao entre v
vrias entidades.
 Conjunto de relacionamentos um grupo de
relacionamentos do mesmo tipo.
 Formalmente: a relao matemtica com n2
conjuntos de entidades (podendo ser no distintos).
 Sendo E1, E2,...,En conjuntos de entidades, um
conjunto de relacionamentos R um sub-conjunto
de:
{( e1, e2,...,en) | e1 E1, e2 E2,..., en En },
onde:
(e1, e2,...,en) um relacionamento

 Exemplo: relacionamento ClienteConta


denota a associa
associao entre clientes e suas
contas banc
bancrias.
Lus

900.888.777-55

Rua X, 123

Marlia

Heitor

556.435.987-98

Av. Antonio, 865

Ja

Marta

647.456.222-34

Rua 14, 789

Bauru

Joana

801.543.123-77

Rua Sto Amaro, 12

Marlia

Felipe

647.455.323-97

Rua da Curva, 89

So Paulo

Conjunto de entidades
cliente
Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

900

678,00

556

458,98

647

561,89

801

654,12

Conjunto de entidades
conta

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 19
19

Banco
Banco de
de Dados
Dados // 20
20

Relacionamentos e Conjuntos de Relacionamentos

Representa
Representao de Relacionamentos

Grau de um relacionamento  nmero de conjuntos


de entidades que participam de um conjunto de
relacionamentos.

Exemplo:

No exemplo, ClienteConta um relacionamento


bin
binrio (grau 2)  envolve dois conjuntos de
entidades.

cliente

Relacionamentos bin
binrios so os mais comuns.
Por
Porm, h
h conjuntos de relacionamentos que
envolvem mais do que dois conjuntos de entidades.

cliente
conta

conta

 Exemplo: relacionamento tern


ternrio (grau 3): (Joo,
647, Centro)  Cliente Joo,
Joo, possui a conta 647
na agncia Centro  instncia do relacionamento
que envolve os conjuntos de entidades cliente,
cliente,
conta e agncia.
agncia.
Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 21
21

Banco
Banco de
de Dados
Dados // 22
22

Representa
Representao de Relacionamento Tern
Ternrio

Relacionamentos e Conjuntos de Relacionamentos


Papel da entidade  fun
funo que uma entidade
desempenha em um relacionamento.

agncia

conta

CCA

Especificamente til quando o significado de um


relacionamento precisa de esclarecimentos 
quando os conjuntos de entidades de um conjunto
de relacionamentos no so distintos (auto(autorelacionamento).
relacionamento).
cliente

 Exemplo: conjunto de relacionamentos


trabalhatrabalha-para,
para, formado pelos pares ordenados
das entidades empregado.
empregado.
O primeiro empregado do par desempenha o papel de
gerente
O segundo assume o papel de subordinado
Pares  (gerente, subordinado).

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 23
23

Banco
Banco de
de Dados
Dados // 24
24

Relacionamentos e Conjuntos de Relacionamentos

Relacionamentos e Conjuntos de Relacionamentos

Exemplo:
gerente
empregado

subordinado

Trabalha
para

 Uma instncia de relacionamento em um esquema


E-R representa a existncia de uma associa
associao
entre a entidade e o mundo real no qual se insere o
empreendimento que est
est sendo modelado.
 Atributos descritivos  atributos pr
prprios do conjunto
de relacionamentos.
 Exemplo: data poderia ser um atributo do conjunto
de relacionamentos ClienteConta,
ClienteConta, especificando
quando aquela conta foi movimentada pela ltima
vez.

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 25
25

Banco
Banco de
de Dados
Dados // 26
26

Representa
Representao do Modelo EE-R

Exerc
Exerccios
1. O que o Modelo Entidade-Relacionamento? O que
o Diagrama Entidade-Relacionamento?

data

2. Defina Entidade e conjunto de entidades. D um


exemplo.

rua
nome

nmero

cidade

saldo
cliente

cliente
conta

conta

3. D um exemplo para cada um dos seguintes atributos:


simples, composto,monovalorado,multivalorado e
derivado.
4. O que grau de um relacionamento? D um exemplo
para relacionamento de grau 2 e outro para grau 3.
5. O que papel de uma entidade em um
relacionamento? D um exemplo.
6. O que so atributos descritivos? D um exemplo.

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 27
27

Banco
Banco de
de Dados
Dados // 28
28

Cardinalidade de mapeamentos

Cardinalidade UmUm-parapara-um

 Expressa

o nmero de entidades ao qual


outra entidade pode estar associada via um
relacionamento.


 Uma entidade em A est


est associada no m
mximo
com uma entidade em B, e uma entidade em B
est
est associada com, no m
mximo, uma entidade
em A

teis principalmente em relacionamentos


binrios

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

a1

b1

a2

b2

a3

b3

a4

b4
Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 29
29

Banco
Banco de
de Dados
Dados // 30
30

Cardinalidade UmUm-parapara-um

Cardinalidade UmUm-parapara-muitos
 Uma entidade em A est
est associada com vrias
entidades em B. Uma entidade em B, entretanto,
deve estar associada, no m
mximo, a uma entidade
em A.

Exemplo:

cliente

compra

produto

a1

b1

a2

b2

a3

b3
b4

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 31
31

Banco
Banco de
de Dados
Dados // 32
32

Cardinalidade UmUm-parapara-muitos

Cardinalidade MuitosMuitos-parapara-um
 Uma entidade em A est
est associada a no m
mximo
uma entidade em B. Uma entidade em B,
entretanto, pode estar associada a um nmero
qualquer de entidades em A

Exemplo:

cliente

compra

produto

a1

b1

a2

b2

a3

b3

a4
Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 33
33

Banco
Banco de
de Dados
Dados // 34
34

Cardinalidade MuitosMuitos-parapara-um

Cardinalidade MuitosMuitos-parapara-muitos
 Uma entidade em A est
est associada a qualquer
nmero de entidades em B, e uma entidade em B
est
est associada a um n
nmero qualquer de
entidades em A

Exemplo:

cliente

compra

produto

a1

b1

a2

b2

a3

b3

a4

b4

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 35
35

Banco
Banco de
de Dados
Dados // 36
36

Cardinalidade MuitosMuitos-parapara-muitos

Cardinalidade Outras nota


notaes

 Exemplo: cardinalidade umum-parapara-muitos

Exemplo:

cliente

cliente

compra

compra

produto

produto

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

cliente

compra

produto

cliente

compra

produto

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 37
37

Banco
Banco de
de Dados
Dados // 38
38

Representa
Representao de autoauto-relacionamentos

Cardinalidade de Relacionamento Tern


Ternrio

 Papel deve ser especificado atrav


atravs de
rtulos nas linhas que ligam os retngulos
aos losangos.
 Exemplo:
empregado

gerente

empregado

Trabalha
para
CIDADE

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 40
40

Cardinalidade M
Mnima

Exerc
Exerccios

 Outra informao que pode ser representada por um


modelo ER.
 Nmero mnimo de ocorrncias de uma entidade que so
associadas a uma ocorrncia de outra entidade atravs de
um relacionamento.
 Consideramos apenas duas cardinalidades mnimas: 0 e 1
 A cardinalidade mnima 1 tambm recebe a denominao
de associao obrigatria.
 A cardinalidade mnima 0 tambm recebe a denominao
de associao opcional.

compra

(1,1)

PRODUTO

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Banco
Banco de
de Dados
Dados // 39
39

(0,1)

DISTRIBUIO

 A cada par (cidade,produto) est associado no mximo um


distribuidor.
 A um par (cidade,distribuidor) podem estar associados muitos
produtos.
 A um par (produto,distribuidor) podem estar associados muitas
cidade.

Trabalha
para

subordinado

empregado

subordinado
gerente

 Em um relacionamento R entre trs entidades A, B e C, a


cardinalidade de A e B dentro de R indica quantas
ocorrncias de C podem estar associadas a um par de
ocorrncias de A e B.
 Exemplo:
DISTRIBUIDOR

produto

Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques

Faa o Diagrama Entidade-Relacionamento para as situaes abaixo.


Coloque pelo menos dois atributos para cada conjunto de entidades.
Indique as cardinalidades mximas e mnimas.
1. Um professor orientador tem vrios alunos orientados, mas um aluno pode ter
um nico orientador. Um aluno obrigatoriamente deve ter um orientador.
2. Em uma universidade, um professor tem vrios alunos e um aluno pode ter
vrios professores. Um curso tem vrios alunos matriculados, mas um aluno
pode estar matriculado em um nico curso. Um aluno obrigatoriamente deve
estar matriculado em um curso e deve ter no mnimo um professor.
3. Em uma empresa area, uma aeronave pode ser pilotada por vrios pilotos e
um piloto pode ser habilitado para pilotar vrias aeronaves. Um piloto
sediado em uma nica cidade. Um piloto deve estar habilitado para uma
aeronave no mnimo.
4. Um coordenador de curso responsvel por vrios professores. Um professor
tem obrigatoriamente um nico coordenador. O coordenador tambm um
professor.
5. Em uma academia de ginstica, um instrutor tem vrios alunos. Os alunos
podem freqentar vrias modalidades (tipos de atividade), sendo que cada
modalidade tem vrias turmas. Um aluno deve estar matriculado no mnimo
em uma turma.
Prof.
FFtima
tima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Prof
Prof
Nunes Marques
Marques