Você está na página 1de 34

Banco de Dados

Professor Gustavo Miranda Teixeira


Instituto Federal Sudeste de MG
2019
Modelo Entidade Relacionamento
Estendido
Modelo Entidade-Relacionamento Estendido

Modelo Entidade Relacionamento Estendido


alguns aspectos são melhores expressos por
extensões do modelo Entidade
Relacionamento
especialização, generalização, conjuntos de
entidade de alto e baixo nível, herança de
atributos e agregação
Especialização

Um conjunto de entidade pode incluir subgrupos


de entidades que são distintos de alguma forma
de outras entidades do conjunto.
Entidade pessoa com ID, nome e endereco. A
entidade pode ser classificada como
empregado: pode conter salário
estudante: pode conter um atributo com o
total de créditos
Relação pessoa-empregado é superclasse-
subclasse/generalização-especialização
Especialização

No Diagrama E-R uma especialização é denotada


por uma seta branca de uma entidade
especializada para outra entidade.
relacionamento ISA, do ingles “is a”, é um(a),
ou seja, um empregado é uma pessoa.
uma entidade pode pertencer a multiplos
conjuntos especializados de entidade:
especialização sobreposta
entidade pertence a no máximo um conjunto
especializado de entidade: especialização
disjunta
Especialização

Especialização sobreposta
duas setas separadas
pessoa pode ser empregado e estudante ao
mesmo tempo

Especialização disjunta
seta única usada
pessoa não pode ser instrutor e secretário ao
mesmo tempo
Especialização
Generalização

Especialização é um refinamento do tipo


top-down
Generalização é um refinamento do tipo
bottom-up
Em termos práticos, a generalização é apenas
uma inversão da especialização. Os dois
processos são aplicados ao projetar Diagramas
E-R, mas seu resultado é o mesmo
Generalização

Imagine os seguintes conjuntos de entidades:


instrutor com atributos instrutor_id,
instrutor_nome, instrutor_salary, e posicao
secretario com atributos secretario_id,
secretario_nome, secretario_salario, e
horas_por_semana.
Atributos comuns podem ser expressos por uma
generalização que é um relacionamento de
contenção existente entre o conjunto de
entidade de alto nível e um ou mais conjuntos de
entidades de baixo nível.
Herança de Atributos

Propriedade crucial de entidades de alto e baixo


nível criadas por generalização e especialização
é a herença de atributos.

Os atributos de conjuntos de entidades de mais


alto nível são herdados por todos os conjuntos
de entidades de mais baixo nível.

Por exemplo, estudante e empregado herdam os


atributos de pessoa.
Herança de Atributos

Um conjunto de entidade de mais baixo nível


(subclasse) também herda participação no
conjunto de relacionamentos nos quais um
conjunto de entidade de mais alto nível
(superclasse) participa.
assim como a herança de atributos, a herança
de relacionamentos ocorre em todos os níveis
exemplo: pessoa está em um relacionamento
com departamento chamado pessoa_dept
estudante, empregado, instrutor e secretario
também participam implicitamente do
relacionamento
Herança de Atributos

Hierarquia de conjunto de entidades


mais alto nível com atributos e
relacionamentos que se aplicam a todos os
seus conjuntos de entidades de mais baixo
nível
herança simples: apenas um relacionamento
ISA
herança múltipla: conjunto de entidade de
mais baixo nível com mais de um
relacionamento ISA com as superclasses
Restrições em Generalizações

Projetista pode impor restrições em uma


genaralização.
Entidades podem ser membros de um conjunto
de relacionamento de mais baixo nível?
definido por condição:
I se tipo_estudante = “graduado” então pertence ao conjunto
de entidades de baixo nível estudante_graduado
I se tipo_estudante = “estudante universitário” então pertence
ao conjunto de entidades de baixo nível
estudante_universitário
I Esse tipo de generalização é dita definida por atributo
definido pelo usuário:
I usuário do banco precisa decidir em qual nível do conjunto
de entidade pertencerá
Restrições em Generalizações

