2010 Diagrama Entidade - Associação Patrícia da Conceição Mega Expansão 01-01-2010 Curso de TIS O que é Diagrama de Entidade – associação É uma técnica de representação gráfica que auxilia vivamente a visualização das relações entre as entidades e por isso mesmo aproxima-se do modelo teórico relacional, mas também se converte facilmente no modelo de rede, sendo muito utilizado na análise e concepção de sistemas assentes no modelo relacional com o desenvolvimento sobre Base de Dados. Quais são os seus componentes? Entidade - Pretende representar a realidade que queremos modelar. A definição de uma entidade passa pela identificação dos elementos e de um conjunto de atributos comuns do mundo real que estamos a analisar. Por exemplo um Instituto Politécnico. Nesse instituto e independentemente do objectivo a alcançar, podemos identificar as entidades aluno, professor, disciplina, entre outros. A entidade aluno representa todos os alunos do Instituto e o aluno “José Pires” é uma instância da entidade aluno. Atributos - Representam os dados da entidade. Por exemplo para representar a entidade aluno, é necessário definir os atributos nome, morada, telefone, entre outros. Cada atributo encontra-se definido num determinado domínio de valores. Assim, o atributo nome é definido por um conjunto de caracteres, telefone é definido por um conjunto de nove números. Numa entidade não podem existir dois atributos com a mesma designação. 2 Curso de TIS Chave Primária - É um conjunto mínimo de atributos que permite determinar unicamente uma instância, numa entidade, ou seja a chave primária é única. Chave Externa (estrangeira) - É um campo, que aponta para a chave primária de outra tabela, ou seja passa a existir uma relação entre duas tabelas. A finalidade da chave é garantira a integridade dos dados referenciais, pois apenas são permitidos valores que supostamente vão aparecer na base de dados. Relacionamentos (associação) - As Associações, são utilizadas para relacionar entidades. As entidades interagem umas com as outras, através de associações. Existem dois aspectos fundamentais nas associações, são eles: cardinalidade e obrigatoriedade. A cardinalidade, também designada por tipo de associação, indica uma instância de uma entidade, o número de instâncias da outra entidade com que ela se relaciona. De uma forma geral, existem três tipos de associações: 1:1 (um-para-um); 1:N (um-para-muitos) e N:M (muitos-para-muitos). Associação 1:1 é quando cada elemento da entidade A está relacionado no máximo, com um elemento da entidade B. Associação 1:N é definida se cada elemento da entidade A está relacionado com vários elementos da entidade B, mas cada elemento da entidade B apenas está relacionado com um elemento da entidade A. Associação M:N é definida se cada elemento da entidade A está relacionado com vários elementos da entidade B, e cada elemento da entidade B está relacionado com vários elementos da entidade A. A Obrigatoriedade da associação prende-se com o facto de pretendermos especificar se é obrigatório ou não, que todas as instâncias estejam relacionadas a pelo menos uma instância da outra entidade. 3 Curso de TIS Normalização A Normalização tem como objectivo avaliar a qualidade do Desenho de Tabelas e transformá-lo (em caso de necessidade) num desenho (conjunto de Tabelas) equivalente, menos redundante e mais estável. Por exemplo: Numa escala, pretende-se manter informações sobre: - Os Estudantes da escola (nº interno, nome e curso a que pertencem); - As Disciplinas que são ministradas na escola (nº disciplinas e nome); - Os Professores contratados pela escola (código, nome e grau académico); - Inscrições dos Alunos em Disciplinas; - Notas obtidas pelos alunos nas disciplinas em que estão inscritos. 4 Curso de TIS Definição do 1º Forma Normal Uma relação está no 1º Forma Normal (1NF) se não contém grupos de atributos repetitivos. Dado que as Tabelas são estruturas bidimensionais, então no cruzamento de uma linha com uma coluna (atributo) só é possível armazenar valores atómicos. Relação não normalizada Dados de uma forma tabular, conforme são visualizados pelo utilizador. Esta tabela foi desenhada para representar Inscrições e Aprovações de alunos em disciplinas. Cada estudante está inscrito e/ou já foi aprovado em várias disciplinas, com a informação correspondente. Assim, temos um grupo de atributos repetitivo: 5 Curso de TIS Nº disciplina, Nome disciplina, cod. Professor, Nome professor, categoria professor, nota. Problemas na Relação Notas Remoção - Se quisermos apagar a informação sobre todos os alunos aprovados ou inscritos numa determinada disciplina, então perdemos toda a informação dessa disciplina e do respectivo professor. Actualização - Se pretendermos modificar o nome de uma disciplina (por exemplo Álgebra passa a Álgebra e Aplicações) é necessário percorrer toda a tabela e fazer essa modificação para todos os alunos inscritos ou aprovados nessa disciplina; 6 Curso de TIS No caso de falhar a aplicação de modificação em alguma ocorrência então teríamos dados inconsistentes. Dependências Fundamentais - Por vezes, dois atributos (ou dois grupos de atributos) estão intrinsecamente ligados entre si. Ex: Num determinado instante, em qualquer ponto da B.D onde figurem estes dois atributos, a um mesmo nº de cliente corresponderá necessariamente o mesmo nome. Dependências Funcionais Diz-se então que Nome Cliente “depende” de Nº Cliente ou que Nº Cliente “identifica” Nome Cliente, isto é existe uma dependência funcional entre aqueles atributos. Definição de 2º Forma Normal Uma relação está na 2º Forma Normal se está na primeira e se todos os atributos descritos dependerem de totalidade do identificador e não apenas de parte dele. 7 Curso de TIS Dependências parciais Os atributos Nome Disciplina, Cod. Professor, Nome – Professor e Categoria professor dependem apenas do atributo Nº Disciplina, que está estritamente contido na chave da tabela. 8 Curso de TIS Definição de 3º Forma Normal Uma relação está na 3º Forma Normal se está na 2º Forma Normal e se não existirem atributos descritos a dependerem funcionalmente de outros atributos descritos, não identificadores. Assim sendo, cada atributo deve depender apenas do Identificador da Tabela. Dependências Funcionais Directas Os atributos Nome – Professor e Grau – Professor dependem do atributo Cod. Professor, que não é chave da tabela e portanto Nº Disciplina? Cod. Professor, Nº Disciplina? Nome – Professor e Nº Disciplina? Categoria – Professor não DF’S são directas, diz-se então que são transitivas. 9