Você está na página 1de 55

ABORDAGEM

ENTIDADE-RELACIONAMENTO

M. Sc. Edgar Gurgel

Agenda
Introduo
Entidade
Relacionamento
Atributo
Generalizao / Especializao
Entidade Associativa
Esquemas Grficos e Textuais de modelos ER
2

Introduo
w A primeira etapa do projeto de um banco de dados a
construo de um modelo conceitual, a chamada
modelagem conceitual.
w O objetivo da modelagem conceitual obter uma
descrio abstrata, independente de implementao em
computador, dos dados que sero armazenados no BD.
w A tcnica de modelagem de dados mais difundida e
utilizada a abordagem entidade-relacionamento (ER).
w Nesta tcnica, o modelo de dados representado atravs
de um modelo entidade-relacionamento (modelo ER).
3

Introduo
w Usualmente, um modelo ER representado
graficamente, atravs de um diagrama entidaderelacionamento (DER).
w A abordagem ER foi criada em 1976 por Peter Chen e
hoje, pode ser considerada como um padro de fato para
modelagem conceitual.
w Mesmo as tcnicas de modelagem OO, que tm surgido
recentemente, baseiam-se nos conceitos da abordagem
ER.
4

Entidade
w Uma entidade representa um conjunto de objetos da
realidade modelada.
w Como o objetivo de um modelo ER modelar de forma
abstrata um BD, interessam-nos somente os objetos sobre
os quais deseja-se manter informaes.
w Uma entidade pode representar tanto objetos concretos
da realidade (pessoa, automvel, ...), quanto objetos
abstratos (departamento, compra, ...).
5

Entidade
ENTIDADE
=
Conjunto de objetos da realidade modelada
sobre os quais deseja-se manter
informaes no banco de dados.

w Caso seja necessrio referir um objeto particular, fala-se


em ocorrncia ou instncia de entidade.
w Em um DER, uma entidade representada atravs de
um retngulo que contm o nome da entidade.
PESSOA

DEPARTAMENTO
6

Relacionamento
w Alm de especificar os objetos sobre os quais deseja-se
manter informaes, o modelo ER deve permitir a
especificao das propriedades dos objetos que sero
armazenados no BD.
w Uma das propriedades sobre as quais pode ser desejvel
manter informaes a associao entre objetos.
RELACIONAMENTO
=
Conjunto de associaes entre entidades.
7

Relacionamento
w Em um DER, um relacionamento representado atravs
de um losango, ligado por linhas s entidades que
participam do relacionamento.
DEPARTAMENTO

LOTAO

PESSOA

w Este modelo expressa que o BD contm:


n

Conjunto de objetos classificados como pessoas;

Conjunto de objetos classificados como departamentos; e

Conjunto de associaes, cada uma ligando um departamento


a uma pessoa.
8

Relacionamento
w Caso seja necessrio referir uma associao particular
dentro de um conjunto, fala-se em ocorrncia ou
instncia de relacionamento, formado por um par
especfico de ocorrncias de entidades.
w Isto pode ser facilmente visualizado atravs de um
Diagrama de Ocorrncias.
p2

p1

p1, d1
p3, d1

p3
p4
p7

p5
p6

Entidade
PESSOA

d1
d2

p6, d2
p5, d3

Relacionamento
LOTAO

d3

Entidade
DEPARTAMENTO

Relacionamento
w O modelo apresentado permite que:
n

Uma ocorrncia de entidade no esteja associada a nenhuma


ocorrncia de entidade atravs do relacionamento. Exemplo:
a pessoa p2.
Uma ocorrncia de entidade esteja associada a exatamente
uma ocorrncia de entidade atravs do relacionamento.
Exemplo: a pessoa p1.
Uma ocorrncia de entidade esteja associada a mais de uma
ocorrncia de entidade atravs do relacionamento. Exemplo:
o departamento d1.
10

Auto-Relacionamento
w

No necessariamente um relacionamento associa


entidades diferentes.
w Um DER pode conter um auto-relacionamento, isto ,
um relacionamento entre ocorrncias de uma mesma
entidade.
w Neste caso, necessrio um conceito adicional, o de
papel da entidade no relacionamento.
w O papel de uma entidade em um relacionamento define
que funo uma instncia da entidade cumpre dentro de
uma instncia do relacionamento.
11

Auto-Relacionamento
Marido

PESSOA

CASAMENTO

Esposa

Diagrama de Ocorrncias
p5
p2

p1

p1, p3

esposa

p3

p4
p7

marido

p8
p6

Entidade
PESSOA

marido
esposa

