9月3日
Follows a post i wrote on Brazilian Technet, later i will translate it to english.
4FN Quarta forma normal
“Uma tabela está na 4FN, se e somente se, estiver na 3FN e não existirem dependências multivaloradas”
Pode-se ver como a transformação de algo assim
Supondo que cada paciente pode ter mais de um plano de saúde, e pode fazer vários exames
Paciente Plano Exame
Carlos SuaVida Hemograma
Carlos SL Hemograma
Carlos SuaVida Urina
Carlos SL Hemograma
A idéia da 4FN seria dividir a informação em duas tabelas distintas
Uma com a Pedido do exame
e outra com a infromação de quais os planos q o paciente suporta, isso evitaria a redundência dessa informação em cada solicitação.
Paciente Exame
Carlos Hemograma
Carlos Urina
Paciente PLano
Carlos SuaVIda
Carlos SL
A quinta forma é chamada de Forma de Projeção e União (Project/Join Normal Form)
Considere o exemplo
Vendedor Marca Tipo de Produto
Carlos MArba Aspirador de pó
Carlos MArba Torradeira
João Tabajara Geladeira
João Tabajara Torradeira
Arthur Capivara Aspirador de Pó
Arthur Capivara Tanquinho
Arthur Capivara Geladeira
Agora, suponha a seguinte regra: um vendedor tem um determinado conjunto de marcas e certo tipo de produtos na sua carteira de vendas.
Então poderiamos ter a tabela dividida da seguinte forma
Vendedor Tipo de Produto
Carlos Aspirador de pó
Carlos Torradeira
João Geladeira
João Aspirador de Pó
Arthur Tanquinho
Arthur Geladeira
Numa outra tabela as marcas q o vendedor vende
Vendedor Marca
Carlos Marba
Joao Tabajara
Arthur Capivara
E logicamente numa outra tabela a lista de Produtos e a qual marca ele pertence
Produto MArca
Aspirador de Pó Marba
Aspirador de Pó Tabajara
Torradeira Marba
Torradeira Tabajara
Geladeira Tabajara
Geladeira Capivara
Tanquinho Capivara
A 6FN ela diz que os bancos de dados são uma extensão da álgebra relacional, existe um livro de Crhistopher J. Date e outros sobre Bancos de Dados temporais. Esse estudo pelo que eu vi é bem teórico, tem alguma aplicações práticas em cenários de DataWarehouse, existe alguma literatura do Date, e de um outro autor chamado Zimanyi, Agregações Temporais.
Espero que ajude, em poucas linhas é complicado definir, recomendaria procurar alguma literatura especializada em modelagem de dados. Outra coisa, lembre das implicações práticas. A normalização excessiva provoca um aumento no número de tabelas uma vez que se cria conjuntos não redundantes de dados, porém mais conjuntos. Em alguns cenários como DataWarehouses, as regras de normalização são desrespeitadas, em função da modelagem de DW trabalhar com preceitos de modelagem dimensional, uma vez que a informação é entendida como um conjunto de fatos de negócio rodeados por dimensões desses fatos.