E aí pessoal tudo bem sou o Thiago Marto e talvez já tenha pesquisado lido aprendido sobre entidades e relacionamentos em bancos de dados relacionais né para construir um bom banco de dados que vai servir uma boa aplicação ou tirar bons insights né num numa empresa num modelo de negócio é importante conhecer bem sobre entidades e relacionamentos mas e essas entidades relacionamentos né e precisam de algum tipo de padronização pra gente garantir que a gente tá fazendo elas bem e de uma maneira eh interessante e pensando nisso que o pessoal criou as formas de normalização de
banco de dados né O que a gente chama de formas normais e é sobre isso que a gente vai falar no vídeo de hoje as formas normais dos bancos de dados elas buscam garantir qualidade dos dados né a gente quer que os dados estejam estáveis e para demonstrar isso né eu construí aqui algumas tabelas que mostram a evolução de uma base né de uma tabela que tá sem normalização nenhuma e aí a gente vai evoluir através das formas normais eh essa tabela nesse vídeo Beleza então vamos vir aqui para o post grz tá E aí
eu vou abrir aqui uma tabela que eu chamei de aulas forma zero porque ela ainda não tá em nenhuma forma normal tá eh qual é o problema dessa tabela vamos ver aqui o problema dessa tabela é que ela não ela não respeita a primeira forma forma normal a primeira forma normal diz que cada atributo deve conter apenas um valor correspondente num dado registro um registro é uma linha da coluna né então se a gente voltar aqui vocês vão reparar aqui o formato né eu tenho aqui uma tabela de aulas a gente tem nome da aula
formatos que essa aula pode ser dada o professor que ministra essa aula preços né ID do curso e o nome do curso né E aí o que acontece é o seguinte a tabela de formatos a a coluna de formatos ela tem dois valores né digital ou presencial então não há um único valor né no registro a dois preços também tem dois então a evolução disso aqui é a tabela aulas forma um tá que ganha algumas linhas mas resolve esses problemas então agora a gente tem aqui banco de dados relacional formato digital né formato presencial Python
para machine learning digital e presencial e os preços separados Ok então com isso a gente com a primeira forma normal agora vamos falar sobre a segunda forma normal né Eh essa forma diz que cada elemento da tabela e deve depender apenas da sua chave primária que que isso quer dizer reparem aqui ó que a gente tem que nem eu mostrei aqui Opa que nem eu mostrei aqui eh o curso né banco de dados que tem dois formatos possíveis né mas o que acontece pro mesmo curso o professor é sempre o mesmo para mesma aula desculpa
o professor é sempre o mesmo o ID do curso é sempre o mesmo e o nome do curso é sempre o mesmo né O que muda o formato muda o preço né então como a gente resolve isso A ideia é que a gente vai extrair o formato para uma outra tabela Então a gente vai criar uma tabela de formato e Preço Certo que tem aqui ó o curso o formato e o preço curso formato e preço né E a gente tem aqui aulas forma dois que é aquela mesma tabela só que agora ó como ficou
mais enxuto a gente não tá mais repetindo o dado o nome do professor da aula e o nome da aula ID do curso e nome do curso a gente armazena só uma vez não precisa armazenar duas porque a gente vai armazenar o preço e o formato separados né essas informações ficam menos replicadas é por isso que essa forma normal é tão interessante porque ela reduz redundância né Quais são as vantagens de reduzir a redundância A primeira é diminuição do custo do armazenado né você não tá armazenando mais dado e a segunda é a seguinte se
o professor mudar né do jeito que a gente tem agora ó vamos voltar para cá eu só preciso mudar o meu nome mas do jeito que tinha antes eu tinha que mudar em duas inhas às vezes em mais inhas pensando numa tabela maior então evitar redundância é muito importante Vamos agora falar da terceira forma normal que que a terceira forma normal diz a terceira forma normal diz que além de estar na segunda forma normal né um elemento não chave da tabela não pode depender de outro elemento não chave Como assim vamos voltar aqui pro nosso
Exemplo né na forma dois então a gente já viu que esse daqui tá na forma dois mas o que que acontece o ID do curso é diretamente associado ao nome do curso né a gente poderia até ter outros professores desse curso mas o id1 sempre I ser nome do curso e i sempre I ser banco de dados o id2 sempre I ser Python tá então o que que a gente tem que fazer para colocar esse banco na terceira forma normal né Essa tabela a gente precisa criar aqui uma tabela cursos tá que ela vai fazer
o quê ID do curso nome do curso para esse dado não ser replicado né dependendo de eh da inserção de dados novos e a gente vai criar aqui aulas forma TRS que tem ainda menos redundância então ficou uma tabela mais enxuta tá vendo vendo ó nome da aula professor da aula e ID do curso existem mais algumas formas normais tá existem as quarta quinta formas normais oficiais mas elas já começam a entrar num num espaço um pouco mais de nicho tá eh dentro do mercado de trabalho e existe uma outra forma que é a forma
normal boice cod tá essa forma também conhecida como forma 3,5 Ela diz que ela é provavelmente a mais usada no mercado com certeza uma das mais comuns de você tem bancos de dados bem estruturados tá E ela diz que a sua tabela não pode ter mais de uma chave candidata tá o que quer dizer isso vamos voltar aqui tá eh a chave ca né é um campo que identifica o o registro né então aqui por exemplo a gente tem duas Chaves candidatas né o ID do curso sempre remete essas opções aqui o nome da aula
sempre remete as outras duas né e o professor também porque essa base é pequena né se a gente adicionasse mais um professor que ministrasse banco de dados relacional né a gente teria tanto e o ID do curso como banco de dados relacional como Chaves candid datas eh substituindo isso aí sim a gente consegue eh adquirir né Essa forma boice code que é tão usada no mercado bom agora que você já sabe sobre as formas de normalização mais usadas no mercado e eu espero que esses exemplos tenham ajudado com esse conteúdo que é um conteúdo um
pouco mais abstrato eh eu deixo um desafio para você escolhe alguma tabela com a qual você já trabalhou né ou algum exemplo de tabela na internet verifica se ela tá na terceira forma normal ou na forma normal Boys cod tá eh esse é um conteúdo bastante difícil de aprender sem praticar então recomendo bastante que vocês pratiquem tá eh e o vídeo de hoje é isso eu espero muito que tenha feito sentido para vocês espero que tenha dado uma ajudada na abstração eh a gente vendo a evolução das tabelas Tá e é isso aí até mais