Relacionamento (MER)
É baseado em uma percepção do mundo real
representada por um conjunto de objetos
denominados ENTIDADES e pelo conjunto
dos relacionamentos entre estes objetos
Entidade
É um objeto que pode ser identificado de forma
unívoca em relação a todos os outros objetos
Uma entidade pode ser:
Concreta: pessoa
Abstrata: empréstimo
Conjuntos de Entidades
Conjunto de todas as entidades de um
mesmo tipo, que possuem as mesmas
propriedades: atributos
Exemplo:
Cliente - Conjunto de todas as pessoas que são clientes
de um banco
Uma entidade pode fazer parte de mais de
um conjunto de entidades (CEs)
Exemplo:
Entidade Pessoa → Conjunto de Entidades Funcionário
e Conjunto de Entidades Cliente
Atributos
São propriedades que descrevem cada
entidade de um CEs
Uma entidade é representada por um
conjunto de atributos distintos
Exemplo:
Cliente: Cliente_nome, Seguro_social
Cada entidade pode ter seu próprio valor em
cada atributo
Exemplo:
Entidade: João Alves com n.º de seguro 111-25-478
Domínio do Atributo
Paracada atributo há um conjunto de
valores possíveis, chamado domínio,
do atributo
Exemplo:
Conta_número é um atributo, cujo domínio é o
conjunto de todos os strings de um certo
tamanho
CEs Cliente
Jaqueline 321-54-987 Av. Olegário Maciel, 390 Mairiporã
6061-2 R$ 1000,00
6061-3 R$ 12,00
6061-4 R$ 340,00
6061-5 R$ 33000,00
6061-6 R$ 1200,00
6061-7 R$ 15000,00
6061-8 R$ 700,00
Atributos
Uma entidade pode ser descrita por um
conjunto de pares (atributos, valores de
dados)
Exemplo:
Cliente: {(Cliente_nome, Alves), (RG, 111-25-
478), (Cliente_rua, Jaques Felix),
(Cliente_cidade, Mairiporã)}
Tipos de Atributos
Simples ou Compostos
Simples
Não são divididos em partes
Exemplo: Cliente_cidade
Compostos
Podem ser divididos em outros atributos
Exemplo: Cliente_endereço pode ser dividido
em Cliente_logradouro e
Cliente_logradouro_número
Tipos de Atributos
Monovalorados ou Multivalorados
Monovalorados
Os atributos possuem um único valor para uma
única entidade
Exemplo: Empréstimo_número
Multivalorados
O atributo possui um conjunto de valores para
uma única entidade
Exemplo: Dependente_nome
Tipos de Atributos
Nulo
É usado quando uma entidade não possui ou
desconhece o valor de um determinado atributo
Exemplo: Um funcionário que não possua dependentes
terá o valor do atributo Dependente_nome nulo
Derivado
O valor desse atributo pode ser derivado de
outros atributos ou entidades a ele relacionadas
Exemplo: tempo_de_casa.
Tempo_de_casa = data_corrente – data_contratação
Relacionamentos
Um relacionamento é uma associação
entre uma ou várias entidades
Exemplo:
O relacionamento do cliente Alves com a conta
6061-2
Conjunto de relacionamentos (CRs)
Conjunto de todos os relacionamentos de
um mesmo tipo
CRs ClienteConta
Jaqueline 321-54- Av. Olegário Maciel, Mairiporã 6061-1 R$ 50,00
987 390
(a) (b)
Relacionamento Um para
Muitos
Uma entidade em A está associada a várias
entidades em B. Entretanto, uma entidade
em B, deve estar associada a no máximo
uma entidade em A
(a) (b)
Relacionamento Muitos para
Um
Uma entidade em A está associada no
máximo a uma entidade em B. Uma entidade
em B, entretanto, pode estar associada a um
número qualquer de entidades em A
(a) (b)
Relacionamento Muitos para
Muitos
Uma entidade em A está associada a um
número qualquer de entidades em B, e uma
entidade em B está associada a um número
qualquer de entidades em A
(a) (b)
Dependência de Existência
Define que se uma entidade x depende
da existência de uma entidade y, então
x é uma entidade subordinada e y é
uma entidade dominante
Se a entidade y for apagada, a
entidade x também será
Exemplo:
entidade Funcionário → entidade dominante
entidade Dependente → entidade
subordinada
Participação Total e Parcial
A participação de um CEs E no CRs R
é dita:
Total: se todas as entidades em E
participam do relacionamento R
Parcial: se somente algumas entidades em
E participam do relacionamento R
Chaves
Super chave
É um conjunto de um ou mais atributos, que
permite identificar univocamente uma
entidade em um conjunto de entidades
Exemplo:
RG → é uma super chave
Cliente_nome e RG → é uma super chave
Cliente_nome → não é uma super chave
Chaves
Chave candidata
São super chaves que não possuem
nenhum subconjunto que seja uma super
chave
Exemplo:
RG Cliente-rua
1 Cliente N
Cliente Conta
Conta
DER - Relacionamento Muitos
para Um
RG Cliente-rua
N Cliente 1
Cliente Conta Conta
DER - Relacionamento Um
para Um
RG Cliente-rua
Conta-número
Cliente-nome Cliente-cidade Saldo
1 Cliente 1
Cliente Conta
Conta
DER com Indicadores de
Papéis
Para indicar papéis em um diagrama E-R,
deve-se rotular as linhas que conectam
retângulos a losangos
1 gerente
Funcionário trabalha-
para
N trabalhador
DER com Relacionamento
Ternário
Agência
-cidade
Agência
-nome Fundos
Agência
RG 1 Conta-
Cliente-rua
número
Cliente- Cliente- Saldo
nome cidade
N M
Cliente CCA Conta
CEs Fracas
É o conjunto de entidades que não possui
atributos suficientes para constituir uma
chave primária
Um conjunto de entidades fracas deve
participar de um relacionamento do tipo um
para muitos
Exemplo:
Dependente → conjunto de entidades fracas
Um membro de um CEs fracas é uma
entidade subordinada
CEs Fortes
Data
Conta-número Saldo
Transação-
Quantia
número
1 N
Conta Log Transação
Recursos para Extensão do
MER
Especialização
Generalização
Herança de atributos
Agregação
Especialização
Um conjunto de entidades pode conter
subgrupos de entidades que possuam
alguma(s) característica(s) diferentes
das demais
É o processo de projetar subgrupos
dentro de um conjunto de entidades
É representada por um triângulo
rotulado de ISA ou “É UM(a)”
Especialização - Exemplo
Conta-
Saldo
O relacionamento “É
número
UM(A)” pode ser
entendido como um
Conta
relacionamento de super
ou subclasse
É UMA
Os conjuntos de
entidades em nível
Conta-poupança Conta-corrente superior e inferior são
também representados
Taxa-juros Limite-cheque- por um retângulo
especial
contendo o nome do
CEs
Generalização
O refinamento do CEs
Conta-
número
Saldo em subgrupos indica um
desenvolvimento top-
Conta down do projeto
(especialização)
É UMA É o desenvolvimento
do projeto de modo
Conta-poupança Conta-corrente
bottom-up, no qual
conjuntos de entidades
são sintetizados em um
Limite-cheque-
Taxa-juros
especial CEs em alto nível, com
base em atributos
comuns
Generalização
Conta-
Expressa o
Saldo
número relacionamento
existente entre um
Conta CEs de nível superior
e um ou mais CEs de
nível inferior
É UMA
CEs superiores e
Conta-poupança Conta-corrente inferiores também
podem ser chamados
Limite-cheque- de superclasses e
Taxa-juros
especial subclasses
respectivamente
Generalização
A generalização é simplesmente o
inverso da especialização
Também representada por um
triângulo rotulado de ISA ou “É UM(a)”
É utilizada para enfatizar as
semelhanças entre os conjuntos de
entidades de nível inferior e ocultar
suas diferenças
Representação mais econômica
Evita a repetição de atributos
compartilhados
Generalização - Exemplo
Conta-
Saldo
O relacionamento “É
número
UM(A)” pode ser
entendido como um
Conta
relacionamento de super
ou subclasse
É UMA
Os conjuntos de
entidades em nível
Conta-poupança Conta-corrente superior e inferior são
também representados
Taxa-juros Limite-cheque- por um retângulo
especial
contendo o nome do
CEs
Herança de Atributos
É uma propriedade das entidades de
nível superior e inferior criada pela
especialização e pela generalização
Os atributos dos conjuntos de
entidades de nível superior são
herdados pelos conjuntos de entidades
de nível inferior
Exemplo:
Conta-corrente e conta-poupança herdam
os atributos do CEs Conta
Herança de Atributos
RG Cliente-rua
Cliente Cliente
Conta
Conta
É UMA
Os conjuntos de entidades de
nível inferior também herdam a
participação nos conjuntos de Conta-poupança Conta-corrente
relacionamentos dos quais seus
conjuntos entidades de nível
Limite-cheque-
superior participam Taxa-juros
especial
Propriedades válidas para a
especialização e generalização
Agregação: DER com
relacionamentos redundantes
Cliente-
RG
rua
Agregação: é a Agente-
abstração por empréstimo
meio da qual
relacionamentos
são tratados Funcionário
como entidades
de nível superior Número-
Funcionário-rg
Funcionário telefone
-nome
Redução de um DER a
Tabelas
Um BD que é representado por um
DER, pode também ser representado
por um conjunto de tabelas
Para cada CEs e para cada CRs existe
uma tabela única com campos únicos
Cada tabela é nomeada com o nome
do CEs ou CRs correspondente
Representação Tabular dos
CEs Fortes
Seja E um CEs fortes com n atributos, então
E será representada por uma tabela
contendo n atributos
Cada linha desta tabela corresponde a uma
entidade do CEs E
Data
RG Conta-
Cliente-rua Transação-
número Quantia
Cliente- Cliente- número
Saldo
nome cidade
N Cliente M 1 N
Cliente Conta Log Transação
Conta
Exemplo
O CEs Conta será representado por uma
tabela denominada Conta, contendo duas
colunas, como ilustrado a seguir
Conta-número Saldo
6061-1 R$ 50,00
6061-2 R$ 1000,00
6061-3 R$ 12,00
6061-4 R$ 340,00
6061-5 R$ 33000,00
6061-6 R$ 1200,00
6061-7 R$ 15000,00
6061-8 R$ 700,00
Tabela Conta
Representação Tabular dos
CEs Fortes
Seja D1 o conjunto de todos os números de
conta e D2 o conjunto de todos os saldos,
qualquer linha da tabela Conta será uma 2-
tupla (v1,v2) onde v1 é um número de conta e
v2 é um saldo
Em geral, a tabela Conta conterá um
subconjunto do conjunto de todas as linhas
possíveis
O conjunto de todas as linhas possíveis é
representado pelo produto cartesiano D1 x D2
Se uma tabela possui n colunas o produto
cartesiano é representado por D1 x D2 x ... x
Exemplo
O CEs Cliente será representado por uma tabela
denominada Cliente, contendo quatro colunas
Tabela Cliente
Representação Tabular dos
CEs Fracas
Seja A um CEs fracas com r atributos e B o
CEs fortes do qual A é dependente
Se B possui s atributos como chave primária,
então A será representada por uma tabela
contendo r ∪ s atributos
Exemplo:
O CEs Transação é dependente do CEs Conta
Chave primária do CEs Conta: conta-número
Atributos do CEs Transação: transação-número,
data e quantia
Exemplo
O CEs Transação será representado por uma
tabela denominada Transação, contendo
quatro colunas
Conta-número Transação-número Data Quantia
6061-1 5 01/01/2004 R$ 50,00
6061-2 11 07/02/2004 R$ 1000,00
6061-3 36 17/03/2004 R$ 12,00
6061-4 41 07/04/2004 R$ 340,00
6061-5 19 13/06/2004 R$ 33000,00
6061-6 57 03/07/2004 R$ 1200,00
6061-7 01 10/06/2004 R$ 15000,00
6067-8 13 04/05/2004 R$ 700,00
Tabela Transação
Representação Tabular dos
Conjuntos de
Relacionamentos
Seja R um CRs. Seja m o conjunto de
atributos formado pela união das
chaves primárias de cada CEs
participantes de R
Seja n os atributos descritivos de R, se
houver. Este CRs é representado pela
tabela R contendo m ∪ n colunas
distintas
1º Exemplo
Considere o CRs ClienteConta. Este CRs envolve os
seguintes CEs:
Cliente: chave primária RG
Conta: chave primária Conta-número
RG Cliente-rua Data
Tabela ClienteConta
2º Exemplo
Considere o CRs triplo CCA. Este
relacionamento envolve os três seguintes
CEs:
Cliente:chave primária RG
Conta: chave primária Conta-número
Agência: chave primária Agência-nome
2º Exemplo – Cont.
Uma vez que o relacionamento CCA não possui
atributos descritivos, a tabela CCA possui três
colunas
RG Conta-número Agência-nome
111-25-478 6061-2 Centro
123-45-789 6061-3 Justiça Federal
142-65-423 6061-5 CTA
142-65-423 6061-6 CTA
321-54-987 6061-4 Centro
451-47-855 6061-1 Monteiro Lobato
452-44-855 6061-2 Centro
546-20-789 6061-7 Monteiro Lobato
546-20-789 6061-5 CTA
654-33-142 6061-8 Caçapava
Tabela CCA
Tabelas Redundantes
O CRs ligando um CEs fracas ao seu CEs
fortes é especial
Estes relacionamentos são muitos-para-um
e não possuem atributos descritivos
Data
RG Conta-
Cliente-rua Transação-
número Quantia
Cliente- Cliente- número
Saldo
nome cidade
N Cliente M 1 N
Cliente Conta Log Transação
Conta
Tabelas Redundantes
A chave primária de um CEs fracas inclui a
chave primária do CEs fortes
Em geral, a tabela para um CRs ligando um
CEs fracas ao seu CEs fortes é
REDUNDANTE E NÃO PRECISA ESTAR
PRESENTE em uma representação tabular de
um DER
Data
RG Conta-
Cliente-rua Transação-
número Quantia
Cliente- Cliente- número
Saldo
nome cidade
N Cliente M 1 N
Cliente Conta Log Transação
Conta
Exemplo
Transação: chave primária {conta-
número, transação-número}
Conta: chave primária é conta-número
Uma vez que o relacionamento log não
possui atributos descritivos, a tabela log
deveria ter duas colunas, conta-número
e transação-número
Tabela Transação: conta-número,
transação-número, data e quantia
Deste modo, a tabela log é redundante
Atributos Multivalorados
São representados no DER por uma elipse
de linha dupla
Para estes atributos são criadas novas
tabelas
Cliente- Funcionário
RG -nome
rua
N Agente M
Cliente -cliente Funcionário
Dependente-
nome
Exemplo
Suponha que o CEs Funcionário
possui o atributo multivalorado
dependente-nome
Para o atributo dependente-nome é
criada a tabela dependente com as
colunas dependente-nome e
Funcionário-rg
Representação Tabular da
Generalização
Existem dois métodos para representar em
forma tabular um DER que inclui
generalização
1º Método:
Criar uma tabela para o CEs de nível superior
Para cada CEs de nível inferior criar uma tabela
contendo os atributos deste CEs e mais uma
coluna para cada atributo da chave primária do
CEs de nível superior
Exemplo:
Para o DER ao lado
são criadas as tabelas: Conta-
número
Saldo
Conta-poupança, com os
atributos Conta-número
É UM
e Taxa-juros
Conta-corrente, com os
Conta-poupança Conta-corrente
atributos Conta-número
e Limite-cheque-especial
Taxa-juros Limite-cheque-
especial
Representação Tabular da
Generalização
2º Método:
criadas as seguintes
tabelas: Conta
Conta-poupança, com os
atributos Conta-número, É UM
Saldo e Taxa-juros
Conta-corrente, com os Conta-poupança Conta-corrente
atributos Conta-número,
Saldo e Limite-cheque- Limite-cheque-
Taxa-juros
especial especial
Representação Tabular da
Agregação
Cliente-
RG
rua