You are on page 1of 56

Tecnologias e Linguagens para Banco de Dados I

Prof.: Evandro Lopes da Silva


Nilson Augustini

Modelo Entidade-Relacionamento

Nesta aula conheceremos:


a tcnica de modelagem entidade-relacionamento:

O que Modelagem Entidade-Relacionamento ?


O que so Entidades ?
O que so Relacionamentos ?
O que so Atributos ?
O Modelo Entidade Relacionamento

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Objetivos:
Apresentar a tcnica da Modelagem Entidade-Relacionamento;
Apresentar os principais componentes do Modelo EntidadeRelacionamento.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Modelagem Entidade-Relacionamento :
Tcnica de anlise de dados que estabelece a estrutura dos dados a
partir da identificao dos objetos a respeito dos quais necessrio
guardar informaes.
Componentes utilizados por esta tcnica:
Entidades;
Relacionamentos entre entidades;
Atributos das entidades e dos relacionamentos.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
O uso do Modelo Entidade-Relacionamento (MER)
foi apresentado por Peter Cher em 1976.
Atualmente no existe um padro nico de modelo E-R(Entidade Relacionamento) aceito universalmente; em vez disto, h um
conjunto de conceitos dos quais se origina a maioria das variantes do
E-R.
No MER, os elementos que o compe so representados
graficamente atravs da ferramenta denominada Diagrama Entidade Relacionamento (DER).

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento

Diagrama representando os objetos sobre os quais guardamos dados e os relacionamentos que existem entre eles

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Conceitos centrais do Mod. Entidade-Relacionamento

Entidade;
Atributo;
relacionamento;
Generalizao/Especializao;
Entidade Associativa.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Entidades
Objeto que existe no mundo real com uma identificao distinta e
com um significado prprio;
Conjunto de objetos da realidade modelada sobre os quais deseja
se manter informaes na base de dados;

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Entidades
So as coisas que existem no negcio (objeto de anlise), ou ainda,
descrevem o negcio.
Se alguma coisa, existente no negcio gera interesse de se manter
os dados, isto a caracteriza como uma Entidade do Negcio.
Entidades de um mesmo tipo so agrupadas em Classes de Entidade.
Exemplo: classe de entidades ALUNOS o conjunto de todas as
instncias de alunos (classes de entidades esto impressas em
letra maiscula).

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Entidades
Podem representar:
Objetos concretos da realidade (uma pessoa, um automvel,
uma casa, etc);
Objetos abstratos (um departamento, em endereo, etc).

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Entidades
A representao grfica de uma entidade no MER se realiza
atravs de um retngulo, com o nome desta entidade em seu interior
(sem utilizar acentuao e com letras maisculas).
CURSOS

DISCIPLINAS

PROFESSORES

TURMAS

LIVROS

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Instncia de uma Entidade
a combinao de valores atribudos a um participante da entidade.

Imaginemos a entidade FUNCIONARIO e considerando que uma


empresa pode ter vrios funcionrios, esses valores atribudos
so as informaes que a empresa deseja armazenar de seus
funcionrios, por exemplo: nome, telefone, endereo, etc. Ento,
chamamos de instncia de entidade cada um desses
funcionrios.Refere-se a uma ocorrncia da Entidade.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Instncia de uma Entidade
Refere-se a uma ocorrncia da Entidade.

Alguns exemplos de instancias de entidades:


O FUNCIONARIO Joo;
O VEICULO Corsa;
A ALUNA Maria;
O CLIENTE Pedro;
O PRODUTO A323....

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Diagrama de Ocorrncias

Entidade DEPARTAMENTOS

Entidade PEESOAS
P1

P6

P16
P11

P7

P2
P3

P9

P14

P4

P5

P13

P10

P15

P18
P19
P20

D4

P27

P22

D2

P28
P23

P29

P24

P30

P25

P31

D11

D8

D12

