You are on page 1of 80

Modelo Entidade-

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ã

Bruno 451-47-855 Av. Castelo Branco, 405 Taubaté

Benedito 123-45-789 Travessa Rafael, 55 Mairiporã

João Alves 111-25-478 Rua Jaques Felix, 23 Mairiporã

Sandra 452-44-855 R. das Flores, 21 Mairiporã

Eduardo 654-33-142 Av. Independência Caçapava

Carlos 546-20-789 Av. Itália Taubaté

Sandra 142-65-423 Av. 9 de julho S. J. Campos


CEs Conta
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
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

Bruno 451-47-855 Av. Castelo Branco, 405 Taubaté 6061-2 R$ 1000,00

Benedito 123-45-789 Travessa Rafael, 55 Mairiporã 6061-3 R$ 12,00

João 111-25-478 Rua Jaques Felix, 23 Mairiporã 6061-4 R$ 340,00


Alves

Sandra 452-44-855 R. das Flores, 21 Mairiporã 6061-5 R$


33000,00
Eduardo 654-33-142 Av. Independência Caçapava 6061-6 R$ 1200,00

Carlos 546-20-789 Av. Itália Taubaté 6061-7 R$


15000,00
Sandra 142-65-423 Av. 9 de julho S. J. 6061-8 R$ 700,00
Campos
Papel de uma Entidade
 É a função que uma entidade desempenha
em um relacionamento
 É implícito, já que os CEs, que participam de
um CRs, são em geral distintos
 Entretanto são úteis quando o significado de
um relacionamento precisa ser esclarecido
 Exemplo:
 O mesmo CEs participa de um CRs mais de uma vez
 Este tipo de CRs é chamado de conjunto de
relacionamentos recursivos
CRs Recursivos
 Nomes explícitos de papéis são necessários
para especificar como uma entidade participa
de uma instância de relacionamento
 Exemplo:
 CEs Funcionário
 CRs trabalha_para: ordena os pares de entidades
Funcionário
 O primeiro Funcionário de um par tem um papel de
gerente e o segundo de Funcionário
 Todos os relacionamentos de trabalha_para são
caracterizados pelos pares (gerente, Funcionário)
 Os pares (Funcionário, gerente) são excluídos
Relacionamentos

 Um relacionamento pode possuir


atributos descritivos
 Exemplo:
 O relacionamento ClienteConta é descrito pelo
atributo Data_acesso
 O relacionamento entre as entidades cliente

Alves e conta 6061-2 é descrito por


{(Data_acesso, 04 de maio de 2007)}
Relacionamentos
 Binário → envolvem dois conjuntos de entidades
 Exemplo:
 Relacionamento ClienteConta
 Não-binários → associam mais de dois
conjuntos de entidades
 Exemplo:
 relacionamento ternário entre as entidades do cliente
Alves, conta 6061-2 e agência Centro
 Cliente Alves, conta 6061-2 e agência Centro é uma instância
do relacionamento CCA
 O número de CEs que participa de um CRs é
também o grau desse CRs
 Um CRs binário tem grau dois
 Um CRs ternário tem grau três
CEs ou Atributos ?
 Conjunto de entidades Funcionário →
Funcionário_nome, Funcionário_rg e
Funcionário_telefone
 Redefinindo o conjunto de entidades
Funcionário tem-se:
Conjunto de entidades Funcionário →
Funcionário_nome e Funcionário_rg
Conjunto de entidades Telefone →
Telefone_número e Telefone_local
Conjunto de relacionamentos
FuncionárioTelefone, que faz a associação entre
os funcionários e seus números de telefone
Como distinguir entre um
atributo e um CEs?

 A distinção dependerá da estrutura da


empresa a ser modelada e da
semântica associada ao atributo em
questão
CEs ou CRs ?
 Exemplo:
 Relacionamento entre os CEs: Cliente e Agência
 Atributos descritivos: empréstimo_número e
conta_número
 Cada empréstimo é representado por um
relacionamento entre um cliente e uma agência
 Empréstimo de 1 cliente para 1 agência
 Representação inadequada para
relacionamentos N para M
 Replicação de dados, causando desperdício de
memória
 Atualizações podem levar a dados inconsistentes
