Bancos de Dados
4. Modelagem Entidade-Relacionamento
Estendida
Por que estender o Modelo ER?
• Os conceitos da modelagem ER são suficientes para
representar muitos esquemas para aplicações “tradicionais”
• Algumas aplicações mais recentes, no entanto, exigem
mais expressividade e possuem requisitos mais complexos
• O modelo ERE (Entidades e Relacionamentos Estendido)
foi proposto para incorporar ao ER os conceitos de
modelagem semântica de dados
• Modelos de objetos e metodologias de modelagem
orientadas a objetos, tais como OMT e UML, também
usam esses conceitos, e ainda permitem modelar operações
sobre os dados (requisitos funcionais)
Conceitos adicionais aos do ER
• Subclasses, superclasses e herança
– Vem da modelagem de objetos, correspondem a relacionamentos de especialização e generalização
• Categoria
– Coleção de objetos que é a união de objetos de diferentes tipos de entidades
• Herança
– Mecanismo que permite transferir características (relações, atributos) entre classes relacionadas por especialização ou generalização
Subclasse / Superclasse
• No ER, cada entidade é usada tanto para representar o tipo
de entidade quanto o conjunto de entidades de um
determinado tipo
• Em muitos casos, um tipo de entidade possui diversos
subgrupos significativos, que agrupam as entidades
(instâncias) segundo categorias que são relevantes para a
aplicação
– Ex.: EMPREGADO -> SECRETÁRIA, ENGENHEIRO, GERENTE, etc.
• Cada uma dessas categorias é uma subclasse, e a categoria
genérica é a superclasse
Subclasse / Superclasse
• O relacionamento entre superclasse e subclasse é
denominado, obviamente, de relacionamento
superclasse/subclasse ou relacionamento classe/subclasse
• Uma entidade membro da subclasse representa a mesma
entidade do mundo real que a entidade membro da
superclasse
• O membro da subclasse é o mesmo que o da superclasse,
porém desempenhando um papel distinto
• No banco de dados, o membro da subclasse pode ser um
objeto distinto, relacionado ao da superclasse por meio de
uma chave
Subclasse / Superclasse
• Um membro de uma subclasse não pode existir por si só; é
preciso que ele seja também membro da superclasse
– Ex.: Todo GERENTE é também FUNCIONÁRIO
• Herança de tipo
– Uma vez que a entidade membro da subclasse também é membro da superclasse, então ela deveria possuir valores para seus atributos específicos da mesma forma que possui valores para os atributos como membro da superclasse
– Diz-se que o membro da subclasse herda os atributos da entidade membro da superclasse
Especialização / Generalização
• Especialização: processo de definição de subclasses a
partir de uma superclasse
– Definido com base em alguma característica que distingue as entidades da superclasse
– Ex: {AUXILIAR, PROGRAMADOR, ANALISTA} é especialização de EMPREGADO baseado na função
• Relacionamentos superclasse/subclasse se assemelham a
relacionamentos 1:1, porém ocorrem não ocorrem entre
entidades distintas, e sim definido um papel especializado
• Notação
– Símbolo de subconjunto indica a direção do relacionamento
Especialização / Generalização
• Generalização
– Reversão da abstração, em que as diferenças entre diversos tipos de entidades são suprimidas, de modo a se compor um conceito mais abrangente
• Diferença em relação à especialização:
– Especialização dá ênfase às diferenças entre membros de uma classe (raciocínio top-down)
– Generalização dá ênfase às semelhanças entre membros de classes distintas (raciocínio bottom-up)
Restrições e Características de
G&E
• Subclasses definidas por predicado
– Ex: Função = SECRETÁRIA
– Significa que em todos os membros de EMPREGADO onde (Função = SECRETÁRIA) são membros da subclasse
SECRETÁRIA, e que todas as entidades membros de
SECRETÁRIA atendem à condição (Função = SECRETÁRIA)
• Se todas as subclasses em uma especialização possuem a
condição de membro definida pelo mesmo atributo, então a
especialização é definida como baseada em atributo, e o
atributo é chamado atributo definidor da especialização
Restrições e Características de
G&E
• Restrição de disjunção
– Aplicada quando os membros de uma subclasse não podem pertencer simultaneamente a outra subclasse
– Alternativa: especialização com sobreposição
• Restrição de totalidade
– Aplicada quando todos os membros da superclasse devem pertencer, obrigatoriamente, a uma subclasse
– Alternativa: especialização parcial
• Formam-se quatro condições possíveis, por combinação:
– Disjunto, total (linha dupla, círculo com “d”) – Disjunto, parcial (linha simples, círculo com “d”) – Sobreposto, total (linha dupla, círculo com “o”) – Sobreposto, parcial (linha simples, círculo com “o”)
Restrições e Características de
G&E
• Regras de inclusão e exclusão aplicáveis a generalizações e
especializações:
– Excluir uma instância da superclasse implica em excluir todas as instâncias de subclasses às quais pertence
– Incluir uma instância em uma superclasse implica em incluir uma instância em todas as subclasses para as quais a entidade satisfaz o predicado definidor (atributo definidor)
– Incluir uma instância em uma superclasse participante de uma especialização total significa que a entidade é obrigatoriamente inserida em pelo menos uma das subclasses
Restrições e Características de
G&E
• Hierarquias e Grades
– Quando cada classe participa como subclasse em apenas uma especialização, forma-se uma hierarquia de classes
– Quando existem heranças múltiplas forma-se uma grade de
especialização
• Uma subclasse com mais de uma superclasse é chamada de
subclasse compartilhada
• Nem todos os mecanismos de herança permitem herança
múltipla; em OO, herança múltipla pode ser de difícil
implementação e instável
Modelagem de União e
Categorias
• Todas as relações superclasse/subclasse visgas até agora
possuíam uma única superclasse
• Quando é necessário criar relacionamentos com mais de
uma superclasse, onde as subclasses representam
diferentes tipos de entidades, usa-se o conceito de união
– A subclasse recebe, nesse caso, o nome de tipo de união ou
categoria
• Na união, cada membro da superclasse pode pertencer a
apenas uma subclasse
• A herança se processa de acordo com os atributos da
subclasse
Modelagem de União e
Categorias
• Uma categoria pode ser total ou parcial, analogamente à
especialização
• Notação:
– Indicação da direção do relacionamento – Símbolo de união no círculo (U)
Exemplo de Modelagem EER:
Universidade
Representação de G&E em
Diagramas UML
• Triângulo branco: disjunto
• Triângulo preto: sobreposto
• Vide fig. 4.10
Relacionamentos com Grau
Maior que 2
• Grau 3: ternário
• Nem sempre as ferramentas de projeto ER permitem
relacionamentos ternários ou de grau superior
• A substituição de relacionamentos ternários por vários
relacionamentos binários pode mudar a semântica
• Uma alternativa é representar o relacionamento por meio
de uma entidade fraca
Abstração, Representação de
Conhecimento e Ontologias
• O objetivo das técnicas de representação de conhecimento para
modelar um determinado domínio é a criação de uma ontologia para descrevê-lo
• Ontologia: “uma especificação explícita de uma conceitualização” (Horrocks 2002)
• Usada para manipular conceitos e fazer inferências, tomar decisões, ou responder a questões
• Freqüentemente é baseada em um vocabulário particular, típico de uma determinada área de conhecimento
– Tesauros
• Sinônimos • Hipônimos • Hiperônimos
– Mereônimos (has-a, part-of) – Taxonomias (is-a)
Abstração, Representação de
Conhecimento e Ontologias
• Diferenças entre ontologias e esquemas conceituais
– Os esquemas conceituais são limitados à descrição de uma parte do mundo real, que consiste na menor quantidade possível de detalhes que faça sentido para viabilizar a aplicação
– As ontologias pretendem abranger toda a área de conhecimento e descrevê-la da maneira mais completa possível
– Seria possível, em princípio, extrair esquemas conceituais de ontologias, porém não o contrário
– Seria possível, em princípio, usar esquemas conceituais prontos para “popular” ontologias
• Vide: Fonseca, F., Davis, C. and Camara, G. Bridging Ontologies and Conceptual Schemas in Geographic Information Integration.
Referências
• Capítulo 4 de Elmasri & Navathe
• Vide seção 4.6, onde é apresentada brevemente a notação
da UML
• Aprofundamento sobre ontologias:
– Guarino, N. Formal Ontology and Information Systems. Proceedings of FOIS’98 3-15, Trento, Italy, 1998.
– Fonseca, F., Egenhofer, M., Davis, C., and Borges, K. (2000) Ontologies and Knowledge Sharing in Urban GIS. Computer, Environment and Urban Systems 24(3): pp. 232-251.
– Fonseca, F. (2001) Ontology-Driven Geographic Information Systems. Department of Spatial Information Science and