D5
D3
D6

D9

D19

D10

D7

D1

P21

P17

P12

P8

P26

D13
D14

D15
D16
D17

D18

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Critrios para identificar Entidades
Para cada substantivo ou nome que julgarmos ser uma entidade,
devemos fazer os seguintes questionamentos:
H necessidade de guardar informaes sobre este objeto ?
H mais de um objeto deste tipo ?
Existe um valor capaz de identificar cada objeto de forma nica ?
Se a resposta a essas trs perguntas forem positiva, identificamos
uma entidade.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Critrios para identificar Entidades
Exemplo:
Pedido seria uma entidade?
Para saber temos de responder as seguintes perguntas:
H necessidade de guardar informaes sobre este objeto ?

Resposta:
Sim, temos de guardar informaes sobre todos os pedidos.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Critrios para identificar Entidades
H mais de um objeto deste tipo ?
Resposta:
Sim, claro que existem diversos pedidos, e no um s.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Critrios para identificar Entidades
Existe um valor capaz de identificar cada objeto de forma
nica ?

Resposta:
Sim, podemos estabelecer um valor nico para identificar cada
registro (pedido).
Portanto, de acordo com as respostas, pedido de fato uma
entidade.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Critrios para identificar Entidades
Exemplo:
Quantidade (substantivo) uma entidade?
Apliquemos as perguntas:
H necessidade de guardar informaes sobre este objeto ?

Resposta:
Quantidade uma informao que guardamos a respeito de um
pedido, e no um objeto a respeito do qual guardamos dados.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Critrios para identificar Entidades
H mais de um objeto deste tipo ?
Resposta:
Sim, existem vrias quantidades.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Critrios para identificar Entidades
Existe um valor capaz de identificar cada objeto de forma
nica ?
Resposta:
No faz sentido definir um valor nico para identificar uma
quantidade.
Basta que uma das respostas seja negativa para descartar uma
provvel entidade.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Propriedades de Entidades
Entidades isoladamente no informam nada;
necessrio atribuir propriedades s entidades;
Propriedades especificadas na forma de:
Atributos;
Relacionamentos;
Generalizaes/Especializaes.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos
Propriedades (caractersticas) de uma entidade ;
Dado que associado a cada ocorrncia de uma entidades;

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos
Exemplos:

Atributos de cliente:
Cdigo do cliente
Nome do cliente;
Endereo do cliente;
Data de nascimento do cliente
Atributos de pedido (entre outros):
Nmero do pedido;
Nmero da filial;
Data emisso do pedido
Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos
Exemplos:
Atributos de funcionrio:
Nmero de matrcula;
Nome do funcionrio;
Data da admisso
Entidade FUNCIONARIOS
numero_Matricula

nome

data_Admissao

4455

Joo

24/04/1991

4456

Pedro

20/03/1992

4457

Manuel

14/04/1992

4458

Carlos

01/04/1995

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos
representado graficamente por um crculo ligado por uma linha
entidade ao qual pertence. O nome do atributo aparece ao lado do
crculo.
PROJETOS

Tipo
Nome

Codigo

ou

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos
Pode ser representado graficamente por uma elipse em torno de
seu nome.

PROJETOS

Tipo

Codigo
Nome

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Chave Primria
Atributo(s) responsvel(is) por identificar de forma nica cada
instncia de uma entidade, uma vez que no existem duas instncias
de entidades iguais.
Possui duas restries importantes:
No se repete;
No contm valor NULO.
Um VALOR NULO um valor que no tem significado algum para o
mundo real, somente para o conceitual.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Superchave, Chaves Candidatas e Chave Secundria
Alm da chave primria tambm temos:
Superchave: o conjunto de um ou mais atributos que, tomado
coletivamente, permite-nos identificar unicamente uma entidade no
conjunto de entidade.
Chaves candidatas: chaves com unicidade em uma relao: Ex: CPF,
RG, ttulo eleitoral. Todos os atributos que conseguem identificar
uma Relao.
Chave secundria: chave sem unicidade em uma relao. Ex: idade,
sexo, endereo.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Chave Primria
representada graficamente por um crculo ligado por uma linha
entidade ao qual pertence. O nome do atributo aparece ao lado do
crculo e sublinhado.
PROJETOS

