You are on page 1of 28

Tecnologia em Informtica

Banco de Dados
Modelo Entidade-Relacionamento
Edivaldo de Arajo Pereira

Promoo Humana

Universidade Tuiuti do Paran

Faculdade de Cincias Exatas e de Tecnologia

Sumrio

Introduo

Modelo Entidade-Relacionamento
Entidade
Relacionamento
Atributo
Generalizao / Especializao

Concluso

Exerccio prtico

UTP Tecnologia em Informtica

Banco de Dados

Introduo

Etapas de projeto e implementao de BD

CREATE TABLE Clientes (


cliCodigo Integer not null,
cliNome Varchar(30),
cliDtNasc Date,
cliRG Char(15),
cliCPF Char(14),
cliEndereco Varchar(30),
cliCidade Varchar(25),
estUF Char(2) not null,
cliFone Char(15),
cliRenda Decimal(10,2),
PRIMARY KEY (cliCodigo)
);
CREATE TABLE Vendas (
venNumero Integer not null,
venData Date,
cliCodigo Integer not null,
venQtItens Integer default 0,
venVlTotal Decimal(10,2) default 0,
funCodigo Integer not null,
PRIMARY KEY (venNumero)
);

minimundo

Levantamento
de requisitos

modelo conceitual

Construo do
modelo conceitual

UTP Tecnologia em Informtica

modelo lgico

Construo do
modelo lgico

esquema

banco de dados

Execuo do projeto fsico e


instanciao do banco de dados

Banco de Dados

Introduo

Um modelo de banco de dados uma descrio formal


de sua estrutura por meio de uma linguagem simblica

Para cada nvel de abstrao, h uma linguagem de


modelagem de dados:

Modelos conceituais

Modelos lgicos

foco: minimundo, delimitao do contexto, usurios externos


foco: aplicao, implementao, projetistas de BD e aplicaes

Modelos fsicos

foco: estruturas fsicas de arquivos, lgica de implementao de


SGBD, projetistas de SGBD
Dica: ler textos IBM_... e Gupta_... sobre as diferenas entre os modelos de dados

UTP Tecnologia em Informtica

Banco de Dados

Introduo

Modelo Conceitual (utilizando MER)


Descreve o banco de dados no mais alto nvel de abstrao
Representa de forma sinttica objetos e fatos do minimundo
independente dos recursos de implementao, tais como
SGBD e hardware
Representa os conjuntos de objetos ou eventos registrados
no BD, mas no indica como seus dados so armazenados
A tcnica mais utilizada o Modelo Entidade-Relacionamento,
materializado no Diagrama Entidade-Relacionamento (DER)

(0,N)

(0,1)

UTP Tecnologia em Informtica

Banco de Dados

Modelo Entidade-Relacionamento

Descreve aspecto estrutural esttico do BD

no reflete fluxos de dados ou trocas de mensagens

Modelo = Diagrama + descrio textual associada

Elementos bsicos
Entidades
Relacionamentos
Atributos (no utilizado no modelo conceitual - IBM/Gupta)
Cardinalidades

UTP Tecnologia em Informtica

Banco de Dados

Entidade

Uma entidade representa um conjunto de elementos


(objetos ou fatos) de mesma natureza

Cada elemento do mundo real representado em uma


entidade referenciado como uma instncia dessa
entidade

Representao no DER:
Entidade

UTP Tecnologia em Informtica

Banco de Dados

Relacionamento

Um relacionamento representa a associao entre os


objetos de uma ou mais entidades

No DER, os relacionamentos interligam entidades, mas


representam associaes entre suas instncias

Representao no DER (Peter Chen):

Cliente

UTP Tecnologia em Informtica

[adquire]

Produto

Banco de Dados

Relacionamento

Participao e Cardinalidade

Representam as quantidades possveis de associaes entre as


instncias representadas em um relacionamento

participao: limite inferior ou obrigatoriedade (0 ou 1)


cardinalidade: limite superior ou mximo (1 ou N)

Participao e cardinalidade so representadas por 2 pares


