Outras formas normais e desnormalização. Geralmente, a modelagem na terceira forma normal vai nos levar ao formato final dos dados em um banco de dados relacional. Além disso, nós vamos encontrar também a forma normal Boyce-Codd, BCNF. E essa forma é uma evolução, um refinamento da terceira forma normal. Então, nós podemos dizer que o modelo de dados que está na forma Boyce-Codd é também terceira forma normal. Inclusive o Codd menciona nos seus artigos mais recentes, no momento em que estava escrevendo sobre a modelagem relacional de dados, à medida que o conceito foi evoluindo, ele passa a se referir pela Boyce-Codd como terceira forma normal. Quando que uma terceira forma normal não é considerada Boyce-Codd? É quando houver múltiplas chaves ou chaves compostas por múltiplos atributos ou ainda atributos comuns entre essas chaves. atributos comuns entre essas chaves. Então, em linhas gerais, terceira forma normal nos leva ao modelo definitivo de dados, porém, se houver uma terceira forma normal em que tivermos múltiplas chaves, chaves compostas por múltiplos atributos ou atributos comuns entre essas chaves, esta terceira forma normal não é considerada Boise Code. Também temos a quarta forma normal e como nós vimos anteriormente, para estar na quarta forma normal, nós precisamos atender a terceira forma normal e também não ter dependências multivaloradas. Ou sendo mais específico, relacionamentos muito para muitos são resolvidos de maneira independente. Vamos a um exemplo. Música tem relacionamento com artista, música tem relacionamento com o artista, música tem relacionamento com o álbum. Porém, o artista e o álbum não necessariamente estão relacionados, porque nós temos músicas, uma mesma música que está em álbuns diferentes, e essa música pode ser cantada por artistas diferentes. pode ser cantada por artistas diferentes. Então, num cenário de negócio similar a este, nós precisamos separar este relacionamento muitos para muitos em duas tabelas. Por isso que aqui nós temos uma tabela relacionando música com álbum e outra tabela relacionando a música com o artista. tabela relacionando a música com o artista. Também precisamos falar sobre a desnormalização. E desnormalizar não significa desfazer necessariamente essa normalização ou não normalizar, não executar em uma técnica. Na verdade, a desnormalização é executada após nós termos a normalização dos dados. Frequentemente, desnormalização está associada também com a modelagem de dados dimensional para os data houses baseados em bancos de dados relacionais. Ou seja, desnormalizar é uma técnica de otimização que se utiliza de dados redundantes em uma ou mais tabelas. Resgatando o nosso exemplo da tabela funcionário com a tabela de telefones e a tabela de departamentos, com a tabela de telefones e a tabela de departamentos, nós podemos denormalizar estas três entidades e fazer uma única tabela que ficaria com este formato. Qual é a vantagem que nós temos aqui? Nós eliminamos junção na hora de reexecutar a leitura, então junções custosas ao banco de dados são resolvidas com desnormalização.