Você está na página 1de 35

Banco de Dados

Modelo Entidade - Relacionamento


Joo Eduardo Ferreira
Osvaldo Kotaro Takai
jef@ime.usp.br
DCC-IME-USP
Introduo
O Modelo Entidade-Relacionamento (MER)
um modelo de dados de alto-nvel criado com o
objetivo de representar a semntica associada
aos dados do minimundo.
O MER utilizado para na fase de projeto
conceitual, onde o esquema conceitual do
banco de dados da aplicao concebido.
Seus conceitos so intuitivos, permitindo que
projetistas de banco de dado capturem os
conceitos associados aos dados da aplicao,
sem a interferncia da tecnologia especfica de
implementao do banco de dados.
Introduo
O esquema conceitual criado usando-se o MER
chamado Diagrama Entidade-
Relacionamento (DER).
MER: Conjunto de conceitos e elementos de
modelagem que o projetista de banco
de dados precisa conhecer.
DER: Resultado do processo de modelagem
executado pelo projetista de dados
que conhece o MER.
Entidades e Atributos
O objeto mais elementar que o MER
representa a entidade.
Uma entidade algo do mundo real que
possui uma existncia independente.
Objetos, pessoas, empregado, entes,
conceitos, "coisas", etc. - do mundo real so
representados como Entidades.
Cada Entidade tem propriedades particulares
que so chamadas de Atributos.
Exemplo de uma Entidade Empregado
Uma entidade EMPREGADO pode ser descrita
pelo seu nome, o trabalho que realiza, idade,
endereo e salrio.
Uma entidade em particular ter um valor para
cada um de seus atributos.
e
1
Nome=Joo da Silva
Endereo=Rua Gois 711So Paulo, SP, 1301100
Idade=55
Telefone residencial=713-749
Salrio=1.200,00
Rg=12345678
Cpf=09876543210
Cdigo=2222
Atributos Compostos
Alguns atributos podem ser divididos em sub-
partes com significados independentes.
Endereo
Endereo da Rua Cidade Estado CEP
Nome da Rua Nmero Apartamento
Atributos Multivalorados
Muitos atributos tm apenas um valor (uni-
valorados). Porm existem atributos que podem
ter um conjunto de valores (Multivalorados)
e
1
Nome = Marco Aurlio
Telefones = {678-6789, 678-9876, 678-1234}
Atributos Derivados
So atributos cujos valores devem ser
obtidos aps algum processamento
utilizando informaes obtidas do prprio
banco de dados:
Idade = Data_Atual - Data_Nascimento
Nmero de empregados de um determinado
departamento
Valores Nulos de Atributos
Algumas vezes pode acontecer de um
atributo no possuir valor. Nesses casos,
atribui-se um valor nulo (null) para esse
atributo.
Apartamento = null para aqueles empregados
que no residam em um prdio. (no
aplicvel)
O valor null pode ser aplicado tambm
para denotar que o valor desconhecido.
Tipos de Entidades
Entidades que tm a mesma "estrutura" e
a mesma semntica, so representadas
como Tipo de Entidade.
Extenso
FUNCIONRIO FILME
Nome, Idade, Salrio Ttulo, Quantidade
Esquema (Inteno)
a
1
a
2
a
3
(Joo da Silva, 55, 800)
(Roberto Carlos, 40, 300)
(Camlia Colina, 25, 200)

b
1
b
2
(CPMI do Mensalo, 10)
(Eu, o Rob, 5)

Atributo-Chave
Uma restrio importante sobre entidades
de um tipo de entidade a restrio de
atributo-chave.
Todo Tipo de Entidade deve ter um atributo-
chave, seja ele um atributo simples ou
composto.
Os valores de um atributo-chave devem ser
distintos. Esta unicidade deve valer para
quaisquer extenses desse tipo de entidade.
Relacionamentos e Tipos de
Relacionamentos
Um relacionamento uma associao
entre uma ou mais entidades
EMPREGADO
TRABALHA-PARA
DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7

r
1

r
2

r
3

r
4

r
5

r
7