Como distinguir entre um CEs
e um CRs ?

 Recorrerao CRs para descrever uma


ação que ocorre entre entidades
 Exemplo:
 Ces: Cliente e Empréstimo
 CRs: Devedor
Mapeamento de Restrições
Mapeamento das Cardinalidades
É o número de entidades associadas a
uma outra entidade através de um
conjunto de relacionamentos
 É mais útil na descrição de conjuntos de
relacionamentos binários
 Pode ser dos seguintes tipos:
 Um para um
 Um para muitos
 Muitos para um
 Muitos para muitos
Relacionamento Um para Um
 Uma entidade em A está associada no
máximo a uma entidade em B, e uma
entidade em B está associada a no máximo
uma entidade em A

(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 → é uma chave candidata


 Cliente_nome e Cliente_rua → é uma chave candidata

 RG e Cliente_nome → não é uma chave candidata


Chaves
 Chave primária
É uma chave candidata cuja principal função
é identificar uma entidade como única dentro
de um conjunto de entidades
 Exemplo:

 RG → é uma chave primária


 Cliente_nome → não é uma chave primária
Composição da Chave
Primária para Conjuntos de
Relacionamentos

 Seja R um relacionamento. A chave


primária de R depende do mapeamento
da cardinalidade do conjunto de
relacionamentos.
Exemplo
 Cliente → chave primária RG
 Conta → chave primária Conta_número
 Se o relacionamento ClienteConta não
possui atributos descritivos e o
mapeamento da cardinalidade do
relacionamento é do tipo:
 MUITOS PARA MUITOS: então sua superchave é {RG,
Conta_número}
 MUITOS PARA UM: então sua chave primária é
{RG}
 UM PARA MUITOS: então sua chave primária é
{Conta_número}
 UM PARA UM: então sua chave primária pode
ser {RG} ou {Conta_número}
Exemplo
 Cliente → chave primária RG
 Conta → chave primária Conta_número
 Se o relacionamento ClienteConta possui o
atributo descritivo Data_acesso e o
mapeamento da cardinalidade do
relacionamento é do tipo:

 MUITOS PARA MUITOS: então sua superchave é


{RG, Conta_número, Data_acesso}
 MUITOS PARA UM: então sua superchave é {RG,
Data_acesso}
 UM PARA MUITOS: então sua superchave é
{Conta_número, Data_acesso}
 UM PARA UM: então sua superchave pode ser
{RG, Data_acesso} ou {Conta_número,
Data_acesso}
Diagrama Entidade-
Relacionamento (E-R)
 Contém os seguintes componentes:
Retângulos → representam conjuntos de
entidades
Elipses → representam atributos
Losangos → representam conjuntos de
relacionamentos
Linhas → ligam conjuntos de entidades a atributos
e conjuntos de entidades aos conjuntos de
relacionamentos
Elipses duplas → representam atributos
multivalorados
Linhas duplas → indicam participação total de uma
entidade em um conjunto de relacionamentos
DER - Relacionamento Muitos
para Muitos ClienteConta
 Osatributos de um CEs que são membros de
uma chave primária devem ser sublinhados
RG Cliente-rua

Cliente-nome Cliente-cidade Conta-número Saldo

Cliente Depositante Conta


DER - Relacionamento Um
para Muitos
 Para distinguir a cardinalidade de um
relacionamento, deve-se desenhar uma linha
direcionada (→) ou não direcionada ()
entre o conjunto de relacionamentos e o
conjunto de entidades em questão

RG Cliente-rua

Cliente-nome Cliente-cidade Conta-número Saldo

1 Cliente N
Cliente Conta
Conta
DER - Relacionamento Muitos
para Um

RG Cliente-rua

Cliente-nome Cliente-cidade Conta-número Saldo

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

Funcionário- Funcionário -RG


nome

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

É o conjunto de entidades que possui


uma chave primária
 Exemplo:
 Funcionário → conjunto de entidades fortes
 Um membro de um CEs fortes é uma
entidade dominante
Identificador (Chave parcial)
 É um conjunto de atributos que fornece a
distinção entre as entidades fracas de uma
entidade forte em particular.
 Exemplo:
 Dependente-nome → é um identificador
 A chave primária para um conjunto de
entidades fracas é constituída pela chave
primária do seu conjunto de entidades fortes
e por seu identificador
 Exemplo:
 Funcionário-rg e Dependente-nome → é uma chave primária
para o conjunto de entidades fracas Dependente
CEs Fracas
 São identificadas em um DER pela linha
dupla usada no retângulo e no losango do
relacionamento correspondente
 O identificador de um CEs fracas é
sublinhado com uma linha tracejada

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-nome Cliente-cidade Conta-número Saldo

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

Cliente- Cliente- Empréstimo


-número Saldo
nome cidade

Cliente Devedor Empréstimo

 Talvez pareça que


os conjuntos de
Agente-
relacionamentos empréstimo
Devedor e Agente-
empréstimo devam
ser combinados,
contudo isto Funcionário
tornaria a lógica do
Funcionário-
esquema obscura Funcionário-rg
Funcionário telefone
-nome
DER com Agregação
Cliente-
RG
rua

Cliente- Cliente- Empréstimo


-número Total
nome cidade

Cliente Devedor Empréstimo

 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

Cliente-nome RG Cliente-rua Cliente-cidade


Eduardo 654-33-142 Av. Independência, 16 Caçapava
Carlos 546-20-789 Av. Itália, 1200 Taubaté
Sandra 142-65-423 Av. 9 de julho, 507 S. J. Campos
Sandra 452-44-855 R. das Flores, 21 Mairiporã
João Alves 111-25-478 Rua Jacques Felix, 23 Mairiporã
Benedito 123-45-789 Travessa Rafael, 55 Mairiporã
Jaqueline 321-54-987 Av. Olegário Maciel, Mairiporã
Bruno 451-47-855 390
Av. Castelo Branco, 405 Taubaté

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

Cliente-nome Cliente-cidade Conta-número Saldo

Cliente N Cliente M Conta


Conta
1º Exemplo – Cont.
 Uma vez que o relacionamento possui o
atributo Data, a tabela ClienteConta possui
três colunas
RG Conta-número Data
111-25-478 6061-2 04-mai-01
123-45-789 6061-3 01-jan-01
142-65-423 6061-5 25-set-01
142-65-423 6061-6 13-jun-01
321-54-987 6061-4 10-jun-01
451-47-855 6061-1 04-mai-01
452-44-855 6061-2 17-mar-01
546-20-789 6061-7 03-jul-01
546-20-789 6061-5 08-nov-01
654-33-142 6061-8 24-out-01

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

Cliente- Cliente- Funcionário-rg Funcionário-


nome cidade telefone

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, com os atributos


Conta-número e Saldo Conta

 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:

 Para cada CEs de nível inferior, crie uma


tabela que inclua uma coluna para cada
um dos atributos deste CEs e mais uma
coluna para cada atributo do conjunto-
entidade de nível superior
Exemplo
 Para o DER ao lado, são Conta-
número
Saldo

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

Cliente- Cliente- Empréstimo


-número Total
nome cidade

Cliente Devedor Empréstimo

 A tabela para o  Poderia também


CRs Agente- Agente- incluir uma coluna
empréstimo inclui empréstimo para cada atributo
uma coluna para descritivo do CRs
cada atributo da
chave primária do Agente-
Funcionário
CEs Funcionário e empréstimo
também para o Funcionário-rg
Funcionário-
Funcionário telefone
CRs Devedor -nome
Representação Tabular da
Agregação
 Para o exemplo anterior são criadas as
seguintes tabelas:
 Cliente, com os atributos cliente-nome, rg, cliente-rua
e cliente-cidade
 Empréstimo, com os atributos empréstimo-número e
total
 Devedor, com os atributos rg e empréstimo-número
 Funcionário, com os atributos funcionário-rg,
funcionário-nome e funcionário-telefone
 Agente-empréstimo, com os atributos rg, empréstimo-
número e funcionário-rg
Exercícios Sugeridos
 Fazeros exercícios 2.1 a 2.7, 2.10 e
2.14 do capítulo 2 do livro texto [1]
Referência Bibliográfica

• [1] Silberschatz, A.; Korth, H. F. e Sudarshan, S. Sistema de


Banco de Dados. São Paulo: MAKRON Books, 1999.

You might also like