p6, p8

Relacionamento
CASAMENTO

12

Cardinalidade
w

Para fins de projeto de


propriedade importante de um
quantas ocorrncias de uma
associadas a uma determinada
relacionamento.

banco de dados, uma


relacionamento a de
entidade podem estar
ocorrncia atravs do

w Esta propriedade chamada de cardinalidade de uma


entidade em um relacionamento.

13

Cardinalidade
CARDINALIDADE (MNIMA, MXIMA) DE
ENTIDADE DE RELACIONAMENTO
=
Nmero (mnimo, mximo) de ocorrncias de entidade associadas a
uma ocorrncia da entidade em questo atravs do relacionamento

w H duas cardinalidades a considerar:


n cardinalidade mxima;
n cardinalidade mnima.
14

Cardinalidade Mxima
w Apenas duas cardinalidades mximas so relevantes:
n
n

A cardinalidade mxima 1;
A cardinalidade mxima muitos, referida pela letra n.

DEPARTAMENTO

Expressa que a uma ocorrncia de


PESSOA pode estar associada
ao mximo uma (1) ocorrncia de
DEPARTAMENTO.

LOTAO

PESSOA

Expressa que a uma ocorrncia de


DEPARTAMENTO podem estar associadas
muitas (n) ocorrncias de
PESSOA.
15

Relacionamentos Binrios
w

A cardinalidade mxima pode ser utilizada para


classificar relacionamentos binrios.
w Um relacionamento binrio aquele cujas ocorrncias
contm duas ocorrncias de entidade.
w Classificao dos relacionamento binrios:
n

n:n (muitos-para-muitos);

1:n (um-para-muitos);

1:1 (um-para-um);

16

Relacionamentos Binrios
EMPREGADO

ALUNO

1
Marido

ALOCAO
1

INSCRIO

PESSOA
1
Esposa

CASAMENTO

MESA

CURSO

EMPREGADO
1
Supervisor

n
Supervisionado

SUPERVISO
17

Relacionamentos Binrios
ENGENHEIRO

MDICO

ALOCAO

CONSULTA

PROJETO

PRODUTO
PACIENTE

Composto

Componente

COMPOSIO
PEA

PRODUO

FORNECEDOR
18

Relacionamentos Ternrios
w

A abordagem ER permite que sejam definidos


relacionamentos de grau maior do que dois (ternrios,
quaternrios, ...).
PRODUTO
n

DISTRIBUIO
n

CIDADE

DISTRIBUIDOR
19

Relacionamentos Ternrios
w

O 1 na linha que liga DISTRIBUIDOR ao


relacionamento expressa que cada par de ocorrncias
(cidade, produto) est associado no mximo a um
distribuidor.
w A um par (cidade, distribuidor) podem estar associados
muitos produtos, isto , um distribuidor pode distribuir em
uma cidade muitos produtos.
w A um par (produto, distribuidor) podem estar associadas
muitas cidades, isto , um distribuidor pode distribuir um
produto em muitas cidades.
20

Cardinalidade Mnima
w Alm da cardinalidade mxima, uma outra informao
que pode ser representada por um modelo ER o nmero
mnimo de ocorrncias de entidade que so associadas a
uma ocorrncia de uma entidade atravs de um
relacionamento (cardinalidade mnima).
w Para fins de projeto de BD, consideram-se apenas duas
cardinalidades mnimas:
n

A cardinalidade mnima 0; e

A cardinalidade mnima 1.
21

Cardinalidade Mnima
w

A cardinalidade
mnima 1 tambm recebe a
denominao de associao obrigatria, j que ela
indica que o relacionamento deve obrigatoriamente
associar uma ocorrncia de entidade a cada ocorrncia de
entidade em questo.
w Com base na mesma linha de raciocnio, a cardinalidade
mnima 0 recebe a denominao de associao
opcional.
EMPREGADO

(0,1)

ALOCAO

(1,1)

MESA
22

Cardinalidade Mnima
w

A cardinalidade mnima usada para especificar que


cada empregado deve ter a ele alocada obrigatoriamente
uma mesa (cardinalidade mnima 1);
w E que a mesa pode existir sem que a ela esteja alocado
um empregado (cardinalidade mnima 0).
e1, m1

e1

e2

Entidade
EMPREGADO

m4

e3, m6

e3
e4

m1

m2

e2, m2

m6
e4, m5

Relacionamento
ALOCAO

m5

m7
m3

Entidade
MESA
23

