What is Database Normalization?
Descrição da aula
In this tutorial, you will learn why you should know how the databases design and why it is essential for data scientists
Saiba mais sobre o curso completo
SQL & Database Design A-Z™: Learn MS SQL Server + PostgreSQL
Learn Both SQL Server & PostgreSQL By Doing. Enhance Your Data Analytics Career With Real World Data Science Exercises
12:37:34 de vídeo sob demanda • Atualizado em Abril 2025
Create basic SQL Queries
Create advanced SQL Queries
Create Left, Right, Inner and Full Outer joins
Create new tables, alter existing tables in Databases
Normalize Databases
Understand database design
Understand first, second and third normal form schemas
Português [Automático]
Olá e bem vindo de volta ao curso em bancos de dados. Hoje eu tenho uma seção muito interessante preparada para você, estamos falando sobre design de banco de dados e, especificamente, vamos nos aprofundar no reino da normalização. Eu tenho alguns slides muito interessantes preparados antes e mal posso esperar para começar. Você está animado? Vamos pular direto para ele. Tudo certo. Então, o que é normalização? Por que isso é importante? Bem, a definição de normalização de acordo com a Wikipedia é o processo de organizar as colunas ou os atributos e tabelas ou as relações de um banco de dados relacional para reduzir a redundância de dados e melhorar a integridade dos dados. Tudo bem, então essa é uma definição bastante ampla e promete muito, mas o que isso realmente significa e o que realmente faz. Bem em toda a seção, vamos procurar entender como podemos estruturar melhor nossos bancos de dados para remover o potencial de quaisquer anomalias de inserção e exclusão de atualização e também apenas acelerar o processo de utilização desses bancos de dados. Então, vamos dar uma olhada em um rápido exemplo trivial que nos mostrará ou nos guiará na direção certa. Então, aqui nós temos uma mesa e esta é uma tabela sobre itens que são vendidos em uma loja de roupas e temos shorts jeans e calças compridas que estão sendo vendidos. Nós os temos em diferentes cores, preços e impostos. Então você pode ver algo errado com esta tabela. Bem, antes de mais nada, podemos ver que esta tabela na coluna de cores tem cores duplicadas, então em vez de apenas um valor, às vezes. Ou neste caso e todas as linhas tem dois valores em vez de um tão amarelo verde azul preto amarelo verde e azul marrom Então, isso é um potencial para erro certo. Então, queremos apenas um valor em nossas colunas em um banco de dados, em vez de, às vezes, ter dois valores, às vezes tendo um, às vezes, três. Então, imediatamente, podemos ver que não parece certo que algo possa dar errado. Então, o que mais podemos ver que poderia estar errado aqui. Bem, se olharmos de perto, veremos que essas duas linhas são idênticas. Certo. E em um banco de dados não queremos ter linhas idênticas, porque a segunda linha, neste caso, não adiciona nenhum valor. Então, essas são algumas coisas óbvias e, na seção, vamos definitivamente aprender como entender a teoria e esse design por trás de como queremos nos livrar dessas questões óbvias da mesa. Mas, na verdade, existem outras coisas sobre essa tabela que não são tão óbvias, mas que também podem ser melhoradas. Digamos que estamos operando sob a condição de que a cor não afeta o preço de forma alguma. Portanto, nesta loja, a cor da peça de roupa não altera o preço para o preto verde amarelo ou qualquer outra cor que não importe. E digamos que queremos adicionar uma nova função a essa tabela. Certo. Então, digamos que queremos adicionar uma nova linha e queremos adicionar jeans que são roxos Agora, quando queremos ter essa nova linha O que nós temos que fazer é ter que preencher todas as quatro colunas que teremos que preencha o item e digite jeans a cor que é roxa então teremos que preencher o preço correto e teremos que preencher o imposto. Mas a coisa é porque a cor não afeta o preço e, portanto, não afeta o imposto. Já sabemos qual deve ser o preço e o imposto porque temos uma linha de coluna. Com jeans já dentro. Então, temos uma linha na segunda linha tem genes e, portanto, sabemos que o preço é de 35 e os impostos de US $ 3 50. E, portanto, quando preenchemos essas informações manualmente ou atualizamos essas informações à medida que adicionamos essas linhas nesta quinta linha nossa tabela. Existem duas coisas acontecendo. Primeiramente, estamos duplicando as informações, por isso estamos realizando um trabalho que não é necessário. Esta informação já está presente em nosso banco de dados. Não há nenhum ponto em que não há nenhum propósito em nós realmente escrever essas informações e é o trabalho extra que estamos realizando, o que leva tempo, o que leva recursos e, geralmente, retarda o processo. E a segunda coisa que acontece é que há um potencial para erro. Certo, já sabemos que o preço é de trinta e cinco dólares e o imposto é de três mil para jeans. Mas, neste caso, ao escrever esta linha em E se especificarmos o preço incorreto ou a taxa de imposto incorreta. Por que criar esse potencial adicional de erro. E isso é outro tipo de coisas que não é tão óbvio no banco de dados e isso é algo que estaremos examinando em toda a seção como entender essas coisas e como estruturar e projetar seus bancos de dados de uma maneira que impeça essas coisas de acontecendo. E a pergunta óbvia aqui é por que Kirill, por que precisamos aprender sobre design de banco de dados. Somos cientistas de dados, este é o reino de administradores de banco de dados e engenheiros de dados e arquitetos de dados e guardiões dos dados. Bem, a razão para isso é bem simples. Portanto, há algumas razões. Primeiro de tudo, aqui eu vou te dar quatro razões. Primeiro de tudo, aprendendo sobre design de banco de dados e passando por esta seção do curso você definitivamente não tem que passar pela seção, é claro, você pode simplesmente ignorá-lo e você provavelmente terá uma boa carreira em ciência de dados. Mas conhecer essas coisas realmente impulsionará sua carreira e o ajudará a ser um cientista de dados muito mais proficiente e por que isso acontece. Bem, antes de mais nada, você entenderá porque outros bancos de dados com os quais você está trabalhando foram projetados de uma determinada maneira. Você terá uma melhor compreensão não apenas de como eles funcionam, mas exatamente por que isso aconteceu e qual foi o pensamento que entrou nisso. A segunda coisa é que você entenderá como navegar pelo banco de dados. Então, mesmo sendo apresentado a um novo banco de dados, você já conhece algum trabalho exploratório muito breve. Você será capaz de dizer que tipo de estrutura este banco de dados tem e, portanto, você será capaz de navegar melhor, porque você vai conhecer todos esses modelos e nós vamos cobrir. E, em seguida, este é o ponto número três, você será capaz de entender possíveis vulnerabilidades e falhas nos bancos de dados com os quais está trabalhando. Certo. E assim você saberá o que procurar, você será capaz de fazer recomendações sobre como consertar essas coisas e isso é uma habilidade adicional que muitas pessoas não seriam capazes de fazer. Então, as pessoas que não sabem essas coisas não serão capazes de entender e fazer essas recomendações. E, finalmente, ponto 4, você será capaz de se comunicar efetivamente com os guardiões de dados, seja com os administradores de bancos de dados e com quem estiver trabalhando com o banco de dados diariamente. Portanto, uma comunicação eficaz ajudará você a obter resultados mais rapidamente. Então lá vão essas são algumas razões substanciais para realmente passar por esta seção e aprender essas coisas. E além disso é realmente muito divertido, então estou muito animado em compartilhar esse conhecimento com você, então se você está a bordo, estou ansioso para vê-lo no próximo tutorial E até a próxima vez, feliz analisando.