INF1383 -Bancos de Dados Prof. Sérgio Lifschitz DI PUC-Rio Eng. Computação, Sistemas de Informação e Ciência da Computação INTRODUÇÃO À TEORIA DA NORMALIZAÇÃO PROJETO LÓGICO DE BANCOS DE DADOS Slide 1-34 Projeto de Banco de Dados Pessoas 1 N Possuem Automóveis Há múltiplas modelagens possíveis qual escolher? Pessomóvel (Id, Nome, Chassis, Modelo, Ano ) 2 1
Problemas na Concepção Redundância (espaço de armazenamento) Proprietário de diversos automóveis! Atualização inconsistente Alteração de nome em uma tupla em todas?! Anomalias de Atualização (inclusão) Pessoa que não tem automóvel; (exclusão) Perde informações da pessoa quando último carro é vendido! 3 Teoria da Normalização Formalismos para boa concepção de um esquema de BD relacional Sem informações redundantes Evita anomalias de atualizações Principais conceitos envolvidos Dependências funcionais (DFs) Formas normais Algoritmos de decomposição 4 2
Dependências Funcionais(1/8) O que são Dependências? Especificam propriedades sobre dados válidos no banco de dados o Dependência de inclusão: todo aluno é uma pessoa o Dependência funcional: todo empregado trabalha no máximo em um departamento 5 Dependências Funcionais(2/8) Utilização: Verificação de restrições de integridade Otimização de consultas Concepção de esquemas: formas normais Sejam R (A1, A2, An); X e Y subconjuntos de {A1, A2, An } 6 3
Dependências Funcionais(3/8) X Y X determina Y ou Y depende funcionalmente de X sse t1[x] = t2[x] t1[y] = t2[y] tuplas t1, t2 em r instância de R 7 Dependências Funcionais(4/8) Observações: DF: assertiva para toda realização de R DF representa restrição que deve ser sempre verificada DFs são parte do esquema de um BD São declaradas pelo administrador do banco de dados e controladas pelo SGBD 8 4
Dependências Funcionais(7/8) F + : Fecho de Conjunto de DFs F: Todas DFs implicadas logicamente por F F: {A B; B C} F + : {A B; B C; A C} Sejam R (A1, A2, An); F e X {A1, A2, An } X é chave de R se X {A1, A2, An } F + e não há Y X tal que Y {A1, A2, An } F + 9 Dependências Funcionais(8/8) Se há mais de uma chave para R Chaves candidatas A que for escolhida é dita chave primária Conceito de super-chave: X {A1, A2, An } e X {A1, A2, An } F + Minimalidade não exigida Atributo primo: Ai {A1, A2, An }, Ai X, com X chave de R 10 5
Decomposição de Esquema A decomposição do esquema relacional R consiste da substituição de R por um conjunto de sub-esquemas { R1, R2 Rk }: Ri R (1 i k ) R1 R2... Rk = R Obs. Os sub-esquemas Ri não precisam ser (e normalmente não o são) disjuntos! 11 Objetivos da Decomposição Particionar R em esquemas relacionais menores de forma a eliminar, parcial ou totalmente, as redundâncias e anomalias de atualização, com as seguintes propriedades: Sub-esquemas contém a mesma informação que R As DFs locais aos sub-esquemas são as DFs de R mapeadas para cada Ri Restrições e informações reproduzidas integralmente! 12 6
Propriedades das Decomposições Decomposição sem perdas lossless join: junção das partes é equivalente ao todo! Mais do que perder informações, o que se deseja é evitar gerar informações inexistentes na relação original! Decomposição preservando DFs As DFs válidas para R devem continuar válidas em cada Ri da decomposição 13 Formas Normais(1/3) Primeira Forma Normal (1FN) Uma relação R está em 1FN se todos os atributos são atômicos/indivisíveis Segunda Forma Normal (2FN) Uma relação R está em 2FN se estiver em 1FN e nenhum atributo não-primo depender funcionalmente de uma parte da chave Obs. 1FN e 2FN têm mais valor histórico (e.g modelo NF 2 ) 14 7
Formas Normais(2/3) Terceira Forma Normal (3FN) Uma relação R está em 3FN se estiver em 2FN e todo atributo não primo depender apenas de um atributo primo; Equivalentemente, toda DF não trivial X A de R for tal que ora X é superchave, ora A é atributo primo Teorema: Toda relação R admite uma decomposição em 3FN sem perdas e preservando as DFs 15 Formas Normais(3/3) Forma Normal de Boyce-Codd (FNBC) Uma relação R está em FNBC se toda DF não trivial de R X A for tal que X é superchave de R É uma forma mais restritiva que 3FN Teorema: Toda relação R admite uma decomposição em FNBC sem perdas Obs. Porém em geral não preserva as DFs... 16 8