olá pessoal aqui o fábio barbosa treinamentos nesse vídeo vamos dar continuidade no nosso curso de modelagem de dados vamos falar hoje sobre a forma normal de bola scott dando continuidade ao nosso estudo sobre normalização que já vimos a 1ª 2ª e 3ª formas normais e agora a gente vai uma forma normal um pouquinho diferente um pouquinho especial que a forma normal de bola esconde ou para os íntimos efe nbc na verdade o código ela é relativamente similar a terceira forma normal como se fosse uma melhoria e na terceira forma normal a definição original da terceira
foi normal como foi proposta por código ela não lhe dava adequadamente com tabelas que tivessem duas ou mais chávez candidatas ao mesmo tempo e que essa chaga os candidatos fossem compostas além disso que elas tivessem superposição que significa atributos em comum a idéia é a seguinte se na sua tabela você tiver mais de uma combinação de chávez a que possam ser chaves candidatas e essas combinações utilizarem o mesmo atributo a gente disse que tem uma superposição e nesse caso a gente tem alguns problemas que podem causar anomalias e isso a gente consegue resolver fazer a
normalização até a forma normal the boys código se não tiver essas condições ocorrido na tabela basta aplicar a terceira forma normal e só tabela está prontinho para ser implementada no banco de dados você quiser mas se tivesse problemas a gente vai aplicar a forma normal de boys code bom há uma tabela ela está na fms também estiver na terceira forma normal então a gente chega até a terceira forma normal e aí se for o caso se for necessário a gente aplica mais um passo de normalização quando a tabela tabela tiver mais de uma chapa o
candidato então podem ocorrer no males como já citei uma relação r relação é de uma tabela ela vai estar na forma normal de mascote sempre que uma dependência funcional do tipo não trivial x ah se não tiver na tabela r de forma que x seja macho uma super chave dr essa é uma definição formal e técnica da idéia dessa forma normal bom a gente falou de independência funcional determinando etc então alguns pontos que a gente precisa considerar o relembrar para poder entender melhor a forma normal de barros conta que é um determinante quando você representa
por meio de símbolos uma mão um relacionamento em tributos o determinante é o item que fica do lado esquerdo de uma dependência funcional como por exemplo a letra x em x e y aqui a gente lê como x determina funcionalmente y ou se você quiser ler ao contrário y é dependente funcionalmente de x portanto a gente está aqui se referindo aos atributos da tabela tributo x o conjunto de atributos x e atributo y dizendo que o atributo y ele é dependente de x ou que x determina funcionalmente y a gente já viu um vídeo falando
especificamente sobre pendências funcionais e se você tiver com um pouco de dificuldade para relembrar só dar uma olhadinha naquele vídeo a mas é essa daqui não vai muito além disso a gente tem vários tipos de pendências funcionais uma delas chamada de trivial que é uma dependência que não pode deixar de ser satisfeita daí o nome trivial uma dependência funcional é trivial seu lado direito da expressão foi um sub-conjunto do lado esquerdo ou seja se o conjunto de atributos x com tiver o atributo y por exemplo a determina a b ele é uma dependência trivial se
b foi um subconjunto de a receber fizer parte de há aqui um exemplo suponha que eu tenha uma chave composta que possui os atributos e do funcionário em nome do funcionário a gente sabe que o id do funcionário é um sub-conjunto dessa chave composta de e nome então a gente diz que existe uma dependência funcional crial o dftv ao df dependência funciona então tendo essas duas idéias em mente a gente vai falar mais especificamente da forma normal de bola scott agora como é que a gente define tecnicamente a fn bc pense numa relação que eu
tenho um exemplo de uma relação que chama de forme fornecedor e essa relação tem os atributos número do fornecedor ou id do fornecedor nome do fornecedor o número de identificação do produto e quantidade essa tabelinha aqui ela é inspirada na tabela tanto livro do leite que explica sobre formas normais nesse caso a gente tem essa relação forne composta por e deu o número do fornecedor nome do fornecedor o número do produto em quantidade do produto na mesma tabela ele aqui a gente consegue identificar duas combinações de chaves candidatas e olha que interessante a nossa análise
a gente tenta achar a chave primária que a gente vai ter problemas o número do fornecedor não pode ser uma chave primária porque claramente ó ele se repete várias vezes o fornecedor ele pode fornecer vários produtos ele está sendo repetido várias vezes aqui o nome do fornecedor sozinho também não pode ser uma chave primária porque também se repete várias vezes obviamente mas a combinação na a combinação do número do fornecedor com o número do produto pode dar uma chave primário então a gente isso aqui é uma chave candidata a número do fornecedor e número produtos
juntos chave candidato porque você vai perceber a nossa tabelinha que não existe a repetição desses dois campos ao mesmo tempo quando o fornecedor f1 eo produto é um você tem uma linha essa linha não vai acontecer de novo nessa tabela você vai ter um fornecedor 1182 fornecedor 1.3 é assim sucessivamente então temos uma chave candidata não necessariamente vai ser a chave primária da tabela e candidata só que a gente também pode combinar o nome do fornecedor com o produto para termos uma outra fabi candidata a essa combinação também não se repete aqui mp2 akp 31
branca p1 e assim por diante a gente tem um problema aqui que pode ser resolvido normalizando até o fm bc aqui é o problema de ter as chaves candidatas compostas a com o atributo que se repete entre elas a superposição onde está a superposição produto é sua posição porque ele faz parte de ambas as combinações de chaves candidatas então a gente tem tipicamente um caso para forma normal de box core resolver a gente vai resolver essa tabelinha aqui como é que a gente vai fazer isso que a gente normaliza a forma de motoboys cód a
gente tem que recompor a tabela é como a gente fez para as outras formas normais a gente tem que encontrar as dependências funcionais não triviais que violem a condição da forma normal e aí a gente divide a tabela em duas numa das tabelas a gente leva os atributos gym seja os tributos que são dependentes e na outra tabela a gente coloca os atributos restante da tabela original juntamente com o atributo x que faz parte da chave a um pouco confuso isso não ver na prática como é que vai ficar então só relembrando a gente vai
normalizar essa tabelinha aqui fornecedor que tem um número do fornecedor o nome do fornecedor o número do produto ea quantidade do produto com duas chaves compostas candidatas uma com um número de fornecedores o nome e outra com elas número frança do produto e outra o nome fornecedor e o produto também a não ficar da seguinte forma resolvendo exemplo em uma das tabelas a gente vai colocar o número do fornecedor é o nome do fornecedor está apenas essas duas informações assim não haverá repetições olha só a gente garante que cada linha representa um único registro exclusivo
mas o produto ea quantidade esses caras vão para uma outra tabela eu chamei de forma online prodi nessa tabela vou ter o número do fornecedor mas o número do produto mais a quantidade e aí qual vai ser a chave do armário dessa tabela vai ser a combinação de números do fornecedor com o número do produto e aí essa tabela também está normalizada fbc legal cada linha vai ter uma informação diferente alternativamente em vez de usar o número do fornecedor o número do produto a gente pode usar o nome do fornecedor o nome do produto que
lembra tanto o nome do fornecedor quanto o número do fornecedor fazem parte da chave as candidatas então qualquer um deles pode ser usado então pode haver mais de uma decomposição possível válida quando você trabalha com fn bc não poderia ser essa tabela forme com o número do fornecedor o nome do fornecedor mais forme no caso aqui o nome do fornecedor tá legal conforme nome próprio pronto só para não confundir aqui e essa tabela segue a mesma idéia nome do fornecedor combinado com o número do produto chave composta e aí a gente trouxe para cá a
quantidade certa deixando então a combinação de nome do fornecedor com o id do fornecedor na tabela se para nessas duas tabelas ou essas duas aqui resolve um exemplo o fndc bom fbc não é muito comum às vezes dá um pouco de trabalho para entender exatamente mais um sonho então vamos fazer um segundo exemplo agora tem um outro exemplo aqui bem clássico esse exemplo aqui é de uma tabela chamada que chama de tl adp já há algum disciplina professora e ela tem essas informações números de identificação de alguns poderiam ser nomes também tanto faz aqui é
nome número caracteres de 60 nomes disciplinas e nomes de professores que ministram disciplinas então a idéia é a seguinte cada aluno vai apresentar vai aprender uma disciplina que leciona por um professor por exemplo 500 aprende matemática com o professor fábio o aluno 15/3 aprende matemática com a sandra ele também aprende história com um tá só que cada professor leciona só uma disciplina então fábio só isso na matemática na maria sole cione história ao jorge só este ano a física e assim sucessivamente mas uma disciplina pode ter mais de um professor como aqui na nossa escola
matemática é selecionada pelo fábio e pela sandra também assim como história pela maria e pelo nunes os problemas com ela os problemas e normaliza por exemplo se excluiu mal na tabela as informações do professor orientador também somem então só excluiu aluno 501 automaticamente ao excluir esse registro inteiro somente o professor jorge com disciplina física em fico sem saber qual é o professor que leciona física é interessante se adicionar um novo aluno ou um novo professor orientador por exemplo a gente também vai ter problema adicionar um novo professor obrigatoriamente tem que adicionar 1 a 1 mesmo
que não tenha esse aluno ainda estão superlotadas o professor de geografia aqui mesmo que não tenha um cadastrado nessa disciplina eu preciso colocar um aluno porque senão não consigo inserir o registro eo professor fica faltando informação e finalmente se atualizar a informação do aluno também atualizará automaticamente a informação sobre o professor tem esses problemas que a forma normal de barris código vai resolver além disso disciplina é parte de uma chave candidata composta a gente vai ter uma chave candidata também é incorporando a coluna de disciplinas não sabe a forma de uma esquadra juntamente com isso
com chávez candidatas compostas a gente pode ter a combinação de aluno com disciplina para formar a chapa do candidato ou disciplina com o professor da disciplina é a coluna que tem superposição vamos resolver isso aqui como é que fica isso resolvido na forma normal de barris código duas tabelas tbl a pntl perder significa aluno professor e professor disciplina na tabela atp eu coloco combinação de aluno com o seu professor orientador a gente não tem linhas repetidas por exemplo a 1 503 que custa duas disciplinas tá combinado com a sandra e com estão a repetições e
aqui na tabela professor da disciplina tem o nome professora da disciplina que ele seleciona a após ter mais de uma disciplina nessa e essa disciplina vai selecionada sempre por um ou mais professores e um professor só vai lecionar uma única disciplina a gente tem essas combinações aqui resolvendo então o problema para a normalização da nossa tabelinha usando a fnb se legal dessa forma a gente chegou à final da normalização dessa tabela é isso aí pessoal espero que tenham gostado esse vídeo e entendido mais ou menos como é que funciona a forma normal de bola scott
a lembrando que nem sempre ela precisa ser aplicada chegando na terceira forma normal e percebendo que não tem esse problema de atributos compostos com superposição você não precisa aplicar a forma normal de bola escolhe a nossa próxima edição vai ser um exemplo concreto de modelagem porque ela não vai ser especificamente só um vídeo necessariamente porque o exemplo pode ser resistente mas a gente vai trabalhar com um exemplo completa e concreto desde a análise do problema até a implementação do do nosso sistema de banco de dados só espero que vocês tenham gostado aproveite para se inscrever
aqui no canal da bola no treinamento e também para visitar um website que é o www.boldrini.org.br obrigado e até a próxima