Sumário Modelo Entidade-Associação : Avançado 1 André Restivo Faculdade de Engenharia da Universidade do Porto September 21, 2010 2 3 André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 1 / 18 André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 2 / 18 Uma associação ternária é uma associação que envolve 3 entidades ao mesmo tempo. Uma associação ternária pode ser sempre representada usando uma nova entidade, que representa a associação, e 3 associações binárias. O facto de 3 entidades terem associações parecidas entre si não implica que exista uma associação ternária entre elas. encomenda (Projecto, Material, Produtor) viaja (Pessoa, Cidade, Carro) André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 3 / 18 André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 4 / 18
André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 5 / 18 André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 6 / 18 Chama-se entidade fraca a uma entidade que não possui atributos que possam constituir uma chave mas que, no entanto, tem uma associação total com outra entidade (identificadora) que permite que um ou mais atributos da entidade fraca possam ser usados como atributo chave. Uma entidade fraca é identificada pelas suas associações (associações identificadoras) com determinadas entidades (entidades identificadoras) Tem sempre participação total (dependência existêncial) em relação à associação-identificadora. Possui uma chave-parcial, que é o conjunto de atributos que univocamente determinam a entidade fraca associada com a mesma entidade identificadora. André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 7 / 18 André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 8 / 18
Jogador(numero, primeiro_nome, ultimo_nome) Equipa(nome) joga(jogador, Equipa) N:1 t/p Não é possível escolher um conjunto de atributos da entidade Jogador que identifiquem univocamente cada uma das suas instâncias. Sendo assim não é possivel achar uma chave única para a entidade. No entanto, em cada Equipa não deverão existir Jogadores com o mesmo número. Podemos então definir a entidade Jogador como uma Entidade Fraca, cuja Entidade Identificadora é a Entidade Equipa e a Associação Identificadora é a associação: joga (Jogador, Equipa). A chave-parcial desta entidade fraca será composta pelo atributo número. André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 9 / 18 André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 10 / 18 Notação Subclasses e Superclasses Por vezes existem entidades-tipo similares e com uma relação de hierarquia que podemos modelar usando o conceito de super e subclasses. Uma subclasse de uma entidade-tipo herda desta os seus atributos e associações. Atenção O facto de uma entidade-tipo ser parecida com outra não implica que esta possa ser uma subclasse desta. Superclasse: Empregado Subclasses: Secretária, Engenheiro, Técnico, Director... André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 11 / 18 André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 12 / 18
Especialização Generalização É o processo de de definição do conjunto das subclasses de uma entidade-tipo (superclasse da especialização) Secretária, Engenheiro, Técnico especializam Empregado com base no tipo de trabalho. Podemos ter várias especializações da mesma entidade-tipo com base em diferentes características. Podemos associar atributos específicos (extra) a cada subclasse, estabelecer associações específicas entre uma subclasse e outras entidades-tipo ou outras subclasses. Processo funcionalmente inverso da especialização. Eliminam-se as diferenças entre várias entidades-tipo, identificam-se as caracteristicas comuns que passarão a caracterizar uma nova superclasse da qual as entidades-tipo originais são subclasses especiais. André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 13 / 18 André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 14 / 18 Especialização disjunta Quando as subclasses são disjuntas, i.e. cada entidade pode ser membro de no máximo uma subclasse de especialização. Representa-se colocando o símbolo d no símbolo da especialização. Especialização com sobreposição: Quando a mesma entidade pode pertencer a mais do que uma subclasse. Representa-se colocando o símbolo o (overlap) no símbolo da especialização. Numa faculdade, a especialização da classe Pessoa nas subclasses Empregado, Estudante, Professor é com sobreposição. Especialização total Quando toda a entidade de uma superclasse tem de ser membro de alguma subclasse. Linhas duplas nos diagramas Especialização EmpEfectivo, EmpPrazo de Empregado. Todos empregados estão numa das subclasses. Especialização parcial Permite que uma entidade não pertença a qualquer das subclasses. Linha simples nos diagramas André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 15 / 18 André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 16 / 18
Notação Temos assim 4 tipos de especializações: disjunta total; disjunta parcial; sobreposição total; sobreposiçaõ parcial O tipo de especialização é determinado a partir do significado na vida real. André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 17 / 18 André Restivo (FEUP) Modelo Entidade-Associação : Avançado September 21, 2010 18 / 18