Tipo
Nome

Codigo

ou

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Chave Primria
Pode ser representado graficamente por uma elipse em torno de
seu nome o qual deve ser sublinhado.

PROJETOS

Tipo

Codigo
Nome

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos Multivalorados
Atributos que para cada instncia de uma entidade, pode ocorre
vrias vezes.
Ex.: Telefones para clientes ou alunos, Nomes de cidades beira
de uma rodovia, Nomes dos autores de um livro, etc.
No DER, representado por duas elipses em torno do nome do
atributo.
CLIENTES

RG

Telefone

Atributo Multivalorado

Nome

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Represent. em um SGBD de atributos multivalorados

RG

1116
1220

RG

Telefone

1116

3382-0000

1116

9711-1111

1220

9700-0000

Nome

Joo
Pedro

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos Compostos
Atributos formados por outros atributos.
Ex.: Endereos, nome, rea de uma sala, etc.
SALA

NUMERO

DIMENSAO

ALTURA

COMPRIMENTO

LARGURA

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Represent. em um SGBD de atributos compostos

Numero

Comprimento

Largura

Altura

100

200

300

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos Derivados
Atributos resultantes (derivados) de outros atributos ou originados
de algum clculo.
Ex.: idade, qtde_de_func
CODIGO

SALA
DATA_NASCTO

QTDE_DE_FUNC
IDADE

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Entidades Fracas
Entidade cuja chave contm a chave de outra entidade;
Entidade que possui um dependncia existencial com outra instncia
de entidade;
So entidades que so dependentes da existncia ou da
identificao de uma outra entidade.
Dizer que uma entidade fraca, significa dizer: QUE NO INTERESSA MANTER NA
BASE OS DADOS DE UMA ENTIDADE SE ELA NO ESTIVER RELACIONADA COM OUTRA
ENTIDADE.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Entidades Fracas
Exemplo:
Em um sistema onde tenhamos em nosso banco de dados a
entidade FUNCIONARIOS e a entidade DEPENDENTES, a entidade
DEPENDENTES seria uma Entidade Fraca, pois a mesma s existe se
existir o funcionrio.
Representao grfica de uma Entidade Fraca :

DEPENDENTES

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Representao das entidades FUNCIONARIOS e
DEPENDENTES
FUNCIONARIOS
Num_Func

Nome

Data_Admisso

4455

Joo

24/04/1991

4456

Pedro

20/03/1992

4457

Manuel

14/04/1992

4458

Carlos

01/04/1995

DEPENDENTES
Num_Func

Nome_dependente

Parentesco

4455

Francisco

Filho

4456

Daniel

Filho

4456

Maria

Filho

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Relacionamentos
Conjunto de associaes entre entidades sobre as quais deseja-se
manter informaes no Banco de Dados;
Existe quando um ou mais dados de uma entidade esto
relacionados de alguma forma com um ou mais dados de outra
entidade.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Relacionamentos
Para determinar se entre duas entidades existe um
relacionamento, perguntamos:
Existe um vnculo entre os objetos destas entidades ?
A partir de um objeto de uma entidade somos capazes de
localizar um objeto associado na outra entidade ?
Se a resposta for sim para algumas destas questes, est
caracterizado um relacionamento entre as entidades envolvidas.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Relacionamentos
Exemplo:
Dado um scio, eu sou capaz de localizar um ttulo ?
Resposta:
Sim, preciso saber que ttulo ele possui.
Dado um ttulo, eu sou capaz de localizar um scio ?
Resposta:
Sim, quero saber a que scio este ttulo pertence.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Relacionamentos
Exemplo:
Cliente faz emprstimos.
Desta frase, o que Entidade e o que Relacionamento ?
Podemos dizer que os SUBSTANTIVOS so as Entidades e os
VERBOS so os Relacionamentos. Assim sendo, temos que:
ClLIENTE e EMPRESTIMO so Entidades e
FAZ Relacionamento.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Relacionamentos
representado graficamente por um losango que une as entidades
relacionadas;
O nome do relacionamento representado dentro do losango.

