Upload
internet
View
111
Download
0
Embed Size (px)
Citation preview
SCC0141 - Bancos de Dados e Suas Aplicações
Prof. Jose Fernando Rodrigues Junior
Material original: Elaine Parros Machado de Sousa
MER-X Generalização/Especialização
USP – ICMC - GBDI 2
Abstração de Generalização – Introdução
Genérico
Específico
Generaliza(abstrai)
Especializa(detalha)
Is-a
Herança
USP – ICMC - GBDI 3
MER CE agrupa entidades de um mesmo tipo CE expressa o tipo das entidades
MER-X tipos podem ser especializados em subtipos
entidades podem ser especializadas em subtipos de entidades relevantes no domínio do problema
Abstração de Generalização – Introdução
Abstração de Generalização/EspecializaçãoAbstração de Generalização/Especialização
USP – ICMC - GBDI 4
Abstração de Generalização – Notação DER-X
Entidade Abstrata(Entidade Genérica ou Supertipo)
Direção do Relacionamento: Especialização
Entidade Detalhe (Entidade Específica
ou Subtipo)
Pessoa
Aluno Professor Funcionário
USP – ICMC - GBDI 5
GeneralizaçãoGeneralização - elementos de um conjunto são distribuídos em diversos subconjuntos (subtipos)
relacionamento Is-a
Abstração de Generalização
Pessoa={p1, p2, p3, p4, ...}
Aluno= {p1, p3, ...}
Aluno Pessoa
Pessoa
Aluno Professor Funcionário
USP – ICMC - GBDI 6
Critério de Especialização – determina como os elementos são distribuídos em subconjuntos (subtipos) específicos Definido pelo Usuário Definido por Valor de Atributo (ou Definido por Predicado)
Abstração de Generalização
Pessoa
Aluno Professor Funcionário
USP – ICMC - GBDI 7
Critério Definido pelo UsuárioCritério Definido pelo Usuário CE(s) Específico(s) indicado(s) explicitamente na inserção da entidade
Critério de Especialização
Pessoa
Aluno Professor Funcionário
USP – ICMC - GBDI 8
Critério Definido por PredicadoCritério Definido por Predicado valores do(s) atributo(s) de critério definem o(s) CE(s) Específico(s) automaticamente na inserção da entidade
Critério de Especialização
Critério de Especialização
Pessoa
Aluno Professor Funcionário
Nome
Vínculo
Vínculo
‘docente’
‘funcionário’‘aluno’
USP – ICMC - GBDI 9
Conceito fundamental: HERANÇAHERANÇA CEs específicos herdam todos os atributos do CE genérico
OBS: em geral, atributos usados como critério não são herdados pelos CEs específicos
Herança
USP – ICMC - GBDI 10
Herança a chave do CE específicos é herdada do CE genérico chave definida implicitamente
Nome
Idade
Altura
Vínculo
N#Func
Função
N#USP
Curso
Pessoa
Aluno Professor Funcionário
Vínculo
‘docente’‘funcionário’
‘aluno’
USP – ICMC - GBDI 11
CEs específicos herdam todos os CRs definidos para o CE genérico
Herança
Plano SaúdepossuiNome
Idade
Altura
Vínculo
N#Func
Função
N#USP
Curso
Pessoa
Aluno Professor Funcionário
Vínculo
‘docente’‘funcionário’
‘aluno’
N1
12
Herança em Múltiplos Níveis
Graduação Pós-Grad. Técnico Secretária
Semestre Formação Especialidade
Nome
Idade
Altura
Vínculo
N#Func
Função
N#USP
Curso
Pessoa
Aluno Professor Funcionário
Exemplo: Exemplo:
Graduação Pós-Grad. Assistente Doutor
Nome
Idade
Altura
Vínculo
Titulação
N#USP
Curso
Pessoa
Aluno Funcionário Professor
Herança Herança MúltiplaMúltipla
Prof/Aluno
USP – ICMC - GBDI 14
Um mesmo CE participa como CE Específico em mais de uma ocorrência da Abstração de Generalização
Um mesmo CE possui mais de um supertipo “direto” CE específico "herda" todos os atributos e
relacionamentos dos seus supertipos atributos e relacionamentos herdados de um mesmo
CE genérico por caminhos diferentes na hierarquia são associados (implicitamente) apenas uma vez ao CE específico
Herança Múltipla
Veículo
Terrestre Aquático
Automóvel Anfíbio Barco
Exemplo: Exemplo: Herança Múltipla Herança Múltipla
USP – ICMC - GBDI 16
Podemos criar uma hierarquia de especialização com mais de um CE genérico?
Herança Múltipla
NÃO!!!NÃO!!!Por que? Por que?
Quando Especializar? CASO 1:
determinados atributos aplicam-se somente a alguns CEs específicos
AtributosGenéricos
AtributosEspecíficos
AtributosEspecíficos
Nome
Idade
Altura
Vínculo
N#Func
Função
N#USP
Curso
Pessoa
Aluno Professor Funcionário
Vínculo
‘docente’‘funcionário’
‘aluno’
USP – ICMC - GBDI 18
CASO 2: existem
relacionamentos dos quais participam apenas entidades de alguns CEs específicos
Quando Especializar?
Disciplina ministracursa
Pessoa
Aluno Professor Funcionário
USP – ICMC - GBDI 21
Restrição de Disjunção
Exclusão Mútua
Sobreposição
Restrição de Totalidade
Especialização Total
Especialização Parcial
Restrições da Abstração de Generalização
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
USP – ICMC - GBDI 22
Restrição de Disjunção
Exclusão MútuaExclusão Mútua - uma disciplina deve ser somente de um tipoTipo
Disciplina
Grad. Pós-Gr.
Nome
Sigla
Semestre Nível
DD
Tipo
‘pós’‘grad’
USP – ICMC - GBDI 23
Abstração de Generalização é mutuamente mutuamente exclusivaexclusiva se, para qualquer par de CEEs j e k distintos, vale:
CEEj CEEk =
Restrição de Disjunção
Exclusão Mútua
NotaçãoCEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
DD
DD
USP – ICMC - GBDI 24
Restrição de Disjunção
Sobreposição - um funcionário pode acumular mais de uma função ao mesmo tempo
Pessoa
Vigia Secretário
Turno Nível
Bibliotecário
Seção
Função
Nome
OO
Função
‘bibliotecário’‘vigia’ ‘secretário’
USP – ICMC - GBDI 25
Abstração de Generalização é definida com sobreposiçãosobreposição se para algum par de CEEs j e k distintos:
CEEj CEEk
Sobreposição
Notação
Restrição de Disjunção
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
OO
OO
USP – ICMC - GBDI 26
Restrição de Totalidade
Especialização TotalEspecialização Total - qualquer disciplina é de pelo menos um tipo:graduação, pós-graduação, e/ou especialização
Disciplina
Grad. Pós-Gr.
Semestre Nível
Especializ.
N#Horas
Tipo
Nome
Sigla
tipo
‘espec.’‘grad’ ‘pós’
USP – ICMC - GBDI 27
Abstração de Generalização é TotalTotal quando todas as entidades genéricas estão em pelo menos um dos CEEs:
U CEEk = CEG
Total
Notação
K
Restrição de Totalidade
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
USP – ICMC - GBDI 28
Restrição de TotalidadeEspecialização Parcial – uma pessoa pode, por exemplo, ter a função de Gerente de Recursos Humanos (que não está definida como subtipo)
Pessoa
Vigia Secretário
Turno Nível
Bibliotecário
Seção
Função
Nome
função
‘bibliotecário’‘vigia’‘secretário’
USP – ICMC - GBDI 29
Abstração de Generalização é ParcialParcial quando existem entidades genéricas que não estão em nenhum CEE:
U CEEk CEG
Parcial
Notação
k
Restrição de Totalidade
CEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
USP – ICMC - GBDI 30
Restrições de cada ocorrência da abstração dependem da semântica do mundo real
As Restrições da Abstração de Generalização
Parcial ExclusivaParcial Sobreposta
Total ExclusivaTotal Sobreposta
PossibilidadesCEG
CEE1 CEE2 CEEi
Ch
AG
AE1 AE2 AEi
...
USP – ICMC - GBDI 31
Parcial Exclusiva
Uma disciplina só pode ser de um tipo
Há disciplinas que não são nem de graduação nem de pós-graduação. Ex: disciplinas para cursos de treinamento em empresas
Tipo
Disciplina
Grad. Pós-Gr.
Nome
Sigla
Semestre Nível
D
tipo
‘pós’‘grad’
USP – ICMC - GBDI 32
Total Exclusiva
Uma disciplina ou é de graduação ou de pós, ou de especialização
Só há disciplinas de graduação, de pós-graduação, e de especialização
Disciplina
Grad. Pós-Gr.
Semestre Nível
Especializ.
N#Horas
Tipo
Nome
Sigla
DD
tipo
‘espec.’‘grad’ ‘pós’
USP – ICMC - GBDI 33
Parcial Sobreposta
Um funcionário pode acumular mais de uma função, por exemplo Secretário e Bibliotecário, ao mesmo tempo
Além de Vigia, Secretário e Bibliotecário, há outras funções
Pessoa
Vigia Secretário
Turno Nível
Bibliotecário
Seção
Função
Nome
OO
função
‘bibliotecário’‘vigia’ ‘secretário’
USP – ICMC - GBDI 34
Total Sobreposta
Um aluno pode ao mesmo tempo estar matriculado em um curso de graduação e em um curso de especialização, por exemplo
Há somente alunos de graduação, de pós-graduação, e de especialização
Aluno
Grad. Pós-Gr.
Ano Ingresso M/D
Especializ.
Tipo
Nome
NUSP
OO
tipo
‘espec.’‘grad’ ‘pós’
Exercício – construa o DER para um BD do Céu O céu é composto por moradores comuns (ex: pessoas que
morreram e foram para o céu), por anjos da guarda, por santos e, é claro, por Deus. Os anjos e santos desempenham funções particulares. Cada anjo é alocado para olhar por um mortal que ainda está na Terra, sendo que cada mortal pode ser guardado por vários anjos. Um anjo sempre é supervisionado por um outro anjo, e cada anjo pode supervisionar vários outros. Os santos ficam o dia todo atendendo pedidos provenientes dos mortais. Às vezes, esses atendimentos são considerados milagres. Os moradores comuns do céu passam o dia orando, e cada um tem a função de orar para santos e Deus por uma determinada quantia fixa de horas por dia, dependendo dos pecados cometidos em vida. Sobre os anjos são conhecidos o nome, a cor das asas e a idade; sobre os santos sabe-se nome, cor das vestes, tempo de beatificação e idade; sobre os moradores comuns sabe-se apenas o nome. Sobre Deus não se sabe muita coisa ....
Sugestão de Leitura ELMASRI, R; NAVATHE, S.B. –
Sistemas de Banco de Dados, Addison Wesley, 4a Edição. Capítulo 4 – Modelagem com
Entidade-Relacionamento Estendido e UML
USP – ICMC – GBDI 37