Escolar Documentos
Profissional Documentos
Cultura Documentos
Fabricio Breve
Aspectos de projeto de entidade-
relacionamento
• As noções de um conjunto de entidades e
um conjunto de relacionamento não são
precisas, e é possível definir um conjunto
de entidades e os relacionamentos entre
eles de diversas maneiras
Uso de conjunto de entidades
versus atributos
• Considere o conjunto:
– Id_funcionario, nome_funcionario,
numero_telefone
• numero_telefone pode ser uma entidade com seus
próprios atributos: numero_telefone e local
(escritório, casa, etc...)
• Tratar telefone como entidade modela melhor uma
situação em que se pode querer manter
informações extras sobre o telefone
– local, tipo, pessoas que o compartilham
Uso de conjunto de entidades
versus atributos
• O que constitui um atributo?
• O que constitui um conjunto de entidades?
– Depende!
• Qual a estrutura da empresa real?
• Qual o significado associado?
Uso de conjunto de entidades versus
conjunto de relacionamentos
• Nem sempre é claro se um objeto é mais bem
expresso por um conjunto de entidades ou por
um conjunto de relacionamento
– Em nosso exemplo do banco, o empréstimo poderia
ser uma relação entre cliente e agência
• É satisfatório se um cliente puder fazer apenas um
empréstimo por agência e um empréstimo pertencer a
apenas um cliente
• Caso contrário, é problemático
Conjunto de relacionamentos binários
versus enários
• Alguns relacionamentos ternários são
melhor representados por dois
relacionamentos binários
– Exemplo: relacionamento ternário pais,
relacionando um filho aos seus pais
Convertendo relacionamentos não
binários para a forma binária
n Em geral, qualquer relacionamento não binário pode ser representado usando
relacionamentos binários criando um conjunto de entidades artificial.
l Substitua R entre os conjuntos de entidades A, B e C por um conjunto de
entidades E três conjuntos de relacionamento:
1. RA, relacionando E e A
2. RB, relacionando E e B
3. RC, relacionando E e C
l Crie um atributo identificador especial para E
l Inclua quaisquer atributos de R em E
l Para cada relacionamento (ai , bi , ci) em R,
1. crie uma nova entidade ei no conjunto de entidades E
2. inclua (ei , ai ) em RA
3. inclua (ei , bi ) em RB
4. inclua (ei , ci ) em RC
Cardinalidades de mapeamento afetam
o projeto ER
n Podemos tornar a data de acesso um atributo de conta, em vez de um
atributo de relacionamento, se cada conta puder ter apenas um cliente
l Ou seja, o relacionamento de conta para cliente é muitos-para-um ou,
equivalentemente, cliente para conta é um-para-muitos
Conjunto de Entidades Fracos
• É um conjunto de entidades que não tem atributos suficientes para
formar uma chave primária
• A existência de um conjunto de entidades fraco depende da
existência de um conjunto de entidades identificador (ou
proprietário)
– Ele precisa se relacionar com o conjunto de entidades identificador
através de um conjunto de relacionamento um-para-muitos total, do
identificador para o conjunto de entidades fraco
– Relacionamento identificador descrito usando um losango duplo
• O discriminador (ou chave parcial) de um conjunto de entidades
fraco é o conjunto de atributos que distingue entre todas as
entidades de um conjunto de entidades fraco.
• A chave primária de um conjunto de entidades fraco é formada pela
chave primária do conjunto de entidades forte em que o conjunto de
entidades fraco é dependente de existência, mais o discriminador
do conjunto de entidades fraco.
Conjuntos de Entidades Fracos
n Representamos um conjunto de entidades fraco por retângulos duplos.
n Sublinhamos o discriminador de um conjunto de entidades fraco com
uma linha tracejada.
n número_pagamento — discriminador do conjunto de entidades
pagamento.
n Chave primária para pagamento — (número_empréstimo,
número_pagamento)
Conjuntos de Entidades Fracos
n Nota: A chave primária do conjunto de entidades forte não é
explicitamente armazenada com o conjunto de entidades fraco, já
que ela está implícita no relacionamento identificador.
muitos-para-muitos
um-para-um
muitos-para-um