10. Restrições de Integridade e Normalização REDES DE COMPUTADORES E LÓGICA PARA COMPUTAÇÃO - EDITAL Nº 90/2024 Prof. Me. Caio César de Freitas Dantas
Objetivos Objetivo Geral: Compreender os conceitos de restrições de integridade e normalização em bancos de dados relacionais. Objetivos Específicos: Entender o que são restrições de integridade e sua importância. Conhecer os tipos de restrições de integridade. Aprender os conceitos de normalização e suas formas normais. Aplicar a normalização em exemplos práticos. 2 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Introdução O que é um Banco de Dados? Sistema estruturado para armazenar, organizar e gerenciar informações. Importância da Qualidade dos Dados: Dados consistentes e bem estruturados aumentam a confiabilidade e desempenho. Conceitos Chave: Restrições de Integridade. Normalização. 3 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Introdução O que são Restrições de Integridade? Regras que garantem a precisão, consistência e confiabilidade dos dados em um banco de dados. O que é Normalização? Processo de organizar os dados em tabelas para reduzir redundâncias e inconsistências. Por que são importantes? Evitam anomalias em operações de inserção, atualização e exclusão de dados. 4 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Restrições de Integridade As restrições impedem que dados inválidos sejam digitados nas tabelas. A restrição deve ser satisfeita para a operação ser bem sucedida. São usadas também para impor regras no nível da tabela sempre que uma linha for inserida, atualizada ou deletada. 5 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Restrições de Integridade As restrições no nível de tabela fazem referência a uma ou mais colunas da tabela. Podem ser também no nível de coluna quando fazem referência a uma única coluna da tabela. Geralmente são criadas ao mesmo tempo em que a tabela é criada, mas podem também serem adicionadas depois de sua criação e podem ser desativadas temporariamente. 6 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Restrições de Integridade Objetivo: Garantir que o banco de dados reflita a realidade e evite erros. Tipos principais: Integridade de Entidade. Integridade Referencial. Integridade de Domínio. Restrições de Checagem. Restrições de Unicidade. Restrições de Não Nulos. 7 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Restrições de Integridade – Benefícios Prevenção de inconsistências. Melhoria na qualidade dos dados. Suporte para integração entre sistemas. Auxílio no cumprimento de requisitos legais e normativos 20 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – Introdução Definição: Processo de organização dos dados para reduzir redundância e melhorar a integridade. Objetivo: Dividir os dados em tabelas menores e bem definidas. Princípio Base: Cada tabela deve representar uma única entidade ou conceito. 23 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – Definição Processo de análise que minimiza redundância de dados e minimiza anomalias nas operações de modificação dos dados. As relações que não satisfazem certas propriedades – formas normais – são sucessivamente decompostas em relações mais pequenas de modo a satisfazerem as propriedades pretendidas ( Codd 1972). As formas normais são como que orientações para o desenho de boas relações. As formas normais existentes são: 1NF – Primeira forma normal 2NF – Segunda forma normal 3NF – Terceira forma normal BCNF – Forma normal de Boyce – Codd 4NF – Quarta forma normal 5NF – Quinta forma normal Nem sempre é necessário normalizar uma BD até à última formal normal (por vezes, 3NF ou BCNF é suficiente). 24 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – Definição Processo de 25 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – Formas Normais Processo de análise que minimiza redundância de dados e minimiza anomalias nas operações de modificação dos dados. As relações que não satisfazem certas propriedades – formas normais – são sucessivamente decompostas em relações mais pequenas de modo a satisfazerem as propriedades pretendidas ( Codd 1972). As formas normais são como que orientações para o desenho de boas relações. As formas normais existentes são: 1NF – Primeira forma normal 2NF – Segunda forma normal 3NF – Terceira forma normal BCNF – Forma normal de Boyce – Codd 4NF – Quarta forma normal 5NF – Quinta forma normal Nem sempre é necessário normalizar uma BD até à última formal normal (por vezes, 3NF ou BCNF é suficiente). 26 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 1ª Forma Normal (1FN) 1ª FORMA NORMAL (1FN) -Uma relação está em 1FN se, e somente se, todos os seus atributos contêm apenas valores atômicos (simples, indivisíveis). -Definida para NÃO permitir atributos multi-valorados e atributos compostos. 28 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 1ª Forma Normal (1FN) Dependência Funcional 29 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 1ª Forma Normal (1FN) 1ª FORMA NORMAL (1FN) – EXEMPLOS 30 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 2ª Forma Normal (2FN) Uma relação está em 2FN se e somente se estiver em 1FN. -Se todos os atributos não chave forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas de parte dela). 31 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 2ª Forma Normal (2FN) 2ª FORMA NORMAL (2ªFN) - Procedimentos: a) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária; b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles. A chave primária da nova entidade será o atributo do qual os atributos do qual os atributos removidos são funcionalmente dependentes. 32 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 2ª Forma Normal (2FN) 2ª FORMA NORMAL (2ªFN EXEMPLOS TABELAS 33 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 3ª Forma Normal (3FN) Uma relação está em 3FN se e somente se estiver em 2FN. - Todos os atributos que não são chave devem ser independentes, isto é, não deve existir funções que definam um ao outro. Portanto, sempre a chave deve definir toda a tabela. - Toda coluna não-chave não depende de outra coluna não-chave. 34 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 3ª Forma Normal (3FN) 3ª FORMA NORMAL (3ªFN) Procedimentos: a) Identificar todos os atributos que são funcionalmente dependentes de outros atributos não chave; b) Removê-los. 35 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 3ª Forma Normal (3FN) 3ª FORMA NORMAL (3ªFN EXEMPLOS TABELAS 36 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – Forma Normal (BCNF) BCNF – Forma Normal de Forma Normal de Boyce – Codd Um esquema relacional está na forma normal de Boyce – Codd se para qualquer dependência funcional X → A com A ∉ X, X é uma superchave . A diferença para 3NF é a inexistência da possibilidade de A ser um atributo de uma qualquer chave. Note-se que se um esquema relacional está na BCNF então também está na 3NF. O inverso pode não ser verdadeiro. Na prática, quando um esquema relacional está na 3NF, normalmente também está na BCNF. A excepção é quando existe uma dependência X → A com X sem ser uma superchave e A sendo um atributo de uma chave. 37 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – Forma Normal (BCNF) A normalização BCNF não verifica a propriedade de preservação das dependências, podendo originar a perca de dependências funcionais. 38 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 4ª Forma Normal (4FN) Um esquema relacional R está na quarta forma normal relativamente a um conjunto F de dependências funcionais e multi-valor se para cada dependência multi-valor não-trivial X ↠ Y em F+, X é uma superchave . Uma dependência multi-valor X ↠ Y diz-se trivial em R quando não especifica nenhuma restrição com significado, ou seja, quando Y ⊆ X ou X Υ Y = R. A 4NF evita os problemas de consistência e redundância relacionados com as dependências multi-valor . As dependências multi-valor da relação EMP_PROJS_DEPS violam a 4NF: NomeEmp ↠ NomeProj NomeEmp ↠ NomeDep 39 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 4ª Forma Normal (4FN) Sempre que decompomos um esquema relacional R em dois esquemas relacionais R1 = (X Υ Y) e R2 = (R – Y) com base numa MVD X ↠ Y, então a decomposição verifica a propriedade de junção-não-aditiva. Dois esquemas relacionais R1 e R2 constituem uma decomposição com junção- nãoaditiva de R relativamente a um conjunto F de dependências funcionais e multivalor se e só se: (R1 ∩ R2) ↠ (R1 – R2) ∈ F+, ou (R1 ∩ R2) ↠ (R2 – R1) ∈ F+. Por vezes, pode acontecer que não existe uma decomposição com junção- nãoaditiva em apenas duas relações, mas existe em mais do que duas relações. Isso pode verificar-se mesmo que nenhuma FD viole as formas normais até à BCNF e nenhuma MVD não-trivial viole a 4NF. Sobra então o outro tipo de dependência que nos conduz à 5NF. 40 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 4ª Forma Normal (4FN) Exemplos 41 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 5ª Forma Normal (5FN) Um esquema relacional R está na quinta forma normal relativamente a um conjunto F de dependências funcionais, multi-valor e de junção se para cada dependência de junção não-trivial JD(R1, R2, ..., Rn ) em F+, cada Ri é uma superchave . A 5NF evita os problemas de consistência relacionados com as dependências de junção. 42 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – 5ª Forma Normal (5FN) EXEMPLOS TABELAS 43 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – Vantagens Vantagens da Normalização Redução de redundâncias. Melhoria na consistência dos dados. Facilidade de manutenção. Otimização de consultas. 44 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – Desvantagens Desvantagens da Normalização Pode aumentar a complexidade do banco de dados. Pode exigir mais joins em consultas, impactando o desempenho. Nem sempre é necessária em bancos de dados pequenos ou específicos. 45 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – Quando Normalizar Em sistemas com alta complexidade de dados. Quando a consistência dos dados é crítica. Em bancos de dados transacionais (OLTP) 46 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – Quando Não Normalizar Quando Não Normalizar? Em bancos de dados analíticos (OLAP). Quando o desempenho é mais importante que a consistência. Em sistemas com dados temporários ou de baixa complexidade Casos em que a Desnormalização é Necessária Necessidade de otimização de consultas. Bancos de dados orientados a análise ou BI. Combinação de tabelas para reduzir joins excessivos 47 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Normalização – Exemplo Prático Cenário: Dada uma tabela Alunos com colunas: AlunoID , Nome , CursoID , NomeCurso , ProfessorID , NomeProfessor , Nota . Tarefa: Identificar problemas de normalização. Aplicar as formas normais para corrigir Objetivo: Aplicar os conceitos de restrições de integridade e normalização. Tarefa: Identificar problemas em um banco de dados fictício. Propor soluções usando normalização. Implementar restrições de integridade 48 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão
Conclusão Restrições de Integridade garantem dados consistentes e confiáveis. Normalização reduz redundância e melhora a estrutura. Boas práticas ajudam a criar bancos de dados mais eficientes. Sempre balancear normalização e desempenho. Pontos Chave: Restrições de integridade garantem a qualidade dos dados. A normalização organiza os dados para evitar redundâncias e inconsistências. A escolha entre normalizar ou não depende do contexto do sistema. Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão 49
Referências KUROSE, J. F.; ROSS, K. W. Redes de computadores e a Internet : uma abordagem top- down . 5ª ed. São Paulo: Pearson, 2010. 640p. TANENBAUM, A. S.; WETHERALL, D. Redes de computadores . 5ª ed. São Paulo: Pearson, 2011. 600p. COMER, D. E. Redes de computadores e Internet . 4ª ed. Porto Alegre: Bookman, 2007. 720p. FOROUZAN, B. A. Comunicação de dados e redes sem-fio . 4ª ed. Rio de Janeiro: McGraw-Hill, 2008. 1134p. 50 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão