Normalização: Noções Básicas Além de corresponder a uma representação relacional do diagrama ER discutido no livro-texto, o esquema relacional acima possui alguma propriedade específica que o qualifica como um bom esquema para a aplicação considerada? 1
Normalização Processo através do qual esquemas de relação são sucessivamente decompostos até que satisfaçam determinadas propriedades ou formas normais Medidas (propriedades) informais de qualidade do projeto de um esquema relacional: Compatibilidade semântica entre os atributos de uma mesma relação Ausência de valores redundantes nas relações (inexistência de anomalias de atualização) Existência reduzida de valores nulos nas relações Impossibilidade de se gerar tuplas espúrias (com valores ilegítimos) ao se recompor relações decompostas Semântica dos Atributos de uma Relação Diretriz 1: Projete um esquema de relação de modo que seja fácil explicar o seu significado (intuitivamente, cada esquema de relação deve representar um tipo de entidade ou de relacionamento). 2
Redundância nas Tuplas e Anomalias de Atualização Diretriz 2: Projete os esquemas de relação de modo que não exista redundância de dados e, portanto, não ocorram anomalias de atualização (inserção, remoção ou alteração) nas relações. Exemplos de esquemas de relação em que ocorrem anomalias de atualização:? 3
Valores Nulos A existência de valores nulos nas relações pode causar desperdício de espaço físico de armazenamento além de gerar problemas de entendimento do siginificado dos atributos e do resultado de determinadas operações. Interpretação de valores nulos: O atributo não se aplica O valor do atributo é desconhecido O valor do atributo está ausente (não foi registrado) Diretriz 3: Até onde possível, deve-se evitar a inclusão em um esquema de relação de atributos que possam ser frequentemente nulos. Geração de Tuplas Espúrias Diretriz 4: Projete esquemas de relação de modo que as operações de junção possam ser formuladas por meio de condições de igualdade definidas sobre atributos que sejam chaves primárias ou estrangeiras (satisfaçam a propriedade de decomposição sem perdas). 4
Geração de Tuplas Espúrias Formas Normais Processo de normalização: 1FN 2FN 3FN Formas normais definidas a partir do conceito de dependência funcional. Primeira Forma Normal (1FN): Um esquema de relação R está na 1FN se todos os seus atributos forem atômicos. 5
Gera anomalias de atualização Dependências Funcionais Definição: Uma dependência funcional entre dois atributos (ou conjuntos de atributos) X e Y de um esquema de relação R, denotada por X Y, é uma restrição de integridade que estabelece que, para quaisquer tuplas t1 e t2 de uma instância de R tal que t1[x] = t2[x], t1[y] = t2[y]. Exemplos: EMP-DEPT(ENOME,SSN,DATANASC,ENDERECO,DNUMERO,DNAME,DGERSSN) SSN {ENOME,DATANASC,ENDRECO,DNUMERO} DNUMERO {DNOME,DGERSSN} Atenção: Não confundir a notação X Y com a notação R1[X] R2[Y] que denota a RIR entre os esquemas de relação R1 e R2. 6
Segunda Forma Normal (2FN) Um esquema de relação R está na 2FN se todo atributo de R não pertencente a uma de suas chaves for totalmente dependente da chave primária. O esquema de relação EMP-PROJ(SSN,PNUMERO,HORAS,ENOME,PNOME,PLOCALIZACAO) não está na 2FN porque SSN ENOME e PNUMERO {PNOME,PLOCALIZACAO}, ou seja, há atributos em EMP-PROJ que não são totalmente dependentes da chave primária {SSN,PNUMERO}. 7
Terceira Forma Normal (3FN) Um esquema de relação R está na 3FN se estiver na 2FN e nenhum atributo de R não pertencente a uma de suas chaves for transitivamente dependente da chave primária. O esquema de relação EMP-DEPT(ENOME,SSN,DATANASC,ENDERECO,DNUMERO,DNOME,DGERSSN) não está na 3FN porque SSN DNUMERO e DNUMERO {DNOME,DGERSSN}, ou seja, há atributos em EMP-DEPT que são transitivamente dependentes da chave primária {SSN}. 8
Exemplo de Decomposição Seja o esquema de relação R(A,B,C,D,F,G). Considerando as DFs {A,B} G, A C, A D e D F válidas em R, podemos decompor R da seguinte forma: 1º passo: R não está na 2FN Eliminando-se A C, A D e D F de R R 1 (A,C,D,F) R 2 (A,B,G) 2º passo: R 1 e R 2 estão na 2FN, mas R 1 não está na 3FN Eliminando-se D F de R 1 R 11 (A,C,D) R 12 (D,F) R 2 (A,B,G), R 11 (A,C,D) e R 12 (D,F) estão na 3FN Definição Geral Informalmente, podemos dizer que um esquema de relação R está normalizado (ou seja, na 3FN) se todos os seus atributos são dependentes exclusivamente de suas chaves. Representa um tipo de entidade ou de relacionamento (Diretriz 1) 9
Propriedades do Processo de Decomposição Seja R um esquema de relação e F o conjunto de dependências funcionais válidas sobre os seus atributos. A decomposição de R em R 1, R 2,, R n deve satisfazer às seguintes propriedades: 1. Preservação das dependências funcionais (F 1 U F 2 U F n ) + = F + onde F 1, F 2,, F n são os conjuntos de dependências funcionais válidas em R 1, R 2,, R n e F + é o conjunto de todas as dependências funcionais derivadas de F. 2. Decomposição sem perdas R = R 1 R 2 R n Resumo Normalização Processo de decomposição sucessiva de esquemas de relação para que satisfaçam determinadas formas normais Propriedades informais de um esquema de relação Formas normais 1FN, 2FN, 3FN (outras FNs: FNBC, 4FN) Dependência funcional Propriedades do processo de decomposição 10
Questões e Exercícios Sugeridos 10.2, 10.3, 10.4, 10.5, 10.6, 10.13, 10.14, 10.15, 10.17, 10.22, 10.25, 10.26, 10.28, 10.30. 11