Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar [email protected] SGBD + Banco de Dados • Independência de dados • Consistência de dados Novembro de 2003 Profa. Marilde Santos 2 Consistência de Dados SGBDRegras de Integridade • Validade • Completeza • Consistência Novembro de 2003 Profa. Marilde Santos 3 Consistência de Dados O controle de consistência pode ser exercido: • Pelo gerenciador; • Pelos aplicativos; • Pela própria construção do sistema. Novembro de 2003 Profa. Marilde Santos 4 Consistência de Dados Pela própria construção do sistema. • Controlar a construção do sistema através da criação de tabelas segundo regras que garantam a manutenção de certas propriedades. • As tabelas que atendem a um determinado conjunto de regras, diz-se estarem em uma determinada forma normal. Novembro de 2003 Profa. Marilde Santos 5 Formas Normais Primeira Forma Normal Uma relação está na 1a. forma normal quando todos os seus atributos são atômicos e monovalorados. ? Nome Idade DataNasc DataMatrícula São atômicos? Novembro de 2003 Profa. Marilde Santos 6 Formas Normais Primeira Forma Normal Uma relação está na 1a. forma normal quando todos os seus atributos são atômicos e monovalorados. Nome Idade DataNasc ! DataMatrícula DataNasc e DataMatrícula serão atributos atômicos se não forem utilizadas “partes” das São atômicos? datas em outras relações do Banco de Dados. Novembro de 2003 Profa. Marilde Santos 7 Formas Normais Primeira Forma Normal Atributos multivalorados 1) Quando a quantidade de valores é pequena e conhecida a priori; Substitui-se o atributo multivalorado por um conjunto de atributos de mesmo domínio, cada um representando a ocorrência de um valor. Novembro de 2003 Profa. Marilde Santos 8 Formas Normais Primeira Forma Normal Atributos multivalorados. 2) Quando a quantidade de valores é muito grande, variável ou desconhecida. Retira-se da relação o atributo multivalorado, e cria- se uma nova relação que tem o mesmo conjunto de atributos chave, mais o atributo multivalorado como chave, porém tomado como monovalorado. Novembro de 2003 Profa. Marilde Santos 9 Formas Normais Primeira Forma Normal Atributos multivalorados Nome Idade DataNasc Telefone Quantos números de telefone? Novembro de 2003 Profa. Marilde Santos 10 Formas Normais Primeira Forma Normal Atributos multivalorados Nome Nome Idade DataNasc Idade DataNasc Novembro de 2003 Se forem 3 números fone1 Profa. Marilde Santos Telefone fone2 fone3 11 Formas Normais Primeira Forma Normal Atributos multivalorados Se forem muitos números Nome Idade Nome Idade DataNasc Novembro de 2003 Telefone DataNasc Nome Profa. Marilde Santos Telefone 12 Formas Normais Dependências Funcionais Se o valor de um conjunto de atributos A permite descobrir o valor de um outro conjunto B, dizemos que A determina funcionalmente B, ou que B depende de A, e denotamos: AB Novembro de 2003 Profa. Marilde Santos 13 Formas Normais Dependência Funcional Parcial Se A for chave da relação e o valor de um subconjunto de atributos de A permite descobrir o valor de um outro conjunto B, dizemos que B possui dependência funcional parcial em relação a A. Novembro de 2003 Profa. Marilde Santos 14 Formas Normais Atributo Primo Todo atributo que pertence a uma chave candidata é denominado primo. O que é mesmo chave candidata? Novembro de 2003 Profa. Marilde Santos 15 Formas Normais Segunda Forma Normal Uma relação está na 2a. forma normal quando: está na 1a. F.N. e; todos os seus atributos que não são primos, não dependem parcialmente de qualquer chave candidata da relação. Novembro de 2003 Profa. Marilde Santos 16 Formas Normais Segunda Forma Normal Número Sigla Sala Número Horas Número,Sigla Sala, Número-Horas Sigla Número-Horas Novembro de 2003 Profa. Marilde Santos 17 Formas Normais Segunda Forma Normal Número Sala Sigla Número Sigla Sala Novembro de 2003 Profa. Marilde Santos Número Horas Sigla Número-Horas 18 Formas Normais Segunda Forma Normal Evita: • Inconsistências devido a duplicidade de informações • Perda de dados em operações de remoções / alteração na relação Novembro de 2003 Profa. Marilde Santos 19 Formas Normais Segunda Forma Normal Número Sigla Horário 1 2 DC122 10:00 2 DC122 14:00 2 1 DC189 8:00 3 2 DC189 15:00 4 1 DC134 16:00 2 Valores Inconsistentes Número-Horas Número,Sigla Sala, Número-Horas Sigla Número-Horas Novembro de 2003 Profa. Marilde Santos 20 Formas Normais Segunda Forma Normal Número Sigla Horário 1 2 DC122 10:00 2 DC122 14:00 2 1 DC189 8:00 3 2 DC189 15:00 4 1 Número-Horas 16:00 2 SeDC134 não houver turmas de uma determinada disciplina em um semestre, perde-se a informação sobre o Número de Horas!!! Novembro de 2003 Profa. Marilde Santos 21 Formas Normais Terceira Forma Normal Uma relação está na 3a. Forma normal quando: Está na 2a. F.N. E; Todos os seus atributos não primos são dependentes não transitivos de uma chave candidata. Mas o que é Dependência Funcional Transitiva? Novembro de 2003 Profa. Marilde Santos 22 Formas Normais Terceira Forma Normal Mas o que é Dependência Funcional Transitiva? Seja a relação R(X, Y, A), A é transitivamente dependente de X, se existe Y tal que: X Y, Y não determina X YA A XY Novembro de 2003 Profa. Marilde Santos 23 Formas Normais Terceira Forma Normal Número Sigla Sala Prédio Número, Sigla Sala, Prédio Sala Prédio Novembro de 2003 Profa. Marilde Santos 24 Formas Normais Terceira Forma Normal Número Sala Sigla Número, Sigla Sala Número Sigla Sala Novembro de 2003 Profa. Marilde Santos Prédio Sala Prédio Sala Prédio 25 Formas Normais Terceira Forma Normal Evita: • inconsistências devido a duplicidade de informações • perda de dados em operações de remoções / alteração na relação Novembro de 2003 Profa. Marilde Santos 26 Formas Normais Terceira Forma Normal Número Sigla 1 2 DC102 3 E1 DC102 4 E1 1 DC104 12 C2 1 DC155 4 C2 2 DC155 12 C2 Sala Prédio Número, Sigla Sala, Prédio Sala Prédio Novembro de 2003 Valores Inconsistentes!!!!! Profa. Marilde Santos 27 Formas Normais Terceira Forma Normal Número Sigla 1 2 DC102 3 E1 DC102 4 E1 1 DC104 12 C2 1 DC155 4 C2 2 DC155 12 C2 Sala Prédio Número, Sigla Sala, Se não houver aula emPrédio uma determinada sala nesse semestre perde-se a informação sobre qual prédio Sala Prédio contém a tal sala. Novembro de 2003 Profa. Marilde Santos 28 Formas Normais Terceira Forma Normal Uma relação está na 3a. Forma normal quando: Está na 2a. F.N. e; Todos os seus atributos não primos são dependentes não transitivos de uma chave candidata. Em outras palavras, uma relação está na 3FN se: para toda dependência funcional X A de R, X for superchave ou A for atributo primo Novembro de 2003 Profa. Marilde Santos 29 Formas Normais Forma Normal de Boyce-Codd • Uma relação está na FNBC, se: • Para toda dependência funcional X A de R, • X for superchave Não adianta A ser primo!!! Novembro de 2003 Profa. Marilde Santos 30 Formas Normais Forma Normal de Boyce-Codd Apostila Id_Propried Disciplina Nome_Região Lote Área SO1 Pr1 BD1 Pr2 BD1 SO Central BD Central BD L23l 500 L14 500 Pr3 ED1 Sul ED L2 1000 Pr4 BD2 Sul BD L54 1000 Pr5 Leste L400 800 Pr6 Norte L43l 1500 Pr7 Central L414 1500 Id_propried Nome_região, Lote, Área Nome_região, Lote Id_propried, Área Novembro de 2003 Área Nome_região Profa. Marilde Santos 31 Formas Normais Forma Normal de Boyce-Codd Disciplina Nome_Região Apostila Id_Propried Lote Área SO1 Pr1 BD1 Pr2 BD1 SO Central BD Central BD L23l 500 L14 500 Pr3 ED1 Sul ED L2 1000 Pr4 BD2 Sul BD L54 1000 Apostila Id_Propried SO1 Pr1 BD1 Pr2 BD1 Pr3 ED1 Novembro de 2003 Pr4 BD2 Lote Disciplina Área Área L23l SO BD L14 BD L2 ED L54 BD 500 500 1000 Profa. Marilde Santos 1000 Nome_Região 500 Central 1000 Sul 32 Formas Normais Dependências Funcionais Multivaloradas O conceito baseia-se no fato de que, embora não seja possível um conjunto de valores determinar o valor de outro atributo, esse conjunto consegue restringir os valores possíveis para aquele atributo. Novembro de 2003 Profa. Marilde Santos 33 Formas Normais Dependências Funcionais Multivaloradas Se um conjunto de atributos A restringe os valores possíveis para os atributos de um outro conjunto B, diz-se que A multidetermina funcionalmente B, ou que B é multi-dependendente de A, e denota-se: AB Novembro de 2003 Profa. Marilde Santos 34 Formas Normais Dependências Funcionais Multivaloradas Uma dependência multivalorada X Y especificada sobre a relação esquema R, onde X e Y são subconjuntos de R, especifica a seguinte restrição sobre qualquer r de R: se duas tuplas t1 e t2 existem em r tal que t1[x] = t2[x], então duas tuplas t3 e t4 deverão também existir em r com as seguintes propriedades, onde Z=(R-(X Z)): • T3[X] = T4[X] = T1[X] = T2[X] • T3[Y] = T1[Y] e T4[Y] = T2[Y] • T3[Z] = T2[Z] e T4[Z] = T1[Z] Novembro de 2003 Profa. Marilde Santos 35 Formas Normais Dependências Funcionais Multivaloradas Nome Matéria Orientando Alzira BD Paulo Alzira ES Sonia Alzira BD Sonia Alzira ES Paulo Alzira BD Pedro Alzira ES Pedro A Matéria Novembro de 2003 A Orientando Nome Nome t3[X] = t4[X] = t1[X] = t2[X]; t3[Y] = t1[Y] e t4[Y] = t2[Y];36 Profa. Marilde Santos t3[Z] = t2[Z] e t4[Z] = t1[Z]. Formas Normais Quarta Forma Normal Uma relação está na quarta forma normal quando: dado um conjunto completo de dependências funcionais multivaloradas não triviais para essa relação: Para todas as A B, A é uma superchave da relação. Novembro de 2003 Profa. Marilde Santos DFM Trivial?! O que é isso???? 37 Formas Normais Quarta Forma Normal A B é uma DFM Trivial se: B A ou AB=R Novembro de 2003 Profa. Marilde Santos 38 Formas Normais Quarta Forma Normal Nome Matéria Carlo s Carlo Orientando SO Mario SO Ana s Alzira BD Paulo Alzira ES Paulo Alzira BD Sonia Alzira ES Sonia A Novembro de 2003 Nome A Nome Matéria Nome não é superchave. Profa. Marilde Santos Orientando 39 Formas Normais Quarta Forma Normal Nome Matéria Orientando Carlos Carlos SO Mário SO Ana Alzira BD Paulo Alzira BD Sonia Alzira ES Paulo Sonia Alzira ES Sempre que dois conjuntos de atributos multivalorados independentes ocorrerem na mesma relação, será necessário repetir-se todos os valores de cada conjunto de atributos para Novembro de 2003 Profa. Marilde Santos cada valor possível do outro conjunto. 40 Formas Normais Quarta Forma Normal Nome Matéria Orientando Carlos SO Mário Carlos SO Ana Alzira BD Paulo Alzira BD Sonia Alzira ES Paulo Alzira ES Sonia Alzira BD Pedro Novembro de 2003 Alzira ES Profa. Marilde Santos Pedro 41 Formas Normais Quarta Forma Normal Evita: • Inconsistências devido à inclusão de uma nova tupla que tem valores diferentes das diversas ocorrências de um outro atributo multivalorado. • Inconsistências em operações de remoção de tuplas, sendo que o produto cartesiano dos atributos multivalorados da relação possuem diferentes valores de um dos atributos em comparação com os valores de outro atributo. Novembro de 2003 Profa. Marilde Santos 42 Formas Normais Quarta Forma Normal Nome Nome Orientando Matéria Carlos Carlos SO Mário SO Ana Alzira BD Paulo Alzira BD Sonia Alzira ES Paulo Alzira ES Sonia Alzira BD Pedro Alzira ES Pedro Orientando Novembro de 2003 Nome A Orientando Nome Profa. Marilde Santos Nome Matéria A 43 Matéria Formas Normais Considerações Finais Normalizar evita introduzir inconsistências quando se alteram relações; porém obriga a execução de custosas operações de junção para a consulta de informações. Novembro de 2003 Profa. Marilde Santos 44 Formas Normais Considerações Finais Mas, e aí?! Normalizar ou não Normalizar? Eis a questão! A decisão deve ser tomada considerando-se o compromisso entre se garantir a eliminação de inconsistências na base, e eficiência de acesso. Novembro de 2003 Profa. Marilde Santos 45 Formas Normais Regras de Inferência para DFs 1.Reflexiva. Se X Y, então X Y 2.Aumentativa. Se X Y, então XZ YZ 3.Transitiva. Se X Y e Y Z, então X Z 4.Decomposição/projeção. Se X YZ, então XYeXZ 5.União/aditiva. Se X Y e X Z, então X YZ 6.Pseudotransitiva. Se X Y e WY Z, então WX Z Novembro de 2003 Profa. Marilde Santos 46 Formas Normais Regras de Inferência (DFMs) 1.Reflexiva. Se X Y, então X Y 2.Aumentativa. Se X Y, então XZ YZ 3.Transitiva. Se X Y e Y Z, então X Z 4.Complementação. Se X Y, então X ( R - (X Y) ) 5.Aumentativa (DFM). Se X Y e W Z, então WX YZ 6.Transitiva (DFM). Se X Y e Y Z, então X (Z Y) 7.Replicação. Se X Y, então X Y 8.Coalescência. Se X Y, e W com as seguintes propriedades: a) WY vazio; Profa. é Marilde Santos b)w Z e c) Y Z, Novembro de 2003 47