Projeto Conceitual de BD
Modelo Conceitual
Entidade e Relacionamento Conceitos Avançados
Por:
Robson do Nascimento Fidalgo
rdnf@cin.ufpe.br
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?
• 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ção
Gráfica
• 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
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?
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)
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
Relacionamento
Rafael
Ana
Rita
Pedro
Cliente
• Abstração Informal
Patrocinador Patrocinador
Patrocinador Patrocinador
Patrocinador Patrocinador
Patrocinado Patrocinado Patrocinado
Patrocinado
Patrocinado Patrocinado
Patrocinador Patrocinador Patrocinado
Patrocinado
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?
Relacionamento
• Relacionamento Ternário
?
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
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
Relacionamento
• Relacionamento Ternário
ATENÇÃO:
Cada ocorrência de “Possui” relaciona 3 ocorrências
de entidade: Cliente, Produto e Conta!
Relacionamento
• Relacionamento Ternário
ATENÇÃO:
A cardinalidade refere-se ao par das demais entidades (?,?)
(?,?) (?,?)
Relacionamento
• Relacionamento Ternário
A Conta de um Cliente tem que ter um produto associado,
mas pode ter vários produtos também.
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
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
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?
Relacionamento
• Problema 4
?
Como modelar esta associação se “Possui” já é um relacionamento?
Promo
Promo ção ç ão
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!
Extensões do Modelo ER
• Entidade Associativa (ou agregação)
(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
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)
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?
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 um subconjunto 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
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
Extensões do Modelo ER
• Herança - Exemplos
Cliente Cliente
P.F P.F í í sica sica P.Jur P.Jur í í dica dica t t
Funcion
Funcion á á rio rio
Chefe
Chefe Diretor Diretor p p
Pessoa Pessoa
Aluno
Aluno Funcioná Funcion ário rio ñ ñ
Professor Professor
Ve Ve í í culo culo
Terrestre
Terrestre Aqu Aqu á á tico tico e e
Todo cliente ou Todo cliente ou é é Pessoa F
Pessoa Fí ísica ou sica ou é é Pessoa Jur
Pessoa Jurí ídica dica
Nem todo funcion
Nem todo funcioná ário rio é é Chefe ou Diretor
Chefe ou Diretor
Uma Pessoa pode ser Uma Pessoa pode ser Aluno em um curso Aluno em um curso e Professor em outro e Professor em outro
Um Ve
Um Veí ículo ou culo ou é é Terrestre ou Terrestre ou é é Aquá Aqu ático tico
Tipo Tipo
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?
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
Extensões do Modelo ER
• Herança Múltipla - Exemplo
Cliente Cliente Funcion
Funcioná ário rio Aluno Aluno
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?
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)
Extensões do Modelo ER
• Categoria ou Tipo União - Exemplo
Pessoa
Pessoa Banco Banco Empresa Empresa
Veí Ve í culo culo
u u Autom
Automó óvel vel Motocicleta Motocicleta u u
Propriet
Propriet ário á rio
(1,n) (1,n) (1,n) (1,n) CPF CPF
Num Num Cod Cod
Placa
Placa Placa Placa
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?
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
Pessoa
Pessoa Empresa Empresa
Conta Conta
Tipo Tipo
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.
Pessoa
Pessoa Empresa Empresa
Conta Conta Agência Agência
Tipo Tipo
Exemplos de notações ER
• Notação R. Elmasri & S. Navathe
Atributo Atributo Chave Atributo Derivado
Atributo Multivalorado Entidade
E
Entidade Fraca E
Relacionamento R
Relacionamento Identificador R
A
A A
Atributo Composto A
A
1A
2A
3A
Exemplos de notações ER
• Notação R. Elmasri & S. Navathe
E1 R E2
Participação total de E2 em R
1 N
E1 R E2
Cardinalidade 1:N para E1:E2 em R
(min,max) (min,max)