P S I 3. º A N O F 0 F I C H A I N F O R M A T I V A - PDF
Download "P S I 3. º A N O F 0 F I C H A I N F O R M A T I V A"
João Lucas Casqueira Coelho
1 P S I 3. º A N O F 0 F I C H A I N F O R M A T I V A Módulo 13 Técnicas de Modelação de Dados Quando se está a desenhar uma base de dados, quantas tabelas se devem criar? Como é que se sabe que um campo pertence a uma determinada tabela, e não a outra? O número de campos, e a respectiva distribuição por tabelas numa base de dados, segue determinadas regras. Estas regras estão organizadas num processo chamado normalização. O que justifica todo este trabalho extra? A normalização pressupõe uma melhoria da base de dados ao nível: da integridade dos dados, isto é, evita que quando se elimina um dado, desapareçam outros dados, ou que a base de dados fique corrupta; da diminuição da redundância 1 de informação; de evitar a dependência de inconsistência, isto é, considera-se inconsistente procurar, por exemplo, o endereço de um funcionário numa tabela de salários; do desempenho no manuseamento da base de dados, pois é conseguida uma distribuição de dados menor pelas tabelas, mantendo-se a mesma informação; da verificação da consistência e indexação dos dados na manutenção; da diminuição dos índices numa tabela e consequentemente um menor risco de mau funcionamento da base de dados. Mas afinal o que é a normalização? A normalização é um processo composto por três regras básicas (que podem ser alargadas a cinco) chamadas formas normais. 1 Repetição de informação desnecessária, isto é, guardar os mesmos dados em tabelas diferentes. É de notar que todas as bases de dados têm alguma repetição de informação. Página 1 de 5
2 1.ª Forma Normal 1. A tabela deve ser apenas bidimensional, isto é, a tabela deve ter correspondência de um para um entre os dados e as linhas e as colunas da tabela; 2. Todas as ocorrências de um mesmo registo devem conter o mesmo número de colunas; 3. Nenhuma coluna deve ter elementos repetidos. A aplicação da primeira forma normal (1FN) pressupõe a aplicação das seguintes regras: 1. Eliminação de grupos, isto é, de colunas repetidas na mesma tabela; 2. Criação de tabelas separadas para cada grupo de dados relacionados; 3. Identificação da(s) chave(s) primárias para cada conjunto de dados relacionados; 1.º Exemplo - Tabela não normalizada Descrição Produtor Endereço Quantidade Telefone do produtor do produtor disponível Departamento Caneta azul, Canetas R. Dias N Fornecimentos caneta verde ABC Papel A4 Papel DEE R. Guarte Geral Cadeiras REEd R. Neves Equipamento Primeira Forma Normal (1FN) Índice Descrição Produtor Endereço do Telefone do Quantidade produtor produtor disponível Departamento 001 Caneta azul, Canetas ABC R. Dias N Fornecimentos 002 Caneta verde Canetas ABC R. Dias N Fornecimentos 003 Papel A4 Papel DEE R. Guarte Geral 004 Cadeiras REEd R. Neves Equipamento Página 2 de 5
3 2.ª Forma Normal A 2.ª forma normal indica a necessidade de evitar a repetição desnecessária de informação, isto é: - criar tabelas separadas para informação relacionada com várias entidades; - identificar com um índice os dados relacionados. A aplicação da segunda forma normal (2FN) leva à separação da tabela anterior em várias tabelas. Índice Descrição Índice produtor Quantidade disponível Departamento 001 Caneta azul, Fornecimentos 002 Caneta verde Fornecimentos 003 Papel A Geral 004 Cadeiras Equipamento Índice produtor Produtor Endereço do produtor Telefone do produtor 1001 Canetas ABC R. Dias N Papel DEE R. Guarte REEd R. Neves Explicação Pode-se sentir que esta separação de tabelas substitui todo um conjunto de informação por um índice. Deste modo, todas as informações relativas a um produtor, por exemplo, produtor REEd podem ser chamadas pelo Índice produtor 1003, cuja informação guarda o seu endereço e o seu número de telefone. Desta forma, a informação fica mais organizada, com acesso mais rápido e mais simples de relacionar. Substitui-se uma tabela de informação por índices. Página 3 de 5
4 3.ª Forma Normal Obriga a reformular a organização de informação pela separação dos campos que não dependam directamente do índice ou chave das tabelas. Índice Descrição Índice produtor Quantidade disponível Departamento/Índice 001 Caneta azul Caneta verde Papel A Cadeiras Índice produtor Produtor Endereço do produtor Telefone do produtor 1001 Canetas ABC R. Dias N Papel DEE R. Guarte REEd R. Neves Índice departamentos Departamentos Fornecimentos Geral Equipamento Comentários: Os produtores e os departamentos não são estritamente dependentes da mesma chave, o que obriga à separação desta informação em tabelas. Na prática, nem sempre a aplicação da terceira FN reveste-se de uma forma exequível. Por exemplo, no caso de uma pequena base de dados onde se usem os códigos postais, pode não ser necessário criar mais uma tabela só para guardar o código postal e a sua descrição. Página 4 de 5
5 Tarefa 1 Alterar a seguinte tabela, de modo a que cumpra os requisitos da primeira forma normal. Nome do Director Nome do Assessor Rui M. Tiago P. Júlia R. Pedro G. Manuel N. Ana B. Tarefa 2 A) Indicar qual a forma normal em que se encontra a seguinte tabela. B) Refazer a tabela de modo a que satisfaça à segunda forma normal. Ind Aluno Apelido Sobrenome Endereço Localidade Código postal 2003 Ana Marques R. Luís Duque, 29 Póvoa de Varzim Teresa Roio R. Camões, 34 Vila do Conde Pedro Neves R. Elísio Rute, 65 Esposende Ana Peixoto R. Pedro Nunes, 55 Póvoa de Varzim 4490 C) Refazer o trabalho anterior pensado nos códigos postais do tipo Tarefa 3 Normalizar a tabela seguinte. DataEnc CodCli Cliente Morada CodArt Artigo Preço Quant C111 Silvia Porto 1033 Modem C112 Santos Coimbra 1044 Scanner C121 Xavier Lisboa 1021 Impressora C122 Sara Faro 1051 Placa Rede C122 Sara Faro 1033 Modem C11 Silvia Porto 1051 Placa Rede 6 4 Tarefa 4 Procurar na Web quais os objectivos da quarta e quinta formas normais. Página 5 de 5