680 likes | 1.39k Views
Normalização de Dados. Prof. Christiano Lima Santos. Sumário. O que é? Por quê? Benefícios Formas Normais Exercícios. O que é?. Conjunto de passos em um projeto de banco de dados visando o armazenamento consistente e acesso eficiente aos dados;
E N D
Normalização de Dados Prof. Christiano Lima Santos
Sumário • O que é? • Por quê? • Benefícios • Formas Normais • Exercícios
O que é? • Conjunto de passos em um projeto de banco de dados visando o armazenamento consistente e acesso eficiente aos dados; • Tais passos reduzem a redundância dos dados e as chances dos dados se tornarem inconsistentes.
Por quê? • Um banco de dados não-normalizado pode apresentar: • Redundância; • Dependência incorreta entre os dados; • Maior complexidade nas consultas SQL.
Benefícios • Elimina a necessidade de redundância dos dados; • Reduz os riscos de inconsistência; • Evita anomalias de atualização; • Facilita a manipulação dos dados por meio de uma linguagem de consulta (SQL);
Conceitos • Atributo principal: é um atributo da relação R que é membro de alguma chave candidata de R.
Formas Normais • Uma tabela num banco de dados relacional está numa certa forma normal se satisfaz as condições impostas pela mesma; • Edgar F. Codd definiu originalmente três formas normais, mas existem hoje outras formas normais geralmente aceitas.
Formas Normais • Formas normais mais comuns: • Primeira Forma Normal (ou 1FN); • Segunda Forma Normal (ou 2FN); • Terceira Forma Normal (ou 3FN); • Forma Normal de Boyce-Codd (ou FNBC); • Quarta Forma Normal (ou 4FN); • Quinta Forma Normal (ou 5FN); • Forma Normal Chave-Domínio (FNCD). • Para efeitos práticos, considera-se que a base de dados está normalizada se aderir à terceira forma normal.
Primeira Forma Normal (1FN) • Uma relação está na 1FN quando (três possíveis definições): • Todos os atributos baseiam-se em um domínio simples, não contendo grupos ou valores repetidos; • Não possui atributos multivalorados ou compostos; • Todos os seus atributos são atômicos. • Ela reprova “relações dentro de relações”.
Primeira Forma Normal (1FN) Tabela Não-1FN
Primeira Forma Normal (1FN) Tabela Não-1FN Tabela 1FN
Primeira Forma Normal (1FN) Tabela Não-1FN
Primeira Forma Normal (1FN) Tabela 1FN
Primeira Forma Normal (1FN) • Problemas • Redundância; • Anomalias de atualização.
Segunda Forma Normal (2FN) • Uma relação está na 2FN se: • Estiver na 1FN; • Cada atributo não principal for dependente da chave primária inteira. • Se a tabela possui chave primária composta, se um atributo depende apenas de uma parte da chave primária, ele deve ser colocado em outra tabela.
Segunda Forma Normal (2FN) Tabela Não-2FN
Segunda Forma Normal (2FN) Tabela 2FN
Terceira Forma Normal (3FN) • Uma relação R está na 3FN se: • Estiver na 2FN; • Cada atributo não principal de R não possui dependência transitiva da chave primária.
Terceira Forma Normal (3FN) • Tabela Não-3FN
Terceira Forma Normal (3FN) • Tabela 3FN
Forma Normal de Boyce-Codd (FNBC) • Uma relação R está na FNBC se: • Estiver na 3FN; • Toda vez que uma dependência funcional não trivial X A se mantiver em R, então X é uma superchave de R.
Forma Normal de Boyce-Codd (FNBC) • Considere uma relação LOTES com as seguintes dependências: • DF1: PropriedadeID {Cidade, Lote, Area} • DF2: {Cidade, Lote} {PropriedadeID, Area} • DF3: Area Cidade • Tal relação satisfaz 3FN, mas não é FNBC.
Forma Normal de Boyce-Codd (FNBC) • Relação após normalização (segundo FNBC): • O que aconteceu com as dependências DF1, DF2 e DF3?
Perguntas de Revisão • A que se refere o termo relação não-normalizada? • Defina cada forma normal aqui estudada; • Como a Forma Normal de Boyce-Codd difere da 3FN? Por que ela é considerada uma forma mais forte de 3FN?
Exercícios • Dada a relação SERVIDOR: • Quais formas normais ela satisfaz? Por quê? Que alterações são necessárias para que ela satisfaça as demais?
Exercícios • Dada a relação MANUTENCAO: • Em que forma normal ela se encontra? Como alterá-la para satisfazer as demais?
Exercícios • Dada a relação CONTROLE_BIBLIOTECA: • Em que forma normal ela se encontra? Como alterá-la para satisfazer as demais?
Bibliografia Recomendada ELMASRI, Ramez; NAVATHE, Shamkant. Sistemas de Banco de Dados. 6ª ed. São Paulo : Pearson Addison-Wesley, 2011.