Você está na página 1de 63

Projeto de

Banco de Dados
Slides - verso 2
Abordagem entidade-
relacionamento

A tcnica de modelagem de dados mais difundida


e utilizada a Abordagem ER.

A abordagem ER foi criada em 1976 por Peter


Chen a !ual pode ser considerada como um
padr"o de fato para a modelagem conceitual.
Abordagem entidade-
relacionamento

#esta tcnica o modelo de dados repre$


sentado atra%s de um modelo entidade$
relacionamento &modelo ER'.

(m modelo ER representado graficamente


atra%s de um diagrama entidade$
relacionamento &)ER'.
Abordagem
Entidade-relacionamento

A primeira etapa do pro*eto de um banco de


dados consiste na constru+"o de um modelo
conceitual chamada ,odelagem Conceitual.

- ob*eti%o da ,odelagem Conceitual obter


uma descri+"o abstrata independente da
implementa+"o em computador e tambm
dos dados !ue ser"o armazenados.
Fases de Projeto BD

- pro*eto de um no%o banco de dados dar$se$.


em tr/s fases0

Modelagem Conceitual

#esta primeira fase constru1do o modelo


conceitual na forma de um diagrama entidade$
relacionamento &)ER'.

Este modelo captura as necessidades da


organiza+"o em termos de armazenamento
de dados independentemente de
implementa+"o.
Fases de Projeto BD

Projeto Lgico

A etapa de pro*eto l2gico tem como ob*eti%o


transformar o modelo conceitual obtido na
primeira fase em um modelo lgico.

- modelo lgico define como o banco de


dados ser. implementado no 345) escolhido.
Fases de Projeto BD

Projeto fsico

#esta etapa o modelo do banco de dados


enri!uecido com detalhes !ue influenciam no
desempenho do banco de dados mas n"o
interferem em sua funcionalidade.

- modelo obtido nesta fase chamado de


modelo f1sico.

Altera+6es futuras neste modelo n"o afetam


as aplica+6es !ue usar"o o banco de dados
*. !ue o modelo n"o en%ol%e aspectos
funcionais do banco de dados.
Projeto Fsico

#a pr.tica o pro*eto f1sico um processo


cont1nuo !ue ocorre mesmo depois de o banco
de dados estar implementado e em opera+"o.

Este processo chamado de tuning &sintonia'


de banco de dados.

#"o escopo da disciplina a sintonia de banco


de dados dado sua natureza intr1nseca ao
345) em uso.
Modelagem de Dados
Modelo Conceitual

)escri+"o do banco de dados de forma


independente sem le%ar em conta como
ser. sua implementa+"o em um 345).

#esta tcnica um modelo conceitual


usualmente representado atra%s de um
diagrama conhecido como )ER.
Modelo Conceitual

-s modelos descre%em o dom1nio

3"o melhor compreendidos por usu.rios leigos.

E7emplo0
Produto
pre+o
descri+"o
c2digo
8ipo de
Produto
descri+"o
c2digo
n
1
Entidade

Con*unto de ob*etos da realidade modelada


sobre os !uais dese*a$se manter informa+6es no
banco de dados.

9nteressam$nos somente os ob*etos sobre os


!uais dese*a$se manter as informa+6es.
Entidade

Alguns e7emplos em um sistema industrial as


entidades poderiam ser os produtos os tipos de
produtos as %endas ou as compras.

Em uma outra realidade sistemas de contas


correntes algumas entidades poderiam ser os
clientes as contas correntes os che!ues e as
ag/ncias.
Entidade cont!"

: importante notar !ue as entidades podem


tanto representar ob*etos concretos da realidade
modelada &uma pessoa um aluno' !uanto
ob*etos abstratos &um curso um departamento
um endere+o'.

Em um )ER uma entidade representada


atra%s de um ret;ngulo !ue contm o nome da
entidade.
PE33-A )EPAR8A,E#8- A<(#-
Entidade vs!
#corr$ncia de Entidade

#os ret;ngulos do slide anterior representado


o con*unto de todas as pessoas sobre as !uais
se dese*a manter informa+6es no banco de
dados e o mesmo %ale para os departamentos.

Caso se*a necess.rio referir um ob*eto particular


&uma determinada pessoa ou departamento em
particular' fala$se em ocorrncia &ou inst;ncia'
da entidade.

)esta forma o slide anterior indica apenas !uais