ordenados nas extremidades do relacionamento
Representao no DER (Peter Chen):

participao

ent_x

(1,1)

cardinalidade

rel_xy

(0,N)

ent_y

Obs: h duas notaes distintas que utilizam a mesma


simbologia - look here x look across
UTP Tecnologia em Informtica

Banco de Dados

Relacionamento

Participao e Cardinalidade

Exemplo:

Pode haver um cliente associado a vrios pedidos


Pode haver um cliente que no esteja associado a nenhum pedido
um pedido est obrigatoriamente associado a um, e somente um,
cliente

Cliente

(0,N)

efetua

(1,1)

Pedido

Obs: esta a notao look here


UTP Tecnologia em Informtica

10

Banco de Dados

Relacionamento

Participao e Cardinalidade

Representaes possveis:

Tipo

Simbologia

um e apenas um

(1,1)

Zero ou Muitos

(0,N)

Um ou Muitos

(1,N)

Zero ou Um

(0,1)

UTP Tecnologia em Informtica

11

Banco de Dados

Relacionamento

Conectividade
Descreve a associao entre entidades de um relacionamento
Pode ser entendido como uma forma sinttica de
especificao de cardinalidades
Representa de modo simplificado as indicaes de
cardinalidade dos dois lados de um relacionamento
Obs: note-se a aparente inverso de cardinalidade look here

Conectividade

Notao

Um para um
Um para muitos
Muitos para Muitos
UTP Tecnologia em Informtica

Na entidade A

Na entidade B

(0,1)
(1,1)

(0,1)
(1,1)

N B

(0,N)
(1,N)

(0,1)
(1,1)

N B

(0,N)
(1,N)

(0,N)
(1,N)

12

Banco de Dados

Relacionamento

Conectividade x cardinalidade

Cardinalidades

Cliente

(0,N)

efetua

(1,1)

Pedido

Conectividades

Note a aparente inverso entre cardinalidade e conectividade:


- look here x look across
UTP Tecnologia em Informtica

13

Banco de Dados

Atributos

Representam caractersticas dos elementos


pertencentes a uma entidade ou a um relacionamento
Correspondem aos campos em um sistema de
processamento de arquivos
Podem ser inerentes ou arbitrrios
inerentes/naturais: fazem parte da entidade no minimundo
arbitrrios/sintticos: criados para atender demandas do BD

Podem ser de vrios tipos:


simples x compostos
monovalorados x multivalorados
primitivos x derivados
chaves x no-chaves

UTP Tecnologia em Informtica

14

Banco de Dados

Atributos

Representao no DER (Peter Chen):

Atributo simples
Atributo chave
Atributo multivalorado
Atributo derivado

UTP Tecnologia em Informtica

15

Banco de Dados

Atributo

Exemplo:
a entidade Funcionrio possui atributos: chave, simples,
multivalorado e derivado
a entidade Departamento possui atributos: chave e simples
o relacionamento Aloca possui somente atributos simples

UTP Tecnologia em Informtica

16

sal
a

Departamento
nom
e
ram
al

car
g

f in a

dt_

dt_
in

cio

Aloca

(0,N)

cd
igo

(1,N)

nom
e
end
ere
o
Tel
e fo
n es
dt_
nas
cim
ent
o
ida
de

ma
trc

ula

Funcionrio

Banco de Dados

Auto-Relacionamento

Uma entidade pode possuir instncias relacionadas


entre si
Exemplo:
um funcionrio pode, ou no, ser supervisor de outros
um funcionrio supervisionado por um supervisor
sup
e

rvis
or

(0,N) supervisor

Funcionrio

supervisor

(1,1)

re
o
Tel
efo
nes
dt_
nas
cim
ent
o
ida
de

end
e

nom

ma
trc
ul

supervisionado

UTP Tecnologia em Informtica

17

Banco de Dados

Relacionamento n-rio

Um relacionamento pode associar simultaneamente


