Escolar Documentos
Profissional Documentos
Cultura Documentos
Banco de Dados: Modelo Entidade - Relacionamento
Banco de Dados: Modelo Entidade - Relacionamento
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.