Restrição de completude: especifica se um


conjunto de entidade de alto nível deve
pertencer a ao menos um conjunto de entidade
de baixo nível dentro da generalização /
especialização.
generalização (ou especialização) total: cada
entidade de alto nível deve pertencer a um
conjunto de entidade de baixo nível.
generalização (ou especialização) parcial:
algumas entidades de alto nível podem não
pertencer a algum conjunto de entidade de
baixo nível
Restrições em Generalizações

Generalização parcial é o padrão em um


diagrama E-R.

Para especificar uma generalização total, usa-se


a palavra “total” e uma linha pontilhada na seta
branca.
Restrições em Generalizações

Certos requisitos de inserção e deleção passam a


existir em consquência de uma dada
especialização ou generalização.
se restrição de generalização total existe, uma entidade inserida
em um conjunto de entidade de alto nível também deve ser
inserida em um conjunto de entidade de baixo nível
com uma restrição de condição, todas entidades de alto nível que
satisfazem a condição devem ser inseridas naqueles conjuntos de
entidade de baixo nivel
uma entidade deletada de um conjunto de alto nível precisa ser
deletada também de todos os conjuntos de entidade de baixo
nível relacionados
Agregação

Agregação:
Um modelo E-R não pode especificar
relacionamentos entre relacionamentos. Esse
tipo de construção seria útil em relações não
binárias, como visto com instrutor, estudante e
projeto.
Agregação
Agregação

Cada instrutor emite relatório mensal de


avaliação
entidade avaliacao com chave primária
avaliacao_id
relação quaternária entre projeto, instrutor,
estudante e avaliacao chamada eval_for
Agregação
Agregação

eval_for e proj_guide podem ser combinadas em


um único conjunto de relacionamento
instrução, projeto e estudante podem não ter
avaliacao associada
informação redundante em eval_for e
proj_guide
avaliacao poderia ser um atributo
multivalorado do relacionamento proj_guide
não funcionaria se avaliacao estiver em um
relacionamento com outras entidades
Agregação

Agregação é a melhor forma de modelar esse


tipo de situação.
abstração através da qual os relacionamentos
são tratados como entidades de alto nível
o conjunto de relacionamento proj_guide e
todos os conjuntos de entidades (instrutor,
estudante e projeto) são agregados em uma
entidade de alto nível
essa agregação é tratada como uma entidade
como todas as outras
Agregação
Notações Alternativas

Diversas notações existentes para diagramas E-R


não há um padrão universal
diferentes livros e diferentes softwares usam
notações diversas
Chen (ovais), IDEF1X (pata-de-corvo), UML
(mais proxima da adotada)
Notação

Notação usada:
atributos dentro da entidade
chaves primárias sublinhados e atributos de
entidades fracas sublinhados com tracejado
setas para indicar cardinalidade (aponta para
o “um” da relação)
generalização usa setas
Notação
Notação
Notação alternativa

Notação alternativa:
atributos podem ser mostrados como ovais
ligados às entidades
chaves primárias são sublinhadas
generalização usa triângulo
Notação alternativa
Notação UML

Notação UML:
atributos dentro das entidades
cardinalidade utiliza menor..maior (mas do
lado inverso)
deve indicar se atributo é público, privado ou
protegido
generalização usa setas
Notação UML
Notação UML
Resumo

Relacionamento um-para-muitos:
Referências I

Eliane Faria.
Slides eliane faria.
http://www.facom.ufu.br/~elaine/disc/BD/BD.html.
Accessed: 2019-08-01.
Michael Hernandez.
Database Design For Mere Mortals.
Addison-Wesley, 2013.
Carlos Alberto HEUSER.
Projeto de banco de dados.
Editora Bookman, 2009.
Roopesh Ramklass.
OCA Oracle Database 12c Exam Guide.
McGraw-Hill, 2014.
Henry F.; SUDARSHAN S. SILBERSCHATZ, Abraham; KORTH.
Sistema de banco de dados.
Elsevier, 2006.

Você também pode gostar