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
Abstração de Generalização – Introdução Genérico Is-a Especializa (detalha) Generaliza (abstrai) Específico Herança USP – ICMC - GBDI
Abstração de Generalização – Introdução 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/Especialização USP – ICMC - GBDI
Abstração de Generalização – Notação DER-X Entidade Abstrata (Entidade Genérica ou Supertipo) Pessoa Aluno Professor Funcionário Entidade Detalhe (Entidade Específica ou Subtipo) Direção do Relacionamento: Especialização USP – ICMC - GBDI
Abstração de Generalização Generalização - elementos de um conjunto são distribuídos em diversos subconjuntos (subtipos) relacionamento Is-a Pessoa={p1, p2, p3, p4, ...} Aluno= {p1, p3, ...} Aluno Pessoa Pessoa Aluno Professor Funcionário USP – ICMC - GBDI
Abstração de Generalização 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) Pessoa Aluno Professor Funcionário USP – ICMC - GBDI
Critério de Especialização Critério Definido pelo Usuário CE(s) Específico(s) indicado(s) explicitamente na inserção da entidade Pessoa Aluno Professor Funcionário USP – ICMC - GBDI
Critério de Especialização Crité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 Nome Vínculo Pessoa Critério de Especialização Vínculo ‘aluno’ ‘funcionário’ ‘docente’ Aluno Professor Funcionário USP – ICMC - GBDI
Herança Conceito fundamental: HERANÇ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 USP – ICMC - GBDI
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 ‘aluno’ ‘funcionário’ ‘docente’ USP – ICMC - GBDI
Herança CEs específicos herdam todos os CRs definidos para o CE genérico Nome Idade Altura Vínculo N#Func Função N#USP Curso Pessoa Aluno Professor Funcionário 1 possui N Plano Saúde ‘aluno’ ‘funcionário’ ‘docente’ USP – ICMC - GBDI
Herança em Múltiplos Níveis Nome Pessoa Idade Altura Vínculo N#USP Curso Aluno Professor Funcionário N#Func Função Graduação Pós-Grad. Técnico Secretária Formação Especialidade Semestre
Exemplo: Herança Múltipla Pessoa Aluno Funcionário Professor Nome Exemplo: Pessoa Idade Altura Vínculo N#USP Curso Titulação Aluno Funcionário Professor Graduação Pós-Grad. Assistente Doutor Herança Múltipla Prof/Aluno
Herança Múltipla 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 USP – ICMC - GBDI
Exemplo: Herança Múltipla Veículo Terrestre Aquático Automóvel Anfíbio Barco
Herança Múltipla Podemos criar uma hierarquia de especialização com mais de um CE genérico? NÃO!!! Por que? USP – ICMC - GBDI
Quando Especializar? CASO 1: determinados atributos aplicam-se somente a alguns CEs específicos Nome Idade Altura Vínculo N#Func Função N#USP Curso Pessoa Aluno Professor Funcionário Atributos Genéricos Atributos Específicos ‘aluno’ ‘funcionário’ ‘docente’ Atributos Específicos
Quando Especializar? CASO 2: Pessoa Aluno Professor Funcionário CASO 2: existem relacionamentos dos quais participam apenas entidades de alguns CEs específicos cursa ministra Disciplina USP – ICMC - GBDI
Ortogonalidade entre Generalização e os outros construtores Pessoa CEs genéricos e específicos são tratados de maneira homogênea no modelo Aluno Professor Funcionário Orienta Graduação Pós-Grad. Técnico Secretária 19
Múltiplas Especializações Múltiplas Especializações um mesmo CE participa como CE Genérico em mais de uma ocorrência de Abstração de Especilização Pessoa Nome Idade Vínculo Sexo Sexo Vínculo N#USP ‘M’ N#Cert.Mil. Curso ‘aluno’ ‘F’ ‘docente’ Aluno Professor Mulher Homem USP – ICMC - GBDI
Restrições da Abstração de Generalização Restrição de Disjunção Exclusão Mútua Sobreposição Restrição de Totalidade Especialização Total Especialização Parcial CEG Ch AG ... CEE1 CEE2 CEEi AE1 AE2 AEi USP – ICMC - GBDI
Restrição de Disjunção Sigla Disciplina Exclusão Mútua - uma disciplina deve ser somente de um tipo Nome Tipo Tipo D ‘grad’ ‘pós’ Grad. Pós-Gr. Semestre Nível USP – ICMC - GBDI
Restrição de Disjunção Abstração de Generalização é mutuamente exclusiva se, para qualquer par de CEEs j e k distintos, vale: CEEj CEEk = Notação CEG Ch AG Exclusão Mútua D D ... CEE1 CEE2 CEEi AE1 AE2 AEi USP – ICMC - GBDI
Restrição de Disjunção Nome Sobreposição - um funcionário pode acumular mais de uma função ao mesmo tempo Pessoa Função Função O ‘vigia’ ‘secretário’ ‘bibliotecário’ Vigia Secretário Bibliotecário Turno Nível Seção USP – ICMC - GBDI
Restrição de Disjunção Abstração de Generalização é definida com sobreposição se para algum par de CEEs j e k distintos: CEEj CEEk CEG Ch Notação AG Sobreposição O O ... CEE1 CEE2 CEEi AE1 AE2 AEi USP – ICMC - GBDI
Restrição de Totalidade Sigla Especialização Total - qualquer disciplina é de pelo menos um tipo: graduação, pós-graduação, e/ou especialização Disciplina Nome tipo Tipo ‘espec.’ ‘grad’ ‘pós’ Grad. Pós-Gr. Especializ. Semestre Nível N#Horas USP – ICMC - GBDI
Restrição de Totalidade Abstração de Generalização é Total quando todas as entidades genéricas estão em pelo menos um dos CEEs: U CEEk = CEG K Notação CEG Ch Total AG ... CEE1 CEE2 CEEi AE1 AE2 AEi USP – ICMC - GBDI
Restrição de Totalidade Especialização Parcial – uma pessoa pode, por exemplo, ter a função de Gerente de Recursos Humanos (que não está definida como subtipo) Nome Pessoa Função função ‘vigia’ ‘secretário’ ‘bibliotecário’ Vigia Secretário Bibliotecário Turno Nível Seção USP – ICMC - GBDI
Restrição de Totalidade Abstração de Generalização é Parcial quando existem entidades genéricas que não estão em nenhum CEE: U CEEk CEG k CEG Ch Notação AG Parcial ... CEE1 CEE2 CEEi AE1 AE2 AEi USP – ICMC - GBDI
As Restrições da Abstração de Generalização Restrições de cada ocorrência da abstração dependem da semântica do mundo real CEG Ch Possibilidades AG Parcial Exclusiva Parcial Sobreposta Total Exclusiva Total Sobreposta ... CEE1 CEE2 CEEi AE1 AE2 AEi USP – ICMC - GBDI
Parcial Exclusiva 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 Sigla Disciplina Nome Tipo tipo D Uma disciplina só pode ser de um tipo ‘grad’ ‘pós’ Grad. Pós-Gr. Semestre Nível USP – ICMC - GBDI
Total Exclusiva D Só há disciplinas de graduação, de pós-graduação, Sigla Só há disciplinas de graduação, de pós-graduação, e de especialização Disciplina Nome Tipo tipo D Uma disciplina ou é de graduação ou de pós, ou de especialização ‘espec.’ ‘grad’ ‘pós’ Grad. Pós-Gr. Especializ. Semestre Nível N#Horas USP – ICMC - GBDI
Parcial Sobreposta O Pessoa Além de Vigia, Secretário e Nome Pessoa Além de Vigia, Secretário e Bibliotecário, há outras funções Função função O Um funcionário pode acumular mais de uma função, por exemplo Secretário e Bibliotecário, ao mesmo tempo ‘vigia’ ‘secretário’ ‘bibliotecário’ Vigia Secretário Bibliotecário Turno Nível Seção USP – ICMC - GBDI
Total Sobreposta Aluno O Há somente alunos de NUSP Há somente alunos de graduação, de pós-graduação, e de especialização Aluno Nome Tipo tipo O Um aluno pode ao mesmo tempo estar matriculado em um curso de graduação e em um curso de especialização, por exemplo ‘espec.’ ‘grad’ ‘pós’ Grad. Pós-Gr. Especializ. Ano Ingresso M/D USP – ICMC - GBDI
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 ....
Exercício: Refaça o DER para o problema do Representante de Vendas (Aula de Agregação) usando Generalização/Especialização
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