Educação Profissional Técnica de Nível Médio em Informática Modelo ER-Extendido Marcelo Mendes Manaus - 2012 1 Modelo ER-Extendido Apesar de ser possível modelar a maioria dos bancos de dados com conceitos básicos do E-R, alguns aspectos de um banco de dados podem ser expressos de modo mais conveniente por meio de extensões do modelo básico. O Modelo ER foi extendido para possibilitar a necessária abstração ao projetista do banco de dados em casos especiais. Extensão do Modelo ER Especialização Generalização Herança Restrições Agregação Especialização/Generalização Um conjunto de entidades pode conter subgrupos de entidades que são, de alguma forma, diferentes de outras entidades do conjunto. Permite atribuir propriedades particulares a um subconjunto de ocorrências especializadas de uma entidade genérica. Especialização/Generalização Especialização – Processo de projetar os subgrupos dentro de um conjunto de entidades. Ex.: Entidade Conta Conta Poupança Conta Corrente Generalização – Especifica que diversas entidades que possuem atributos comuns podem ter esses atributos generalizados em uma entidade superior, superclasse ou entidade genérica. Ex.: Conta Poupança e Conta Corrente Conta Especialização/Generalização Mais geral Empregado Superclasse É um Gerente Engenheiro Subclasse Técnico Secretária Mais específico Especialização/Generalização Herança de propriedades: Cada ocorrência da entidade especializada, além das suas próprias propriedades, possui também as propriedades da ocorrência da entidade genérica correspondente Filial Cliente Nome É um CPF Sexo Código P.Física CNPJ P.Juridica Tipo de organização Especialização/Generalização Através desse conceito podemos herdar atributos, relacionamentos, generalizações e especializações da entidade genérica, conforme abaixo. Especialização/Generalização Um conjunto de entidades pode conter subgrupos de entidades que são, de alguma forma, diferentes de outras entidades do conjunto Tem-se atributos comuns e atributos diferentes É feita uma hierarquia de conjuntos de entidades São chamadas superclasses e subclasses Especialização é um processo top-down Generalização é um processo bottom-up As subclasses podem participar de outros relacionamentos Cada Especialização herda atributos e relacionamentos da Entidade da qual derivou Especialização/Generalização Não há limite no número de níveis hierárquicos da generalização/especialização. Na herança múltipla, cada entidade especializada herda os identificadores da entidade genérica. Exemplo: Veículo Terrestre Carro Aquático Anfíbio Barco Restrições de Projeto Restringe quais entidades podem ser membros de uma dada subclasse Restringe se entidades podem ou não pertencer a mais que uma subclasse dentro de uma mesma especialização/generalização definida por condição (ou definida por atributo) definida pelo usuário disjuntos (ou mutuamente exclusivos) sobrepostos restrição de totalidade – especifica se para cada entidade superclasse corresponde uma entidade subclasse total parcial Restrições de Projeto Regras Excluir uma entidade (instância) de uma superclasse implica que ela é excluída de todas as subclasses às quais pertence. Inserir uma entidade (instância) em uma superclasse implica que a entidade é obrigatoriamente inserida em todas as subclasses definidas por predicado (ou por atributo) para as quais a entidade satisfaz o predicado definidor. Inserir uma entidade (instância) de uma especialização total implica que a entidade é obrigatoriamente inserida em pelo menos uma das subclasses da especialização. Agregação Uma das limitações do modelo ER é que ele não permite expressar relacionamentos entre relacionamentos Considere que um funcionário só poderá usar uma máquina se ele estiver em um projeto Funcionário N N Alocado N Utiliza 1 Máquina Projeto