r
6
d
1
d
2
d
3
Grau de um Tipo de Relacionamento
O Grau de um Tipo de Relacionamento =
nmero de Tipos de Entidades Envolvidas
FORNECEDOR
FORNECE
PEA
b
1
b
3
b
2
r
1
r
6
r
7
r
2
r
3
r
4
r
5
c
1
c
3
c
2
PROJETO
a
1
a
2
Relacionamento como Atributo
O Tipo de Relacionamento
EMPREGADO TRABALHA_PARA DEPARTAMENTO
pode ser pensado como:
EMPREGADO possuindo um atributo
DEPARTAMENTO ou
DEPARTAMENTO possuindo um atributo
EMPREGADO (multivalorado)
Papis e Relacionamentos Recursivos
Cada tipo de entidade que participa de um
tipo de relacionamento possui um papel
especfico.
No caso de:
EMPREGADO TRABALHA_PARA DEPARTAMENTO,
o papel de EMPREGADO empregado ou
trabalhador e do DEPARTAMENTO
empregador.
A escolha do nome nem sempre
simples.
Papis e Relacionamentos Recursivos
Existem casos em que a indicao do
papel necessria.
Em Tipos de Relacionamentos Recursivos
FUNCIONRIO
a
1
a
3
a
2
a
4
SUPERVISIONA
r
1
r
2
r
3
1
1
1
2
2
2
Papis e Relacionamentos Recursivos
Em Tipos de Relacionamentos cuja
semntica no fique clara ou seja
ambgua:
EMPRESA CONTRATA DEPARTAMENTO
EMPRESA INVESTE PESSOA
DEPARTAMENTO GERENCIA PESSOA
Restries sobre Tipos de
Relacionamentos
Razo de Cardinalidade: especifica a
quantidade de instncias de
relacionamentos em que uma entidade
pode participar (1:1, 1:N, N:N)
Participao: especifica se a existncia
de uma entidade depende dela estar
relacionada com outra entidade atravs de
um relacionamento.
Total (Dependncia existencial)
Parcial
Razo de Cardinalidade
EMPREGADO TRABALHA_PARA DEPARTAMENTO: (1:N)
EMPREGADO
TRABALHA-PARA
DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7

r
1

r
2

r
3

r
4

r
5

r
7

r
6
d
1
d
2
d
3
N 1
Razo de Cardinalidade
EMPREGADO GERENCIA DEPARTAMENTO: (1:1)
EMPREGADO
GERENCIA
DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7

r
1

r
2

r
3
d
1
d
2
d
3
1 1
Razo de Cardinalidade
EMPREGADO TRABALHA_EM PROJETO: (N:N)
TRABALHA-EM
r
1
EMPREGADO
a
1
a
3
a
2
r
2
r
3
PROJETO
b
1
b
3
b
2
b
4
b
5
r
4
r
5
r
6
N
N
Restrio de Participao
EMPREGADO TRABALHA_PARA DEPARTAMENTO
Empregado somente pode existir se estiver
relacionado com algum departamento
(Participao Total)
Departamento pode existir mesmo no tendo
nenhum empregado (Participao Parcial)
EMPREGADO
TRABALHA-PARA
DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7

r
1

r
2

r
3

r
4

r
5

r
7

r
6
d
1
d
2
d
3
Total Parcial
Restrio Estrutural
A restrio estrutural de:
EMPREGADO (1,1), pois participa em
No mnimo em 1 e no mximo em 1 relacionamento
DEPARTAMENTO (0, N), pois participa em
No mnimo 0 e no mximo N relacionamentos
EMPREGADO
TRABALHA-PARA
DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7

r
1

r
2

r
3

r
4

r
5

r
7

r
6
d
1
d
2
d
3
Total Parcial
N
1
EMPREGADO
TRABALHA-PARA
DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7

r
1

r
2

r
3

r
4

r
5

r
7

r
6
d
1
d
2
d
3
(1, 1) (0, N)
Atributo de Relacionamento
Os Tipos de Relacionamentos tambm
podem ter Atributos. Por exemplo:
Quantidade de horas trabalhadas por um
empregado em um dado projeto (Horas)
Pode ser representado como um atributo do
relacionamento TRABALHA_EM
Data em que um gerente comeou a
gerenciar um departamento (DataIncio)
Pode ser representado como um atributo do
relacionamento GERENCIA
Atributo de Relacionamento
Atributos de Tipos de Relacionamentos
1:1 podem ser colocados em um dos
Tipos de Entidades participantes
DataIncio em
EMPREGADO GERENCIA DEPARTAMENTO
EMPREGADO
GERENCIA
DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7

r
1

r
2

r
3
d
1
d
2
d
3
Atributo de Relacionamento
Atributos de TR 1:N podem ser colocados
no TE que est no lado N do
relacionamento
DataIncio em
EMPREGADO TRABALHA_PARA
DEPARTAMENTO
EMPREGADO
TRABALHA-PARA
DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7

r
1

r
2

r
3

r
4

r
5

r
7