relacionamento

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Relacionamento e Instncia
Relacionamento um conjunto de associaes entre instncias
de entidades;
Uma instncia (ocorrncia) uma associao especfica entre
determinadas instncias de entidades.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Ocorrncia
Exemplo:
relacionamento trabalham
Ocorrncia = par especfico formado por uma ocorrncia de
PESSOAS e uma ocorrncia de DEPARTAMENTOS.
PESSOAS

trabalham

DEPARTAMENTOS

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Diagrama de Ocorrncias
p8

p4

p1
p2

p5
p7

p6

p3

p5,d3

p1,d1
p2,d1

p4,d2

d2
d1

d3

Entidade
PESSOAS

relacionamento
trabalham

Entidade
DEPARTAMENTOS

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Auto-Relacionamento
Ocorre toda vez que temos uma ocorrncia de uma entidade estar
associada a uma ou mais ocorrncias da mesma entidade.
ENTIDADE

Relacionamento

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Exemplos de Auto-Relacionamento

FUNCIONARIOS

gerencia

PESSOAS

PESSOAS

fliacao

casamento
PRODUTOS

Composicao

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Papel de Relacionamento
Funo que uma ocorrncia de uma entidade cumpre em uma
ocorrncia de um relacionamento;
Exemplo:
Relacionamento de casamento:
Uma ocorrncia de pessoa exerce o papel de marido
Uma ocorrncia de pessoa exerce o papel de esposa;
Relacionamento entre entidades diferentes:
No necessrio indicar os papis das entidades.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Auto-Relacionamento Diagrama de Ocorrncias

p8

p4

p1
p2

p5
p7

p3

p6

Entidade
PESSOAS

esposa

marido

esposa

p1,p2

marido

p6,p7

relacionamento
casamento

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos nos Relacionamentos
Assim como entidades possuem atributos, os relacionamentos
tambm podem possuir atributos.
Exemplo 1: relacionamento N:N
ENGENHEIROS

(0,N)

atuacao

(0,N)

PROJETOS

funcao
Codigo
Nome

Codigo

Titulo

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos nos Relacionamentos
ATUAO a funo que um engenheiro exerce dentro de um
projeto.
Esta no pode ser considerada atributo da entidade ENGENHEIROS,
j que um engenheiro pode atuar em diversos projetos exercendo
diferentes funes.
Tambm no atributo da entidade PROJETOS, j que em um
projeto podem atuar diversos engenheiros com funes diferentes.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos nos Relacionamentos
Exemplo 2: relacionamento 1:N
Em uma organizao comercial, so realizadas vendas vista e
outras prazo. As vendas prazo so financiadas por uma
financeira, e de acordo com o nmero de parcelas estabelecido a
taxa de juros a ser cobrada.
FINANCEIRAS

(0,1)

financia

(0,N)

VENDAS

N parcelas Taxa juros

Codigo
Nome

Codigo
Data

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Atributos nos Relacionamentos
Estes dois atributos poderiam ter sido includos na entidade
VENDAS. Neste caso, seriam atributos opcionais, j que nem toda
venda prazo e possui estes atributos. Assim sendo, optou-se em
usar o modelo do diagrama exatamente para explicitar o fato de os
atributos n de parcelas e taxa de juros pertencerem somente a
vendas parzo.

Tecnologias e Linguagens para Banco de Dados I