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 Especializa (detalha) Generaliza (abstrai) Específico USP – ICMC - GBDI Is-a Herança 2 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 3 Abstração de Generalização – Notação DER-X Entidade Abstrata (Entidade Genérica ou Supertipo) Pessoa Entidade Detalhe (Entidade Específica ou Subtipo) Direção do Relacionamento: Especialização Aluno Professor USP – ICMC - GBDI Funcionário 4 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, ...} Pessoa Aluno= {p1, p3, ...} Aluno Professor Funcionário Aluno Pessoa USP – ICMC - GBDI 5 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) Aluno USP – ICMC - GBDI Pessoa Professor Funcionário 6 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 USP – ICMC - GBDI Funcionário 7 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 8 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 9 Herança Nome Idade Altura Pessoa Vínculo Vínculo N#USP a chave do CE específicos é herdada do CE genérico chave definida implicitamente ‘aluno’ Curso ‘docente’ Aluno Professor ‘funcionário’ Funcionário N#Func Função USP – ICMC - GBDI 10 Herança CEs específicos herdam todos os CRs definidos para o CE genérico Nome Idade Altura Pessoa 1 possui N Plano Saúde Vínculo Vínculo N#USP ‘aluno’ Curso ‘docente’ Aluno Professor ‘funcionário’ Funcionário N#Func Função USP – ICMC - GBDI 11 Herança em Múltiplos Níveis Nome Idade Pessoa Altura Vínculo N#USP Curso Aluno Professor Funcionário N#Func Função Graduação Semestre Pós-Grad. Formação Técnico Secretária Especialidade 12 Nome Exemplo: Idade Pessoa Altura Vínculo N#USP Curso Aluno Graduação Herança Múltipla Funcionário Pós-Grad. Professor Assistente Prof/Aluno Titulação Doutor 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 14 Exemplo: Herança Múltipla Veículo Aquático Terrestre 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 16 Quando Especializar? CASO 1: determinados atributos aplicam-se somente a alguns CEs específicos Atributos Genéricos Nome Idade Altura Pessoa Atributos Específicos Vínculo Vínculo N#USP ‘aluno’ Curso Atributos Específicos ‘docente’ Aluno Professor ‘funcionário’ Funcionário N#Func Função Quando Especializar? CASO 2: existem relacionamentos dos quais participam apenas entidades de alguns CEs específicos Aluno cursa Disciplina USP – ICMC - GBDI Pessoa Professor Funcionário ministra 18 Restrições da Abstração de Generalização Restrição de Disjunção Exclusão Mútua Ch CEG Sobreposição AG Restrição de Totalidade Especialização Total Especialização Parcial CEE1 CEE2 AE1 AE2 USP – ICMC - GBDI ... CEEi AEi 21 Restrição de Disjunção Sigla Disciplina Nome Exclusão Mútua - uma disciplina deve ser somente de um tipo Tipo Tipo D ‘grad’ ‘pós’ Grad. Pós-Gr. Semestre Nível USP – ICMC - GBDI 22 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 Ch CEG AG Exclusão Mútua D CEE1 CEE2 AE1 AE2 ... D CEEi AEi USP – ICMC - GBDI 23 Restrição de Disjunção Nome Pessoa Função Função O ‘vigia’ Vigia Turno ‘secretário’ Secretário Nível Sobreposição - um funcionário pode acumular mais de uma função ao mesmo tempo ‘bibliotecário’ Bibliotecário Seção USP – ICMC - GBDI 24 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 Ch CEG Notação AG O CEE1 CEE2 AE1 AE2 Sobreposição ... O CEEi AEi USP – ICMC - GBDI 25 Restrição de Totalidade Sigla Nome Tipo ‘grad’ Especialização Total qualquer disciplina é de pelo menos um tipo: graduação, pós-graduação, e/ou especialização Disciplina tipo ‘pós’ ‘espec.’ Grad. Pós-Gr. Especializ. Semestre Nível N#Horas USP – ICMC - GBDI 26 Restrição de Totalidade Abstração de Generalização é Total quando todas as entidades genéricas estão em pelo menos um dos CEEs: UK CEEk = CEG Notação Ch CEG AG CEE1 CEE2 AE1 AE2 ... Total CEEi AEi USP – ICMC - GBDI 27 Restrição de Totalidade Nome Função ‘vigia’ Vigia Turno Especialização Parcial – uma pessoa pode, por exemplo, ter a função de Gerente de Recursos Humanos (que não está definida como subtipo) Pessoa função ‘secretário’ Secretário Nível ‘bibliotecário’ Bibliotecário Seção USP – ICMC - GBDI 28 Restrição de Totalidade Abstração de Generalização é Parcial quando existem entidades genéricas que não estão em nenhum CEE: Uk CEEk CEG Ch CEG Notação AG Parcial CEE1 CEE2 AE1 AE2 ... CEEi AEi USP – ICMC - GBDI 29 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 Ch CEG Possibilidades AG CEE1 CEE2 AE1 AE2 ... Parcial Exclusiva Parcial Sobreposta Total Exclusiva Total Sobreposta CEEi AEi USP – ICMC - GBDI 30 Parcial Exclusiva Sigla 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 Disciplina Nome Tipo tipo D ‘grad’ Uma disciplina só pode ser de um tipo ‘pós’ Grad. Pós-Gr. Semestre Nível USP – ICMC - GBDI 31 Total Exclusiva Sigla Só há disciplinas de graduação, de pós-graduação, e de especialização Disciplina Nome Tipo tipo D ‘grad’ Uma disciplina ou é de graduação ou de pós, ou de especialização ‘pós’ ‘espec.’ Grad. Pós-Gr. Especializ. Semestre Nível N#Horas USP – ICMC - GBDI 32 Parcial Sobreposta Nome Pessoa Além de Vigia, Secretário e Bibliotecário, há outras funções Função função O ‘vigia’ Vigia Turno ‘secretário’ Secretário Nível ‘bibliotecário’ Bibliotecário Um funcionário pode acumular mais de uma função, por exemplo Secretário e Bibliotecário, ao mesmo tempo Seção USP – ICMC - GBDI 33 Total Sobreposta NUSP Há somente alunos de graduação, de pós-graduação, e de especialização Aluno Nome Tipo tipo O ‘grad’ ‘pós’ Grad. Pós-Gr. Ano Ingresso M/D ‘espec.’ Um aluno pode ao mesmo tempo estar matriculado em um curso de graduação e em um curso de especialização, por exemplo Especializ. USP – ICMC - GBDI 34 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