os con*untos de ob*etos sobre os !uais
dese*amos armazenar as informa+6es...
Entidade cont!"

...e n"o !uais informa+6es !ue de%em ser


mantidas para cada ob*eto.

Estas informa+6es s"o definidas pelas


propriedades das entidades dadas pelos
relacionamentos pelos atributos e pelas
generaliza+6es=especializa+6es.
%elacionamento

(ma das propriedades sobre as !uais pode ser


dese*.%el manter informa+6es a associa+"o
entre ob*etos.

-u se*a pode ser dese*.%el saber !uais


pessoas est"o associadas a !uais
departamentos em uma organiza+"o.

A propriedade de entidade !ue especifica as


associa+6es entre ob*etos o relacionamento.

- relacionamento o con*unto de associa+6es


entre ocorr/ncias de entidades.
%elacionamento cont!"

#o )ER um relacionamento representado


atra%s de um losango ligado por linhas aos
ret;ngulos &entidades' !ue participam do
relacionamento.

-bser%e a figura abai7o0


)EPAR8A,E#8- PE33-A <-8A>?-
%elacionamento cont!"

)a mesma forma !ue fizemos com as entidades


!uando !uisermos nos referir a associa+6es
espec1ficas dentro de um con*unto %amos nos
referir a ocorrncias ou instncias de
relacionamentos.

#o caso do relacionamento <-8A>?- uma


ocorr/ncia seria um par espec1fico formado por
uma determinada ocorr/ncia de entidade PE33-A
e por uma determinada ocorr/ncia de entidade
)EPAR8A,E#8-.
Auto-relacionamento

#"o necessariamente um relacionamento


associa entidades diferentes.

Auto$relacionamento acontece !uando h.


um relacionamento entre ocorr/ncias de
uma mesma entidade.

#este caso em particular necess.rio um


conceito adicional o de papel da entidade
no relacionamento.
papel da entidade

: a fun+"o !ue uma inst;ncia da entidade


cumpre dentro de uma inst;ncia do relacio$
namento.

Por e7emplo no caso de um relacionamento de


casamento uma ocorr/ncia de pessoa e7erce o
papel de marido

E a outra ocorr/ncia de pessoa e7ercer. o papel


de esposa.
papel da entidade

Papis s"o anotados no )ER como mostra a


figura a seguir0
PE33-A
CA3A,E#8-
esposa marido
Cardinalidade de
relacionamentos

Para fins de pro*eto de banco de dados uma


propriedade importante de um relacionamento
de !uantas ocorr/ncias de uma entidade podem
estar associadas a uma determinada ocorr/ncia
atra%s do relacionamento.

Esta propriedade chamada de cardinalidade


de uma entidade em um relacionamento.

@. duas cardinalidades a considerar0

Card. m.7ima

Card. m1nima
Cardinalidade cont!"

Cardinalidade &min ma7' de entidade em


relacionamento

A nBmero &m1n ma7' de ocorr/ncias de


entidade associadas a uma ocorr/ncia da
entidade em !uest"o atra%s do relacionamento.
Cardinalidade m&'ima

Para e7emplificar o conceito de cardinalidade


%amos analisar o e7emplo abai7o0

A entidade EMPREGADO tem cardinalidade


m.7ima 1 no relacionamento LOTAO.

9sto significa !ue uma ocorr/ncia de EMPREGADO


pode estar associada a no m.7imo uma
ocorr/ncia de DEPARTAMENTO ou em outros
termos !ue um empregado pode estar lotado
em no m.7imo um departamento.
Cardinalidade m&'ima

Apenas duas cardinalidades m.7imas s"o


consideradas0

A cardinalidade m.7ima um &(' e

A cardinalidade m.7ima ilimitada usualmente


chamada CmuitosDe representada pela letra )n*.

Assim no e7emplo acima diz$se !ue a


cardinalidade m.7ima da entidade
DEPARTAMENTO no relacionamento LOTAO n.
Cardinalidade m&'ima
)EPAR8A,E#8- E,PRE4A)- <-8A>?-
( n
E7pressa !ue a uma ocorr/ncia de
E,PRE4A)- pode estar associada
a no m.7imo uma & C1D ' ocorr/ncia
de )EPAR8A,E#8-
E7pressa !ue a uma ocorr/ncia de
)EPAR8A,E#8- podem estar
associadas muitas & CnD ' ocorr/ncias
de E,PRE4A)-
Cardinalidade m&'ima