Exemplo de um DER
w Um diagrama ER apresentado na forma de um grafo.
w A distribuio dos smbolos de DER no papel
totalmente arbitrria e no tem maior significado do ponto
de vista formal.
w Entretanto, para tornar o diagrama mais legvel usual
evitar-se cruzamentos de linhas. Para isso, a
recomendao geral a de posicionar as entidades que
participam de muitos relacionamentos no centro do
diagrama.
24

Exemplo de um DER
w Exerccio: deseja-se desenvolver uma parte do modelo
de dados de um sistema de controle acadmico de uma
universidade fictcia. O modelo descreve o seguinte:
n

Deseja-se manter informaes sobre alunos, cursos,


disciplinas e departamentos;
Deseja-se manter informaes sobre a associao de alunos a
cursos, de disciplinas a cursos, de disciplinas a
departamentos, bem como de disciplinas a suas disciplinas
pr-requisitos.

25

Exemplo de um DER
DEPARTAMENTO

(1,1)
RESPONSVEL

(0,n)
PR-REQUIS

(0,n)

ALUNO

(0,n)

liberada
liberadora

(0,n)
DISCIPLINA

INSCRIO

(0,n)

DISC-CURSO

(1,1)

(0,n)
CURSO
26

Exemplo de um DER
w Cada disciplina possui exatamente um departamento
responsvel e um departamento responsvel por muitas
disciplinas, inclusive por nenhuma.
w Uma disciplina pode possuir diversos pr-requisitos,
inclusive nenhum. Uma disciplina pode ser pr-requisito de
muitas outras disciplinas, inclusive de nenhuma.
w Uma disciplina pode aparecer no currculo de muitos cursos,
inclusive de nenhum e um curso pode possuir muitas
disciplinas em seu currculo, inclusive nenhuma.
w Um aluno est inscrito em exatamente um curso e um curso
pode ter nele inscritos muitos alunos, inclusive nenhum.
27

Atributo
w O modelo ER permite a especificao de propriedades
de entidades.
w Uma propriedade ter um atributo.
w O conceito de atributo serve para associar informaes a
ocorrncias de entidades ou de relacionamentos.
ATRIBUTO
=
Dado que associado a cada ocorrncia de
uma entidade ou de um relacionamento.
28

Atributo
PROJETO
Nome

Tipo
Cdigo

w A figura expressa que cada ocorrncia de PROJETO


tem associado exatamente um nome, um cdigo e um
tipo.
w Dificilmente os atributos so representados
graficamente, preferindo a representao textual.
w Softwares comerciais encarregam-se do armazenamento
da lista de atributos de cada entidade em um Dicionrio
29
de Dados.

Atributo
w Um atributo pode possuir uma cardinalidade, de
maneira anloga a uma entidade em um relacionamento.
w A cardinalidade de um atributo define quantos valores
deste atributo podem estar associados a uma ocorrncia da
entidade/relacionamento a qual ele pertence.
n

Nome e Cdigo so atributos obrigatrios e monovalorados


(1,1).
Telefone um atributo opcional e multivalorado (0,n).
CLIENTE
Nome

Telefone (0,n)
Cdigo

30

Atributo
w Assim como as entidades, tambm relacionamentos
podem possuir atributos.
ENGENHEIRO

(0,n)

ATUAO

Cdigo

PROJETO
Ttulo

Nome

(0,n)

Funo

Cdigo

A funo no pode ser considerada atributo de


ENGENHEIRO, j que um engenheiro pode atuar em
diversos projetos, exercendo diferentes funes.
Tambm no atributo de PROJETO, j que, em um projeto,
podem atuar diversos engenheiros com funes diferentes.
31

Atributo
w Algumas vendas so vista, outras prazo.
w Vendas prazo so relacionadas a uma financeira,
atravs do relacionamento FINANCIAMENTO.
w Os atributos n de parcelas e taxa de juros so atributos
do relacionamento.
FINANCEIRA

(0,1)

FINANCIAMENTO

n de parcelas

(0,n)

VENDA

taxa de juros

w Se estes atributos tivessem sido colocados na entidade


VENDA, eles deveriam ser opcionais.
32

Identificando Entidades
w Cada entidade deve possuir um identificador.
w Um identificador um conjunto de um ou mais
atributos (e possivelmente relacionamentos) cujos valores
servem para distinguir uma ocorrncia de entidade das
demais ocorrncias da mesma entidade.
PESSOA
Nome
Cdigo

Endereo

w O caso mais simples o da entidade que possui um


nico atributo como identificador.
33

