Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
BANCO DE DADOS I Extensões do DER Até o momento utilizamos apenas os elementos mais básicos do diagrama ER: entidade, atributos e relacionamentos. Entretanto pequenas extensões desses elementos básicos podem ser inseridas no processo de modelagem. Sendo assim, veremos três extensões de figuras: especialização, a entidade-fraca e o autorrelacionamento, sendo as duas primeiras relativas ao elemento básico entidade e a última ao elemento básico relacionamento. 1 Especialização Conceito: É uma representação de subconjuntos de elementos a partir da entidade. Sendo assim, de forma objetiva a especialização é útil como recurso para demonstrar visualmente duas situações: Que um subconjunto do conjunto de instâncias possui atributos próprios ou específicos que não se aplicam a todos os elementos; e Que um subconjunto do conjunto de instâncias possui relacionamentos próprios ou específicos que não se aplicam a todos os elementos do conjunto. 1.1 Especialização para representar atributos específicos de um subconjunto Quando um ou mais atributos de uma entidade somente têm valor significativo para alguns elementos, de acordo com algum tipo de características. Figura1: Entidade com atributos sem utilizar especialização. Figura2: Entidade com atributos específicos utilizando especialização. O desenho do triângulo representa a presença de subconjuntos da entidade “Funcionário” (especialização). As entidades (“Médico” e “Engenheiro”) são subconjuntos da entidade “funcionário”. Não se trata, portanto, de duas novas entidades, mas sim de dois subconjuntos. Observação: Os subconjuntos (categorias) não possuem atributo-chave, haja vista que a entidade é essencialmente o elemento representado acima da categoria. Atentar a fazer o bom uso ao representar especializações, pois o modelo pode ficar visualmente poluído, contrariando a ideia de torná-lo mais claro. 1.2 Especialização para representar relacionamentos específicos de um subconjunto Nessa segunda situação pretendemos explicitar que um subconjunto de instância da entidade pode possuir relacionamentos específicos que não se aplicam a todas as instâncias, conforme um critério qualquer de especialização. Figura3: Entidade com atributos sem utilizar especialização. Vamos supor que no contexto modelado somente podem coordenar projetos funcionários que sejam engenheiros. Para deixar o modelo mais claro, portanto, podemos também utilizar o recurso da especialização, conforme diagrama da figura4: Figura4: Entidade com relacionamentos específicos para subconjuntos utilizando especialização. Dessa forma, o relacionamento “Coordena” associa a entidade “Projeto” com a entidade “Funcionário”, porém, deixa visualmente explícito que esse relacionamento só acontecerá para funcionários que seja engenheiros. 2 Entidade Fraca Para uma entidade ser considerada fraca ela deve possuir uma associação com outra entidade (forte) e ter essa dependência de identificação. Figura5: Relacionamento Funcionário–Dependente sem representação da entidade-fraca. Figura6: Relacionamento Funcionário–Dependente com representação da entidade-fraca. A entidade aparece com traço duplo, representado que se trata de uma entidade-fraca. E o relacionamento também aparece com traço duplo, identificando que a entidade é considerada fraca em relação à outra entidade participante do relacionamento. 3 Autorrelacionamento Todos os relacionamentos vistos até agora são relacionamentos binários, isto é, envolvem duas instâncias de entidades e apresentam uma mesma característica. Entretanto, existem casos particulares de relacionamentos binários nos quais as duas instâncias envolvidas pertencem ao mesmo conjunto de instâncias, isto é, pertencem a mesma entidade. Esses casos são denominados de Autorrelacionamento. Por serem ainda relacionamentos binários, os tipos básicos envolvendo as cardinalidades são aos mesmos: Um:Um, Um:Muitos e Muitos:Muitos. 3.1 Autorrelacionamento Um:Muitos Este é o caso mais comum de Autorrelacionamento e é importante reforçar que se trata de um relacionamento binário do tipo Um:Muitos, portanto todos os conceitos já descritos para esse tipo de relacionamento ficam mantidos. Exemplo: Em uma empresa, um funcionário pode coordenar vários outros funcionários e, cada funcionário é coordenado por no máximo um único funcionário. Figura7: DER da situação exemplo de um autorrelacionamento Um:Muitos duplicidade na representação. Entretanto, nenhuma entidade pode ter sua representação repetida no DER. Trata-se de uma regra básica da representação que busca evitar redundâncias. Sendo assim, a forma correta de representar o diagrama é eliminar a duplicidade. Figura8: DER da situação exemplo de um autorrelacionamento Um:Muitos. Nesse momento surgem dois novos termos: “coordenador” e “coordenado”. Esses termos estão associados ao que denominamos de papel. Como se trata de um autorrelacionamento e a leitura é feita nos dois sentidos, é importante sabermos quando ou em que situação estamos tratando a instância como sendo do lado N (muitos) ou do lado (um). Neste caso, na relação “COORDENAÇÃO” entre dois funcionários, o lado 1 do relacionamento está fazendo o papel de “coordenador” e o lado N de “coordenado”. Desta forma, podemos interpretar o diagrama da figura 8 da seguinte maneira: Em uma empresa, um funcionário coordenador pode coordenar vários funcionários e um funcionário pode ser coordenado por no máximo um funcionário coordenador. A princípio a inclusão do papel pode parecer desnecessária, como no caso acima, onde parece óbvio que 1 coordena N e N são coordenados por 1. Porém, existem situações do mundo real em que essa clareza não é tão presente, e, para esses casos, a representação do papel é interessante. 3.2 Autorrelacionamento Muitos:Muitos Novamente reforçamos que se trata de um relacionamento binário, agora do tipo Muitos:Muitos e que, portanto, permanecem os conceitos descritos para esse tipo de relacionamento. Exemplo: Em uma turma de alunos de uma escola, o professor trabalha com trabalhos em dupla ao longo do ano. Cada exercício ou trabalho sempre é construído em duplas. Porém, como forma de integrar socialmente todos os alunos, a cada novo exercício ou trabalho o professor forma novas duplas, de tal forma que uma mesma dupla nunca se repita. Sendo assim, o professor registra as duplas que vão sendo formadas sempre na intenção de responder à seguinte questão: quais as duplas que já foram formadas, de tal forma que eu não as repita? É um caso simples de relacionamento entre alunos de uma mesma turma. Figura9: DER da situação exemplo de um autorrelacionamento Muitos:Muitos. Observe que cada instância “Formação” representa um par (aluno x aluno) que indica exatamente uma dupla formada e que foi registrada pelo professor no exemplo dado. Como adicional foi colocado em cada uma das partes que formam o atributo-chave do relacionamento uma terminação que indica o papel de cada um dos alunos no relacionamento (chefe da dupla e participante). Cada instância será identificada, portanto, pela união da matrícula de cada aluno participante da dupla, de tal forma que ambas, em conjunto, são capazes de identificar univocamente uma dupla registrada. 3.3 Autorrelacionamento Um:Um É o caso mais incomum de autorrelacionamento, porém possível de acontecer. Vamos tratar esse relacionamento com o seguinte contexto: Em uma empresa, um funcionário pode ser casado legalmente com outro funcionário, sendo importante para a organização identificar se existe esse tipo de associação entre funcionários. Representação DER: Figura10: DER da situação exemplo de um autorrelacionamento Um:Um.