-bser%ando o )ER E primeira %ista a


cardinalidade pode parecer pouco natural *.
!ue %ai anotada Cdo outro ladoD do
relacionamento ao !ual se refere.

E7emplificando a cardinalidade m.7ima da


entidade EMPREGADO no relacionamento
LOTAO anotada *unto ao s1mbolo da entidade
DEPARTAMENTO.
Classi+ica,o dos
%elacionamentos bin&rios

A cardinalidade m.7ima pode ser usada para


classificar relacionamentos bin.rios.

(m relacionamento bin.rio a!uele cu*as


ocorr/ncias cont/m duas ocorr/ncias de
entidade como todos os %istos at agora.

Podemos classificar os relacionamentos bin.rios


em0

n - n &muitos para muitos'

( - n &um pra muitos'

( - ( &um pra um'


%elacionamentos bin&rios
PE33-A
CA3A,E#8-
esposa marido

As cardinalidades
m.7imas e7pressam
!ue uma pessoa pode
possuir no m&'imo um
marido e !ue uma
pessoa pode possuir
no m&'imo uma
esposa.
( (
%elacionamentos bin&rios

Podemos obser%ar !ue o relacionamento


CASAMENTO tambm um relacionamento
bin.rio apesar de en%ol%er uma entidade.

- !ue determina o fato de o relacionamento ser


bin.rio o n.mero de ocorr$ncias de entidade
!ue participam de cada ocorr/ncia do
relacionamento.

)e cada ocorr/ncia de CASAMENTO participam


e7atamente duas ocorrncias da entidade
PESSOA um marido e uma esposa.
%elacionamentos bin&rios

- relacionamento INSCRIO modela a inscri+"o


de alunos em uma uni%ersidade onde h. uma
restri+"o do aluno estar inscrito no m&'imo em
apenas um curso.
A<(#-
C(R3- 9#3CR9>?-
n
(
E7pressa !ue a uma ocorr/ncia de
A<(#- pode estar associada
a no m.7imo uma & C1D ' ocorr/ncia
da C(R3-
E7pressa !ue a uma ocorr/ncia de
C(R3- podem estar associadas
muitas & CnD ' ocorr/ncias da A<(#-
%elacionamentos bin&rios
E,PRE4A)-
3(PERF93?-
super%isionado super%isor
n
(
- relacionamento 3(PERF93?-
um auto$relacionamento 10n.
Ele modela a associa+"o entre
E,PRE4A)- &super%isor' e
seus super%isionados imediatos
tambm ocorr/ncias da entidade
E,PRE4A)-.
A cardinalidade m.7ima
e7pressa !ue um empregado
pode possuir no m&'imo um
super%isor e muitos
super%isionados.
%elacionamentos bin&rios

Relacionamentos n-n.

: o tipo menos restrito de relacionamento.


A<-CA>?- E#4E#@E9R- PR-GE8-
n n
C-#3(<8A ,:)9C- PAC9E#8E
n n
CAPAC9)A)E PE>A H-R#ECE)-R
n n
%elacionamento /ern&rio
Cardinalidade mnima

(ma outra informa+"o !ue pode ser e7pressa


em um modelo ER o nBmero m1nimo de
ocorr/ncias de entidades associadas a uma
ocorr/ncia de uma entidade atra%s de um
relacionamento.

Para fins de pro*eto de 5) consideram$se


apenas duas cardinalidades m1nimas0

a cardinalidade m1nima I

a cardinalidade m1nima 1
Cardinalidade mnima

A cardinalidade m1nima 1 tambm recebe a


denomina+"o de Cassocia+"o obrigat0riaD

9ndica !ue o relacionamento de%e


obrigatoriamente associar uma ocorr/ncia de
entidade a cada ocorr/ncia da entidade em
!uest"o.
Cardinalidade mnima

Com base na mesma linha de racioc1nio a


cardinalidade m1nima C1* recebe a denomina+"o
Cassocia+"o o2cionalD.

Anotamos a cardinalidade m1nima no )ER *unto


E cardinalidade m.7ima conforme a seguir0
Cardinalidade mnima

A cardinalidade m1nima usada para especificar


!ue cada empregado de%e ter a ele alocada
obrigatoriamente uma mesa &cardinalidade m1nima 1'J

(ma mesa pode e7istir sem !ue a ela este*a


alocada um empregado &cardinalidade m1nima I'.
A<-CA>?- E,PRE4A)- ,E3A
&11' &I1'
Diagrama DE%

- modelo conceitual a seguir representa uma


parte de um sistema de controle acad/mico.

- modelo descre%e o seguinte0


Deseja-se manter inorma!"es so#re al$nos% &$rsos%
dis&iplinas e departamentos'
Al(m disso% deseja-se manter inorma!"es so#re a
asso&ia!)o de al$nos a &$rsos% de dis&iplinas a &$rsos% de
dis&iplinas a departamentos% #em &omo de dis&iplinas a
s$as dis&iplinas pr(-re*$isito'
Diagrama DE%
#bserva,3es

A distribui+"o dos s1mbolos de )ER no papel


totalmente arbitr.ria e n"o tem maior significado
do ponto de %ista formal.

E%ite cruzar linhas a fim de tornar o diagrama


mais leg1%el e compreens1%el.

Procure posicionar os ret;ngulos mais


representati%os de entidades !ue participam de
muitos relacionamentos ao centro do diagrama.
Atributo

- modelo ER permite a especifica+"o de


2ro2riedades de entidades0
9. Participar de um relacionamento.
99.8er um atributo.

- conceito de atributo ser%e para associar


informa+6es a ocorr/ncias de entidades ou de
ocorr/ncias de relacionamentos.

Atributo corresponde ao dado !ue associado


a cada ocorr/ncia de uma entidade ou de um
relacionamento.
Atributos

Atributos s"o representados graficamente


conforme abai7o0

A figura e7pressa !ue cada ocorr/ncia de


PRO+ETO tem associado e7atamente um nome
um c2digo e um tipo.
PR-GE8-
tipo
c2digo
nome
Atributos em %elacionamentos-
Exemplo 1

Assim como as entidades os relacionamentos podem possuir


atributos.

- relacionamento AT,AO possui um atributo !ue representa a


fun+"o !ue uma ocorr/ncia da entidade ENGEN-EIRO e7erce dentro
de uma ocorr/ncia da entidade PRO+ETO.
E#4E#@E9R-
nome
c2digo
PR-GE8-
descri+"o
c2digo
A8(A>?-
& In ' & In '
+un,o
Atributos em %elacionamentos

Esta Cfun+"oD n"o pode ser considerada


atributo de ENGEN-EIRO *. !ue um
engenheiro pode atuar em di%ersos pro*etos
e7ercendo diferentes fun+6es.

8ambm n"o pode ser atributo do PRO+ETO


%isto !ue em um pro*eto podem atuar
muitos engenheiros com fun+6es diferentes.

#este outro e7emplo de atributo em relacionamento


agora em um relacionamento (-n modelam$se as %endas
em uma empresa.

Algumas %endas ocorrem E %ista outras E prazo.

As !ue s"o %endas E prazo s"o relacionadas a uma


financeira atra%s do relacionamento .INANCIAMENTO.

-s atributos n/ de par&elas e ta0a de j$ros s"o atributos em


relacionamento.

Ambos atributos poderiam ter sido inclu1dos na entidade


1ENDA. Porm neste caso seriam atributos opcionais *.
!ue nem toda %enda a prazo para possu1$los
Atributos em %elacionamentos
Atributos em %elacionamento-
Exemplo 2
H9#A#CE9RA
nome
c2digo
FE#)A
data
c2digo
H9#A#C9A,E#8-
& I1 ' & In '
ta7a de *uros
nK de parcelas
4denti+icando Entidades

Cada entidade de%e possuir um


identi+icador.

4denti+icador de entidade 5 con*unto de um


ou mais atributos e relacionamentos cu*os
%alores ser%em para distinguir ocorr/ncias
da entidade das demais na mesma entidade.

- caso mais simples o da entidade !ue possui


um Bnico atributo como identificador.
4denti+icando Entidades

#o )ER a seguir o atributo identificador


representado por um c1rculo preto.

- atributo &2di3o o identificador.

Cada pessoa possuir. um &2di3o distinto.

-s demais atributos n"o s"o identificadores L


um mesmo nome pode ser associado E pessoas
diferentes por e7emplo.
4denti+icador Sim2les
PE33-A
nome
c2digo
endere+o
4denti+icador Com2osto

Podemos ter tambm 9dentificador da Entidade


composto.

)i%ersos atributos compondo o identificador.

Por e7emplo0
Em $m almo0ariado os prod$tos s)o dispostos em
prateleiras' Estas en&ontram-se em arm4rios or3ani5ados em
&orredores'
Os &orredores est)o n$merados se*$en&ialmente
&ome!ando em 6 e da mesma orma est)o or3ani5adas as
prateleiras dentro de $m &orredor% o$ seja% en$meradas
se*$en&ialmente ini&iando por 6' E para &ada prateleira
deseja-se sa#er s$a &apa&idade em metros &7#i&os'
4denti+icador Com2osto

)este modo para identificarmos uma PRATELEIRA


necess.rio conhecer primeiro o seu nBmero.

A seguir o CORREDOR em !ual ela se encontra.


PRA8E<E9RA
nBmero do corredor
nBmero da prateleira
capacidade
%elacionamento 4denti+icador

Hinalmente e7istem casos onde o 9dentificador


da Entidade composto n"o apenas por
atributos da Entidade mas tambm por
Relacionamentos dos !uais a Entidade
participa.

#o e7emplo o modelo en%ol%e empregados


de uma empresa os !uais se relacionam a
seus dependentes.

Cada dependente est. relacionado a


e'atamente um empregado.

(m dependente identificado pelo


empregado ao !ual ele est. relacionado e
por um n.mero se6uencial !ue o distingue
dos demais dependentes &se hou%erem'
deste mesmo empregado.
%elacionamento
4denti+icador- Exemplo 1

#o )ER o relacionamento usado como identificador


indicado com uma linha mais densa.
E,PRE4A)- )EPE#)E#8E
&11'
&In'
c2digo
nome
nBmero de
se!u/ncia
nome
%elacionamento
4denti+icador- Exemplo 1
%elacionamento identi+icado
2or suas entidades

(ma ocorr/ncia de relacionamento


diferencia$se das demais ocorr/ncias
do mesmo relacionamento pelas
ocorr/ncias das entidades !ue dela
participam.
%elacionamento identi+icado
2or suas entidades
A<-CA>?-
E#4E#@E9R-
PR-GE8-
n n

E7emplo uma ocorr/ncia de ALOCAO identificada


pela ocorr/ncia de ENGEN-EIRO e pela ocorr/ncia de
PRO+ETO !ue ela relaciona.

Em outras pala%ras para cada par 8En3%Proj9 h. no


m.7imo um relacionamento de ALOCAO.
4denti+icando Entidades

@. casos nos !uais entre as mesmas


ocorr/ncias de entidade podem e7istir di%ersas
ocorr/ncias deste mesmo relacionamento.

: o caso do Relacionamento CONS,LTA entre as


entidades M:DICO e PACIENTE.

Para um determinado mdico e um determinado


paciente podem ha%er di%ersas consultas.
4denti+icando entidades

#este caso faz$se necess.rio algo !ue


distingua uma consulta das demais *. realizadas
e as agendadas !ue ainda est"o por acontecer.

8al distin+"o s2 ser. poss1%el atra%s de


Atributos identificadores de Relacionamento.
Atributo 4denti+icador de
%elacionamento

#o caso do relacionamento C-#3(<8A e7ibido


abai7o o atributo identificador do relacionamento
pode ser o atributo data=hora.

)este modo um relacionamento identificado pelas


entidades dele participam bem como pelos atributos
identificadores !ue se*am e%entualmente definidos.
,:)9C- PAC9E#8E C-#3(<8A
n n
data=hora
# Modelo 70gico

(m modelo l2gico uma descri+"o em alto n1%el


de um banco de dados.

Representa a estrutura de dados de um banco


de dados %ista pelo usu.rio final do 345).

)esta forma o modelo l2gico dependente do


tipo do 345) !ue est. sendo usado.
Modelo 70gico

(m modelo l2gico de um 5) relacional de%e


definir !uais as tabelas !ue o banco contm.

Para cada tabela0 !uais os nomes das colunas.

E70

TipoDeProduto(CodTipoProd, DescrTipoProd)

Produto (CodProd, DescrProd, PrecoProd, CodTipoProd)


CodTipoProd referencia TipoDeProduto