vrias entidades
O poder de representao (semntica) de um
relacionamento n-rio ampliado pela simultaneidade
No possvel decompor um relacionamento n-rio em
relacionamentos binrios sem perda de capacidade
semntica (teorema a ser explorado...)

UTP Tecnologia em Informtica

18

Banco de Dados

Relacionamento ternrio x binrio

Um relacionamento ternrio fornece informaes


diferentes de trs relacionamentos binrios

Mdico

(0,N)

Consulta

(1,N)

Paciente

(0,N)

Medicamento

Obs: notao look here


UTP Tecnologia em Informtica

19

Banco de Dados

Entidades fortes e fracas

Uma instncia de uma entidade fraca depende da


existncia de uma instncia correspondente na
entidade forte
O relacionamento entre a entidade fraca e a entidade
forte chamado relacionamento identificador
A entidade fraca pode relacionar-se com qualquer
outra entidade do modelo
Representao no DER:
Scio

(0,N)

possui

(1,1)

dependente

Obs: notao look here


UTP Tecnologia em Informtica

20

Banco de Dados

Classes de Entidades

Entidade Semente
tm existncia prpria
no dependem de outras entidades
tm chave primria simples

Entidade Caracterstica
tm funo de descrever (caracterizar) outra entidade
s podem existir em funo da entidade que descrevem
tm chave primria composta

Entidade Associativa
tm a funo de materializar relacionamentos muitos-paramuitos entre duas ou mais entidades
tm chave primria composta

UTP Tecnologia em Informtica

21

Banco de Dados

Generalizao e Especializao

Generalizao a definio de uma entidade genrica


que engloba atributos comuns a mais de uma entidade,
mantendo-se os atributos especficos nas entidades
originais (bottom-up)
Especializao a decomposio de uma entidade em
outras com atributos especficos, mantendo-se os
atributos cumuns na entidade original (top-down)
Em outras palavras: especializao e generalizao
tratam do mesmo problema, a partir de pontos de vista
opostos

UTP Tecnologia em Informtica

22

Banco de Dados

Generalizao e Especializao

Exemplo:

Filial

Cliente

atende

uma

Pessoa
fsica

UTP Tecnologia em Informtica

23

Pessoa
jurdica

Banco de Dados

Generalizao e Especializao

Conceitos associados

Hierarquia:

Restries sobre generalizao:

transitividade: uma entidade herda propriedades das ancestrais


assimetria: no pode haver ciclos ( se A -> B, ento ! B-> A)
Completude: total ou completa x parcial ou incompleta
Sobreposio: sobreposta x disjunta
Exemplos:

Veculo->(trator,caminho): parcial, disjunta

Figura->(elipse,quadrado,crculo): parcial, disjunta

Indivduo->(homem,mulher): total, disjunta

Atleta->(nadador,corredor): parcial, sobreposta

Profundidade de hierarquias:

deve-se evitar nveis excessivos

UTP Tecnologia em Informtica

24

Banco de Dados

Agregao

Agrega duas ou mais entidades em um conceito ou


entidade de mais alto nvel
Permite tratar relacionamentos como entidades de
nvel de abstrao mais alto
pessoa
t, d

casal
homem

mulher
realiza

UTP Tecnologia em Informtica

25

bodas
Banco de Dados

Exerccio prtico

Construa um DER que represente um banco de dados


qualquer (farmcia, locadora, boteco etc)
O modelo deve conter pelo menos 5 entidades
Represente apenas entidades, relacionamentos e
cardinalidades (ignore os atributos, generalizao etc)
Utilize qualquer ferramenta grfica de sua
preferncia, mas exporte em formato jpg ou pdf
envie para edivaldo.pereira@utp.br

Dica: http://www.sis4.com/brModelo/

UTP Tecnologia em Informtica

26

Banco de Dados

Links Interessantes

http://en.wikipedia.org/wiki/Entityrelationship_model

UTP Tecnologia em Informtica

27

Banco de Dados

Promoo Humana

Universidade
Tuiuti do
Paran

FIM
UTP Tecnologia em Informtica

28

Banco de Dados

You might also like