Identificando Entidades
w O exemplo anterior significa que cada pessoa possui um
cdigo diferente, mas o mesmo nome (ou o mesmo endereo)
pode ser associado a pessoas diferentes
PRATELEIRA
Capacidade
Nmero do Corredor

Nmero da Prateleira

w Neste exemplo, o identificador da entidade composto por


diversos atributos. Os corredores so numerados
sequencialmente a partir de um e as prateleiras so numeradas
sequencialmente a partir de um, dentro de um corredor.
34

Identificando Entidades
w Existem casos em que o identificador de uma entidade
composto no somente por atributos da prpria entidade,
mas tambm por relacionamentos dos quais a entidade
participa (Relacionamento Identificador).
EMPREGADO

cdigo

nome

(1,1)

POSSUI

(0,n)

DEPENDENTE
nmero
seqncia

nome

w Este modelo expressa que um dependente identificado


pelo empregado ao qual ele est relacionado e pelo
nmero de seqncia.
35

Identificando Entidades
w Alguns autores dizem que a entidade DEPENDENTE
uma entidade fraca.
w O termo fraca deriva-se do fato de a entidade somente
existir quando relacionada a outra entidade e de usar
como parte de seu identificador, entidades relacionadas.
w Autores de livros mais recentes preferem no utilizar o
conceito, j que as entidades chamadas fracas por este
critrio podem, dependendo da realidade modelada, ser
centrais a um modelo.
36

Identificando Entidades
GRUPO

cdigo

(1,1)
(0,n)

EMPRESA

Nmero da
Empresa

(1,1)
(0,n)

FILIAL

Nmero da
Filial

w Ao considerarmos que a maior


parte das entidades que
eventualmente comporiam o
restante do modelo estariam
ligadas a EMPRESA ou FILIAL
vemos que a palavra fraca no
adequada para o conceito em
questo.

37

Identificando Entidades
IDENTIFICADOR DE ENTIDADE
=
Conjunto de atributos e relacionamentos
cujos valores distinguem uma ocorrncia
da entidade das demais.

w O identificador de uma entidade, seja ele simples,


composto por diversos atributos, ou compostos por
identificadores externos, deve obedecer duas propriedades:
n
n

O identificador deve ser mnimo;


Cada entidade deve possuir um nico identificador.
38

Identificando Entidades
w O identificador deve ser mnimo:
n

O identificador de uma entidade deve ser composto de tal


forma que, retirando um dos atributos ou relacionamentos
que o compe, ele deixa de ser identificador.

w Cada entidade deve possuir um nico identificador:


n

Em alguns casos, diferentes conjuntos de atributos podem


servir para distinguir as ocorrncias da entidade e cabe ao
modelador decidir qual dos atributos ser usado como
identificador da entidade.
cpf
EMPREGADO
cdigo

nome

endereo

39

Identificando Relacionamentos
w Em princpio, uma ocorrncia de relacionamento
diferencia-se das demais ocorrncias do mesmo
relacionamento pelas ocorrncias de entidades que dela
participam.
ENGENHEIRO

ALOCAO

PROJETO

wEm outras palavras, para cada par (engenheiro, projeto)


h no mximo um relacionamento de alocao.
40

Identificando Relacionamentos
w Existem casos nos quais entre as mesmas ocorrncias de
entidade podem existir diversas ocorrncias de
relacionamento.
w A diferenciao d-se atravs de atributos
identificadores de relacionamento.

MDICO

CONSULTA

PACIENTE

data/hora

41

Generalizao / Especializao
w Alm de relacionamentos e atributos, propriedades
podem ser atribudas a entidades atravs do conceito de
generalizao / especializao.
w Atravs deste conceito possvel atribuir propriedades
particulares a um subconjunto das ocorrncias
(especializadas) de uma entidade genrica.
w No DER, o smbolo para representar generalizao /
especializao um tringulo issceles.
42

Generalizao / Especializao
FILIAL

(1,1)

(0,n)

PESSOA
FSICA
cpf

sexo

nome

CLIENTE

cdigo

PESSOA
JURDICA
cgc

tipo de
organizao

43

Generalizao / Especializao
w Associada ao conceito de generalizao / especializao est
a idia de herana de propriedades.
w Herdar propriedades significa que cada ocorrncia da
entidade especializada possui, alm de suas prprias
propriedades(atributos, relacionamentos e generalizaes/
especializaes), tambm as propriedades da ocorrncia da
entidade genrica correspondente.
w A generalizao / especializao pode ser classificada em
dois tipos: total e parcial, de acordo com a obrigatoriedade ou
no de a cada ocorrncia da entidade genrica corresponder
uma ocorrncia da entidade especializada.
44

