Departamento de Informática NORMALIZAÇÃO DE BASE DE DADOS Prof. Carlos Pampulim Caldeira Évora, Outubro de 2003
ÍNDICE 1. Normalização 1 1.1 Introdução 1 1.1.1 Etapas da Normalização 1 1.1.2 Primeira Forma Normal 2 1.1.3 Segunda Forma Normal 4 1.1.4 Terceira Forma Normal 6
1. Normalização 1.1 Introdução O problema central no desenho de modelos de dados relacionais é a forma de determinar quais são as relações necessárias. A teoria da dependência funcional associada à normalização dos dados, é a forma de ultrapassar este problema, facilitando o desenho do modelo de dados relacional. A normalização tem como propósito encontrar classes de relações designadas por formas normais que assegurem que o modelo de dados relacional consiga representar o sistema real. As relações são, por vezes, definidas de uma forma que provoca sérios problemas de integridade dos dados. A alteração de um facto pode, por exemplo, ter como consequência a remoção de outro que era útil. A definição de uma única e grande relação (um erro bastante vulgarizado) e que contenha uma certa quantidade de dados redundantes, tende a criar situações destas. Nestes casos uma maneira diferente de definir as relações pode prevenir a sua ocorrência. A normalização é uma técnica formal que examina os dados e os agrupa na melhor forma que facilite futuras alterações e minimize o impacto dessas mudanças no funcionamento do sistema. Este processo que consiste na criação de uma forma normal, faz-se através da subdivisão das relações existentes noutras de menor grau e baseia-se na análise das dependências funcionais entre os atributos de todas as relações envolvidas num DMDR. 1.1.1 Etapas da Normalização O processo de desenvolvimento de um modelo de dados bem desenhado começa com a análise das relações não-normalizadas, estas vão-se decompondo através de uma série de etapas sucessivas, em novas relações que vão obedecendo às diversas formas normais. Na Figura 1.1.1.1 apresentam-se essas etapas. Lendo de fora para dentro, cada elipse corresponde a um desenho melhor estruturado do que o imediatamente anterior. Departamento de Informática C. Caldeira - 1 -
Figura 1.1.1.1: Relação entre as diferentes formas normais. Uma relação pode estar em qualquer forma normal conforme a sua estrutura. Uma relação que esteja na segunda forma normal, obedece igualmente às condições da primeira forma normal e assim sucessivamente. 1.1.2 Primeira Forma Normal Uma relação diz-se na primeira forma normal quando todos os atributos contêm unicamente valores singulares e não existem grupos de atributos repetidos. Quadro 1.1.2.1: Tabela com dados sobre tractores agrícolas. Marca Designação Modelo Concessionário Concessionário Potência de Lagartas Vinhateiro Ceifeira-Debul hadora Chave Primária: Marca. 55- AGROMAQ RIOMAQ 55 8550M 7610S 95 8970 240 5500N AGROMAQ TRACTAGRI 73 9500 190 8560 RIOMAQ V-MAQ 190 MF 292 105 Departamento de Informática C. Caldeira - 2 -
A tabela do Quadro 1.1.2.1 não é uma relação pois viola algumas das normas do modelo de dados relacional: tem um atributo repetido ( Concessionário ); algumas colunas pertencentes à chave primária contêm o valor nulo; as colunas e linhas só podem ser lidas na sequência apresentada; alguns dos atributos que não são chave não dependem funcionalmente da chave primária; alguns atributos que não fazem parte da chave são funcionalmente dependentes de outros atributos que também não pertencem à chave primária. Departamento de Informática C. Caldeira - 3 -
Quadro 1.1.2.2: Relação TRACTOR AGRÍCOLA na Primeira Forma Normal. Marca Designação Modelo Concessionário Potência de Lagartas de Lagartas Vinhateiro Vinhateiro Ceifeira-De bulhadora Ceifeira-De bulhadora Chave Primária: Marca + Modelo. 55-8550M AGROMAQ 55 7610S AGROMAQ 95 8970 AGROMAQ 240 55-8550M RIOMAQ 55 7610S RIOMAQ 95 8970 RIOMAQ 240 5500N AGROMAQ 73 9500 AGROMAQ 190 5500N TRACTAGRI 73 9500 TRACTAGRI 190 8560 RIOMAQ 190 MF 292 RIOMAQ 105 8560 V-MAQ 190 MF 292 V-MAQ 105 No Quadro 1.1.2.2 mostra-se uma estrutura de dados proveniente do Quadro 1.1.2.1 já na primeira forma normal: 1) cada ocorrência foi transformada numa linha; 2) a chave primária foi modificada passando a incluir as colunas Marca e Modelo ; 3) o atributo repetido foi eliminado. 1.1.3 Segunda Forma Normal Uma relação na primeira forma normal poderá ter ainda problemas, por exemplo, de duplicação de dados, pelo que deverá ser imediatamente sujeita às regras da segunda forma normal, que se baseia no conceito de total dependência funcional sobre a chave primária. Departamento de Informática C. Caldeira - 4 -
A segunda forma normal tem a ver com as relações entre os atributos chave, e os restantes atributos duma relação (atributos não chave). Um atributo não chave só pode fornecer informação sobre o conjunto completo dos atributos chave e só sobre eles. Uma relação R diz-se na segunda forma normal quando todos os atributos não chave são total e funcionalmente dependentes da chave primária de R. A segunda forma normal (2FN) é violada quando um atributo não chave contém informação sobre um subconjunto da chave primária. A tabela que representa a relação do Quadro 1.1.2.2 não está na 2FN dado que o atributo Concessionário depende funcionalmente apenas de parte da chave primária: do campo Marca. A dependência funcional X Y é total se a remoção de um qualquer atributo A de X implicar o fim da dependência. Isto é: para qualquer atributo A X, (X - {A }) Y. A dependência funcional X Y é parcial se existir um qualquer atributo A X que possa ser removido de X mantendo-se a dependência. Isto é: para qualquer atributo A X, (X - {A}) Y. A dependência funcional referida no parágrafo anterior implica a decomposição dessa relação em duas outras (Quadro 1.1.3.1 e Quadro 1.1.3.2) cada uma das quais satisfaz as restrições inerentes à 2FN. Quadro 1.1.3.1: Relação CONCESSIONÁRIO. Marca Concessionário AGROMAQ AGROMAQ RIOMAQ TRACTAGRI V-MAQ RIOMAQ Chave Primária: Marca + Concessionário. Departamento de Informática C. Caldeira - 5 -
Quadro 1.1.3.2: Relação TRACTOR AGRÍCOLA na Segunda Forma Normal. Marca Designação Modelo Potência de Lagartas 55-8550M 55 7610S 95 8970 240 de Lagartas 55-8550M 55 7610S 95 8970 240 Vinhateiro 5500N 73 9500 190 Vinhateiro 5500N 73 9500 190 Ceifeira-Debulhadora 8560 190 MF 292 105 Ceifeira-Debulhadora 8560 190 MF 292 105 Chave Primária: Marca + Modelo. 1.1.4 Terceira Forma Normal A terceira forma normal (3FN) verifica-se quando um atributo que não é chave é um facto sobre outro atributo que também não pertence à chave primária da relação. A 3FN baseiase no conceito de dependência transitiva. A dependência funcional X Y no esquema relacional R é uma dependência transitiva se existir um conjunto de atributos Z que não faça parte do subconjunto de qualquer chave de R, e ambos X Z e Z Y se mantêm. No Quadro 1.1.4.1 a dependência Adubo Custo Unitário afigura-se como uma dependência transitiva, pois a dependência de Custo Unitário na chave primária é transitiva via Adubo. Departamento de Informática C. Caldeira - 6 -
Quadro 1.1.4.1: Relação ADUBAÇÃO. Cultura Adubo Custo Unitário Batata N 47 Milho P-K 63 Trigo N 47 Girassol P 39 Beterraba K 29 Chave Primária: Cultura. Para normalizar a relação ADUBAÇÃO procede-se, como anteriormente, à sua divisão em novas relações, tal como se mostra nos Quadros 1.1.5.2 e 1.1.5.3. Quadro 1.1.4.2: Relação ADUBO. Cultura Batata Milho Trigo Girassol Beterraba Adubo N P-K N P K Chave Primária: Cultura. Quadro 1.1.4.3: Relação CUSTO DE ADUBO. Adubo Custo Unitário N 47 P-K 63 N 47 P 39 K 29 Chave Primária: Adubo. Departamento de Informática C. Caldeira - 7 -