CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 1/64
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 2/64
Projeto Conceitual de BD
Modelo Conceitual
Entidade e Relacionamento
Conceitos AvançadosPor:
Robson do Nascimento [email protected]
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 3/64
Relacionamento
• Problema 1: Considere o seguinte cenário
� Clientes podem ter vários dependentes
� Dependentes precisam do identificador de Cliente para formar o seu
Como modelar este problema?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 4/64
• Relacionamento Identificador (Entidade Fraca)� A entidade não tem atributos suficientes para formar seu
identificador
� Só existe quando a entidade está relacionada a outra entidade
� Usa o identificador da entidade Forte para formar o seu
Relacionamento
RepresentaçãoGráfica
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 5/64
• Relacionamento Identificador - Recursão
Relacionamento
O termo Entidade Fraca deve ser usado com cautela, pois
uma entidade fraca em um relacionamento não
necessariamente é também fraca em outro relacionamento
EX: Banco-Correntista
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 6/64
Relacionamento
• Problema 2: Considere o seguinte cenário
� Clientes novos devem ser patrocinados (“indicados”) por um cliente antigo.
� Um cliente antigo pode patrocinar (“indicar”) vários clientes novos Como modelar
este problema?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 7/64
Relacionamento
• Auto-relacionamento
� Representa uma associação entre ocorrências de uma mesma entidade
� Exige a identificação de papéis
Patrocinador Patrocinador PatrocinadoPatrocinado
Um Cliente pode ser patrocinador de
vários de clientes. Um Cliente só pode
ser patrocinado por um Cliente.(1,1) (1,1) (0,n) (0,n)
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 8/64
Relacionamento
• Papel de relacionamento
� Função que uma ocorrência de uma entidade cumpre em uma ocorrência de um relacionamento
� EX: Relacionamento de Patrocínio• Uma ocorrência de Cliente exerce o papel de Patrocinador
• Uma ocorrência de Cliente exerce o papel de Patrocinado
Atenção:
O uso de papeis não é exigido em ocorrências
de relacionamentos entre entidades distintas
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 9/64
Relacionamento
Rafael
Ana
Rita
Pedro
Cliente• Abstração Informal
Patrocinador Patrocinador
Patrocinador Patrocinador
Patrocinador Patrocinador
PatrocinadoPatrocinado
PatrocinadoPatrocinado
PatrocinadoPatrocinado
Patrocinador Patrocinador
PatrocinadoPatrocinado
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 10/64
Relacionamento
• Problema 3: Considere o seguinte cenário
� Um cliente pode ter N contas em um banco (N>=1)
� Uma conta pode ser de M clientes (M>=1)
� Uma conta pode ter X produtos bancários (X>=1)
� Uma conta pode ter produtos bancários diferentes para clientes diferentes
Como modelar este problema?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 11/64
Relacionamento
• Relacionamento Ternário
?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 12/64
Relacionamento
• Grau de relacionamento
� Corresponde ao o número de entidades, não necessariamente distintas, que participam de um relacionamento
� Uma entidade pode ser tratada como um relacionamento de grau zero para efeito de comparação com outros relacionamentos
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 13/64
Relacionamento
• Grau de relacionamento
� Tipos de Grau de Relacionamento
• Binário: Uma ocorrência do relacionamento deve envolver simultaneamente duas instâncias de entidades
� Todos os exemplos até agora
• Ternário: Uma ocorrência do relacionamento deve envolver simultaneamente três instâncias de entidades
� Não pode relacionar três entidades em um momento e duas em outro
• N-ário: Mesmo raciocínio anterior
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 14/64
Relacionamento
• Relacionamento Ternário
ATENÇÃO:
Cada ocorrência de “Possui” relaciona 3 ocorrências
de entidade: Cliente, Produto e Conta!
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 15/64
Relacionamento
• Relacionamento Ternário
ATENÇÃO:
A cardinalidade refere-se ao par das demais entidades
(?,?)
(?,?) (?,?)
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 16/64
Relacionamento
• Relacionamento Ternário
A Conta de um Cliente tem que ter um produto associado,
mas pode ter vários produtos também.
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 17/64
Relacionamento
• Relacionamento Ternário
O Produto associado a uma Conta tem que pertencer a um Cliente,
mas pode pertencer a vários clientes também
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 18/64
Relacionamento
• Relacionamento Ternário
Um Produto associado a um Cliente tem que pertencer a uma conta,
mas pode pertencer a várias contas também
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 19/64
Relacionamento
• Problema 4: Considere o seguinte cenário
� Um cliente pode ter N contas em um banco (N>=1)
� Uma conta pode ser de M clientes (M>=1)
� O cliente de uma conta pode participar de X Promoções (X>=0) Como modelar
este problema?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 20/64
Relacionamento
• Problema 4
?
Como modelar esta associação se “Possui” já é
um relacionamento?
PromoPromoçção ão
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 21/64
Extensões do Modelo ER
• Entidade Associativa (ou agregação)
� Substitui a associação entre relacionamentos, a qual não éprevista pelo modelo ER
� É um relacionamento que passa a ser tratado como entidade
� Permite o uso de relacionamento opcional!
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 22/64
Extensões do Modelo ER
• Entidade Associativa (ou agregação)
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 23/64
(1,n) (1,n)
Extensões do Modelo ER
• Entidade Associativa (ou agregação)
� Caso não deseja-se usar o conceito de entidade
associativa, deve-se transformar o relacionamento em
entidade fraca, a qual pode ser relacionada com outra
entidade
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 24/64
Extensões do Modelo ER
• Entidade Associativa (ou agregação)
� Note que os relacionamentos identificadores são do lado 1:n!
(1,n) (1,n)
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 25/64
Extensões do Modelo ER
• Problema 5: Considere o seguinte cenário
� Um cliente pode ser pessoa física ou jurídica
Como modelar este problema?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 26/64
Extensões do Modelo ER
• Herança (Generalização/Especialização)� Permite que as ocorrências das entidades especializadas também
sejam manipuladas como ocorrências da entidade genérica
� Permite definir atributos e/ou relacionamentos particulares a umsubconjunto de entidades especializadas
• Não use herança se não houver atributos ou relacionamentos particulares a um subconjunto de entidade especializadas!
� Permite a herança de propriedades (atributos) e relacionamentos
• Agrega ao seu conjunto de propriedades e relacionamentos as propriedades e relacionamentos da entidade genérica
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 27/64
Extensões do Modelo ER
• Herança (Generalização/Especialização)
� Tipos de Herança:
• Total: Todas as entidades especializadas tem que estar relacionada a entidade genérica
• Parcial: Pelo menos uma entidade genérica não está relacionada a entidade especializada
• Exclusiva: A entidade genérica está associada a uma única entidade especializada
• Não exclusiva: A entidade genérica está associada a duas ou mais entidades especializadas
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 28/64
Extensões do Modelo ER
• Herança - Exemplos
ClienteCliente
P.FP.Fíísicasica P.JurP.Juríídicadica
tt
FuncionFuncionááriorio
ChefeChefe DiretorDiretor
pp
PessoaPessoa
AlunoAluno FuncionFuncionááriorio
ññ
ProfessorProfessor
VeVeíículoculo
TerrestreTerrestre AquAquááticotico
ee
Todo cliente ou Todo cliente ou ééPessoa FPessoa Fíísica ou sica ou ééPessoa JurPessoa Juríídicadica
Nem todo funcionNem todo funcionáário rio ééChefe ou DiretorChefe ou Diretor
Uma Pessoa pode serUma Pessoa pode serAluno em um curso Aluno em um curso e Professor em outroe Professor em outro
Um VeUm Veíículo ou culo ou ééTerrestre ou Terrestre ou ééAquAquááticotico
TipoTipo
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 29/64
Extensões do Modelo ER
• Problema 6: Considere o seguinte cenário
� Um Aluno Assistente é um Funcionário e Aluno ao mesmo tempo
Como modelar este problema?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 30/64
Extensões do Modelo ER
• Herança Múltipla
� Permite agregar ao seu conjunto de propriedades e
relacionamentos as propriedades e relacionamentos de
mais de uma entidade genérica
� Pode ser Total ou Parcial/Exclusiva ou não exclusiva
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 31/64
Extensões do Modelo ER
• Herança Múltipla - Exemplo
ClienteCliente
FuncionFuncionááriorio AlunoAluno
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 32/64
Extensões do Modelo ER
• Problema 7: Considere o seguinte cenário
� Quero representar uma pessoa, um banco ou uma empresa (que não possuem atributos comuns) como um proprietário de um veículo que representa uma motocicleta ou automóvel Como modelar
este problema?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 33/64
Extensões do Modelo ER
• Categoria ou Tipo União
� Permite criar um agrupamento de ocorrências de diferentes classes
generalizadas que representam um mesmo papel em um dado
relacionamento
� A coleção de ocorrências de uma entidade especializada corresponde a união das ocorrências das suas entidades genéricas. Contudo, cada ocorrência de uma entidade especializada corresponde a especialização de apenas uma das suas entidades genéricas.
� Faz herança seletiva e exclusiva!
� Cada entidade genéricas tem um identificador próprio!!!
� Pode ser Total ou Parcial (sempre é exclusiva)
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 34/64
Extensões do Modelo ER
• Categoria ou Tipo União - Exemplo
PessoaPessoa BancoBanco EmpresaEmpresa
VeVeíículoculo
uu
AutomAutomóóvelvel MotocicletaMotocicleta
uu
ProprietProprietááriorio(1,n)(1,n)
(1,n)(1,n)
CPFCPFNumNum CodCod
PlacaPlaca PlacaPlaca
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 35/64
Extensões do Modelo ER
• Problema 8: Considere o seguinte cenário
� Uma conta pertence a uma pessoa ou a uma empresa
Como modelar este problema?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 36/64
Extensões do Modelo ER
• Relacionamento Exclusivo� Permite modelar dois ou mais relacionamentos mutuamente exclusivos
vindos da mesma entidade usando um arco
� Normalmente pode ser substituído, sem perder semântica, por uma herança simples
� Usa um atributo “tipo” para distinguir o relacionamento
PessoaPessoa EmpresaEmpresa
ContaContaTipoTipo
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 37/64
Extensões do Modelo ER
• Relacionamento Exclusivo
� Qualquer relacionamento cruzado pelo arco pertence a ele. Uma
quebra no arco indica que o relacionamento não está incluído no arco.
PessoaPessoa EmpresaEmpresa
ContaConta
AgênciaAgência
TipoTipo
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 38/64
Exemplos de notações ER
• Notação R. Elmasri & S. Navathe
Atributo
AtributoChave
AtributoDerivado
AtributoMultivalorado
EntidadeE
EntidadeFraca
E
RelacionamentoR
RelacionamentoIdentificadorR
A
A
A
AtributoCompostoA
A1
A2
A3
A
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 39/64
Exemplos de notações ER
• Notação R. Elmasri & S. Navathe
E1 E2R
Participação total de E2 em R
1 NE1 E2R
Cardinalidade 1:N para E1:E2 em R
(min,max) (min,max)E1 E2R
Restrição estrutural (min, max) de E1 e E2 em R
Herança, onde E1 e E2são especializações de E
E
E1 E2
Agregação sobre R1
E1 E2R1
E3
R2
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 40/64