r
6
d
1
d
2
d
3
N
1
Tipo de Entidade-Fraca
So Tipos de Entidades que no tm
atributos-chaves. Entidades s podem ser
identificadas atravs da associao com
uma outra Entidade.
DEPENDENTE
POSSUI
d
1
= { Maria Maria, F, 01/01/1970, Esposa }
d
3
= { Ana Ana, F, 03/03/2003, Filha }
d
2
= { Joo Joo, M, 02/02/2002, Filho } *
d
4
= { Joo Joo, M, 02/02/2002, Filho } *
d
6
= { Jos Jos , M, 02/02/1971, Marido }
d
5
= { V V tor tor, M, 02/02/2002, Filho }
d
7
= { Snia Snia, F, 01/01/1970, Esposa }
r
1
r
7
r
3
r
4
r
2
r
5
r
6
Tipo de entidade-fraca
Tipo de entidade
proprietrio da identificao
Tipo de relacionamento
de identificao
do Tipo de entidade-fraca
CLIENTE
{ Antnio, 0001, ... } = c
1
{ Antnio, 1000, ... } = c
2
{ Marta, 6789, ... } = c
3
{ Rodrigo, 9876, ... } = c
4
Tipo de Entidade-Fraca
Um tipo de entidade-fraca sempre tem restrio
de participao total (dependncia existencial)
com respeito ao seu tipo de relacionamento de
identificao, porque no possvel identificar
uma entidade-fraca sem a correspondente
entidade proprietria.
Um tipo de entidade-fraca tem uma chave-
parcial, que um conjunto de atributos que
pode univocamente identificar entidades-fracas
relacionadas mesma entidade proprietria.
Notao do DER
Tipo de Entidade
Tipo de Entidade-Fraca
Tipo de Relacionamento
Tipo de Relacionamento de Identificao
Atributo
Atributo-Chave
Atributo Multivalorado
Atributo Composto
Atributo Derivado
Participao Total de E2 em R
Razo de Cardinalidade 1:N para E1 R E2
Restrio Estrutural (min, max) na participao de E em R
Atributo-Parcial
....
E1 E2
E1 E2
1 N
E
(min, max)
R
R
R
TRABALHA-PARA
GERENCIA
Pnome Mnome Snome
Nome
Nss
DataNasc
Endereo
Salrio Sexo
Nome
Nmero
Localizao
NmeroDeEmpregados
DataIncio
PROJETO
Horas
DEPENDENTE
Nome Sexo DataNasc TipoRelao
supervisor
supervisionado
1 N
1
N
M
N
N
1
1
N 1
Nome
Nmero
Localizao
DEPENDENTE-DE
SUPERVISIONA
TRABALHA-EM
CONTROLA
1
EMPREGADO DEPARTAMENTO
O DER do Sistema Companhia
Questes
Discuta o papel de um modelo de dados de
alto-nvel no projeto de banco de dados.
Cite alguns possveis casos onde o valor nulo
(null) pode ser aplicado.
Defina os seguintes termos: entidade, atributo,
valor de atributo, instncia de relacionamento,
atributo composto, atributo univalorado,
atributo multivalorado, atributo derivado e
atributo-chave.
Questes
Defina tipo de entidade. Descreva as
diferenas entre entidade e tipo de entidade.
Defina tipo de relacionamento. Descreva as
diferenas entre relacionamento e tipo de
relacionamento.
Quando necessrio indicar papis num
DER?
Questes
Descreva as formas alternativas de especificar
restries sobre tipos de relacionamentos.
Quais so as vantagens e desvantagens de
cada uma?
Sobre quais condies um tipo de
relacionamento pode se tornar um atributo de
um tipo de entidade?
Qual o significado de um tipo de
relacionamento recursivo? D alguns exemplos
diferentes daquele apresentado.
Questes
Defina os termos: tipo de entidade proprietrio
da identificao, tipo de relacionamento de
identificao e chave-parcial.
Um tipo de relacionamento de identificao
pode ter grau maior que dois? Justifique a sua
resposta atravs de um exemplo. (Pesquise na
Internet ou em [EMLASRI 2005] para
responder esta questo).
Bibliografia
Batini, C.; Ceri, S.; Navathe, S. Conceptual Database Design: An Entity-
Relationship Approach. Benjamin/Cummings, Redwood City, Calif., 1992.
Date, C.J., Introduo a Sistemas de Banco de Dados, traduo da 8 edio
americana, Campus, 2004.
Elmasri, R.; Navathe, S.B. Fundamentals of Database Systems, 4th ed.
Addison-Wesley, Reading, Mass., 2003.
Ferreira, J.E.; Finger, M., Controle de concorrncia e distribuio de dados: a
teoria clssica, suas limitaes e extenses modernas, Coleo de textos
especialmente preparada para a Escola de Computao, 12
a
, So Paulo,
2000.
Heuser, C.A., Projeto de Banco de Dados., Sagra - Luzzatto, 1 edio, 1998.
Korth, H.; Silberschatz, A. Sistemas de Bancos de Dados. 3a. Edio, Makron
Books, 1998.
Ramakrishnan, R.; Gehrke, J., Database Management Systems, 2 nd ed.,
McGraw-Hill, 2000.
Setzer, W. W.; Bancos de dados - conceitos, modelos gerenciadores, projeto
lgico, projeto fsico.. So Paulo: E. Blcher, 1999.
Teorey, T.J. Database Modeling and Design, 3rd Ed., Morgan Kaufmann, San
Francisco, Calif., 1998.
Notas de aula: http://www.ime.usp.br/~jef/apostila.pdf.

Você também pode gostar