Generalizao / Especializao
w Em uma generalizao/especializao total, para cada
ocorrncia da entidade genrica existe sempre uma
ocorrncia em uma das entidades especializadas.
Indica que todo
CLIENTE ou
PESSOA FSICA
ou PESSOA
JURDICA
PESSOA
FSICA

CLIENTE

A toda ocorrncia
da entidade
C L I E N T E
corresponde uma
ocorrncia em uma
das especializaes.

PESSOA
JURDICA
45

Generalizao / Especializao
w Em uma generalizao/especializao parcial, nem toda
ocorrncia de entidade genrica possui uma ocorrncia
correspondente em uma entidade especializada.
Usualmente, quando h
especializao parcial, na
entidade genrica, aparece
um atributo que identifica
o tipo de ocorrncia desta
entidade.

FUNCIONRIO
Tipo de
funcionrio

MOTORISTA

Indica que nem todo


FUNCIONRIO
MOTORISTA ou
SECRETRIA

SECRETRIA
46

Generalizao / Especializao
w Uma entidade pode ser especializada em qualquer nmero de
entidades, inclusive em uma nica.
n

Exemplo: se na figura anterior, apenas os motoristas


possussem propriedades particulares, haveria apenas uma
entidade especializada, a de motoristas.

w No h limite no nmero de nveis hierrquicos da generalizao/


especializao.
w Uma entidade especializada pode, por sua vez, ser entidade genrica
em outra generalizao/especializao.
w admissvel a herana mltipla, isto , uma mesma entidade seja
especializao de diversas entidades (VEICULO ANFIBIO)
47

Generalizao / Especializao
VECULO

VECULO
TERRESTRE

AUTOMVEL

VECULO
AQUTICO

VECULO
ANFBIO

BARCO
48

Generalizao / Especializao
w Cada entidade especializada herda o identificador de sua
entidade genrica, portanto, no faz sentido definir
identificador para entidades especializadas.
w Somente pode haver uma entidade genrica em cada
hierarquia de generalizao / especializao.

49

Entidade Associativa
w Um relacionamento uma associao entre entidades.
w Na modelagem ER no foi prevista a possibilidade de
associar uma entidade com um relacionamento ou ento de
associar dois relacionamentos entre si.
w Na prtica, quando est construindo-se ou modificando
um modelo ER, surgem situaes em que desejvel
permitir a associao de uma entidade a um relacionamento.
MDICO

CONSULTA

PACIENTE
50

Entidade Associativa
MDICO

CONSULTA
n

PRESCRIO
n

MEDICAMENTO

PACIENTE

w O modelo anterior foi


modificado para saber que
medicamentos existem e
que medicamentos foram
prescritos para cada
consulta.
51

Entidade Associativa
w Uma entidade associativa nada mais que a redefinio
de um relacionamento, que passa a ser tratado como se fosse
tambm uma entidade.
w Graficamente, basta adicionar um retngulo ao redor do
prprio losango do relacionamento.
w Caso no se deseje utilizar o conceito de entidade
associativa, seria necessrio transformar o relacionamento
CONSULTA em uma entidade, que ento poderia ser
relacionada a MEDICAMENTO.
52

Entidade Associativa
MDICO

PACIENTE

(1,1)

(1,1)
(0,n)

(0,n)

CONSULTA
(0,n)

PRESCRIO
(0,n)

MEDICAMENTO
53

Esquemas Grficos
e Textuais
w A descrio de um modelo chamada de esquema de
banco de dados.
w Um esquema de BD pode ser tanto grfico, como
mostrado at o momento, quanto textual, como abaixo.
Esquema: EMP_DEP
Entidade: EMPREGADO
Atributos: CDIGO: inteiro
Identificadores: CDIGO
Entidade: DEPENDENTE
Atributos: NMERO-SEQUENCIA: inteiro
NOME: texto(50)
Identificadores: EMPREGADO via EMP_DEP
NMERO-SEQUENCIA
Relacionamento: EMP_DEP
Entidades: (1,1) EMPREGADO
(0,n) DEPENDENTE

54

Esquemas Grficos
e Textuais
w Na prtica, usual combinar as duas formas de
representar esquemas ER: a diagramtica e a textual.
w Normalmente so representadas de forma grfica:
n
n

Entidades e Relacionamentos;
Generalizao / Especializao.

w Normalmente so representadas de forma textual, para


no sobrecarregar o diagrama:
n

Atributos das entidades e dos relacionamentos, juntamente com


seu tipo e tamanho;
Definio dos atributos identificadores.
55

Você também pode gostar