Em outras palavras, foi realizada uma decomposição em subtabelas, mas que é possível retornar ao estágio anterior. Forma normal é que todos os atributos do modelo sejam atômicos, indivisíveis. Em outras palavras, não são permitidos valores duplicados, tampouco campos possuindo mais de um valor simultaneamente. Falámos até agora da normalização de dados como um conceito teórico. Como já deve saber, as bases de dados estão subjacentes ao funcionamento de cada aplicação ou software em geral. A normalização das bases de dados acelera o processo de recuperação de dados, o que consequentemente melhoraria o desempenho da sua aplicação.
Apesar disso, ainda assim existem alguns conceitos referentes à normalização em NoSQL, mas não são tão bem definidos ou amadurecidos. Observe que cada coluna que não fazia parte de chave primária acabou indo parar em uma tabela separada. Observe também que a tabela pessoa-cor-favorita não tem um registro para o elemento 2 (o Rodolfo). Essa forma de normalização elimina a necessidade de se ter NULLABLE em colunas, e todas as colunas resultantes são NOT NULL.
Normalização de Banco de dados
Virtualmente nenhum sistema que eu conheço faz isso certo. Curiosamente é mais fácil fazer isto no modelo de documento, mas porque quase todo mundo que adota esse modelo ainda pensa como no relacional não fazem certo também. Para fechar a resposta a esta pergunta, normalização de banco de dados consiste na normalização da estrutura do banco de dados, enquanto que normalização de dados corresponde à normalização dos dados já existentes nas tabelas. Essas formas só são relevantes para quem está fazendo alguma pesquisa teórica na área, ou está construindo alguma ferramenta de modelagem de banco de dados, ou tem alguma necessidade muita específica nisso. Uma coluna está em dependência funcional com a chave primária quando ela é determinada no domínio da aplicação por meio da chave primária. Uma coluna não tem dependência funcional com a chave primária quando ela é definida de forma independente da chave primária ou quando ela é definida a partir de alguma outra coluna que não seja a chave primária.
Embora eu já tenha ouvido esse termo algumas vezes antes, não consegui compreender do que se tratava. No exemplo acima temos uma entidade que lista os carros cadastrados, bem como o modelo, a quantidade de quilômetros rodados, o código do fabricante e o nome do fabricante. Para adequarmos esta tabela de acordo com os padrões da terceira forma normal, devemos remover a coluna do nome do fabricante. A criação de novas entidades e relacionamentos podem trazer prejuízos ao serem implementados em um SGBD. Outra forma de identificar se a tabela não está na 1FN é verificando se existe tabela aninhadas, ou seja, mais de um registro para uma chave primária.
Terceira Forma Normal de Boyce-Codd (3.5 FNBC)
Além disso, diminui a redundância de dados e elimina anomalias, o que permite evitar erros e garantir a consistência e integridade de dados. Dessa forma, a 4FN é uma etapa adicional de normalização que visa eliminar redundâncias e garantir maior integridade e eficiência nas tabelas de banco de dados que possuem dependências multivaloradas. Sua aplicação pode ser relevante em alguns contextos específicos, especialmente quando se lida com dados complexos e relacionamentos entre entidades. A normalização de banco de dados é essencial para evitar anomalias, como inserções, atualizações e exclusões indesejáveis nos dados do banco de dados, garantindo a integridade, eficiência e consistência dos dados.
De qualquer forma, sempre é bom entender os conceitos básicos deste tema, que não é complicado, e que poderá drásticamente melhorar o desempenho do seu BD e seu gerenciamento. Note que os dados dos professores e das bootcamp de programação disciplinas estão em tabelas independentes e referenciados na última como chaves estrangeiras. Se as disciplinas e os professores estivessem juntos com as aulas, teríamos problemas nas dependências do modelo.
O que é a normalização de bases de dados e como fazê-la?
Nesse exemplo, temos uma tabela de “Vendas” que registra os pedidos realizados, com informações sobre os produtos, quantidades, valores unitários e subtotal de cada item. Também temos uma tabela “Produtos” https://contilnetnoticias.com.br/2023/12/como-escolher-um-bootcamp-de-programacao/ que contém informações detalhadas sobre cada produto, como a descrição. As regras de normalização foram propostas pelo cientista da computação britânico Edgar F. Codd como parte de seu modelo relacional.
