1FN, 2FN, 3FN no mesmo banco de dados é errado?
Galera, utilizar mais de uma norma na construção de um DB é errado? Ou isso vai de acordo com a necessidade de cada tabela?
Wellington Pereira
Curtidas 0
Melhor post
Alan Mario
16/06/2015
Vai de acordo com a necessidade:
Primeira Forma Normal (ou 1FN) requer que todos os valores de colunas em uma tabela sejam atômicos (ex., um número é um átomo, enquanto uma lista ou um conjunto não o são). A normalização para a primeira forma normal elimina grupos repetidos, pondo-os cada um em uma tabela separada, conectando-os com uma chave primária ou estrangeira.
Segunda Forma Normal (ou 2FN) requer que não haja dependência funcional não-trivial de um atributo que não seja a chave, em parte da chave candidata.
Terceira Forma Normal (ou 3FN) requer não haver dependências funcionais não-triviais de atributos que não sejam chave, em qualquer coisa exceto um superconjunto de uma chave candidata.
Forma Normal de Boyce-Codd (ou BCNF) requer que não exista nenhuma dependência funcional não-trivial de atributos em algo mais do que um superconjunto de uma chave candidata. Neste estágio, todos os atributos são dependentes de uma chave, de uma chave inteira e de nada mais que uma chave (excluindo dependências triviais, como A→A).
Quarta Forma Normal (ou 4FN) requer que não exista nenhuma dependência multi-valorada não-trivial de conjuntos de atributo em algo mais de que um superconjunto de uma chave candidata.
Quinta Forma Normal (ou 5FN ou PJ/NF) requer que não exista dependências de joins não triviais que não venham de restrições chave.
Domain-Key Normal Form (ou DK/NF) requer que todas as restrições sigam os domínios e restrições chave.
Primeira Forma Normal (ou 1FN) requer que todos os valores de colunas em uma tabela sejam atômicos (ex., um número é um átomo, enquanto uma lista ou um conjunto não o são). A normalização para a primeira forma normal elimina grupos repetidos, pondo-os cada um em uma tabela separada, conectando-os com uma chave primária ou estrangeira.
Segunda Forma Normal (ou 2FN) requer que não haja dependência funcional não-trivial de um atributo que não seja a chave, em parte da chave candidata.
Terceira Forma Normal (ou 3FN) requer não haver dependências funcionais não-triviais de atributos que não sejam chave, em qualquer coisa exceto um superconjunto de uma chave candidata.
Forma Normal de Boyce-Codd (ou BCNF) requer que não exista nenhuma dependência funcional não-trivial de atributos em algo mais do que um superconjunto de uma chave candidata. Neste estágio, todos os atributos são dependentes de uma chave, de uma chave inteira e de nada mais que uma chave (excluindo dependências triviais, como A→A).
Quarta Forma Normal (ou 4FN) requer que não exista nenhuma dependência multi-valorada não-trivial de conjuntos de atributo em algo mais de que um superconjunto de uma chave candidata.
Quinta Forma Normal (ou 5FN ou PJ/NF) requer que não exista dependências de joins não triviais que não venham de restrições chave.
Domain-Key Normal Form (ou DK/NF) requer que todas as restrições sigam os domínios e restrições chave.
GOSTEI 1
Mais Respostas
William
16/06/2015
Wellington, com certeza vai da necessidade da sua modelagem de dados, as vezes encaixa 2 ou 3 formas de normalização na sua modelagem ou até nenhuma forma (difícil)
Mas não existem restrições em aplicar todas formas se você quiser, claro que não será interessante srsr
Existem até vários artigos na WEB sobre DBAs principalmente em Oracle que pregam a "desnormalização" de tabelas para reduzir complexidade de querys.
Mas não existem restrições em aplicar todas formas se você quiser, claro que não será interessante srsr
Existem até vários artigos na WEB sobre DBAs principalmente em Oracle que pregam a "desnormalização" de tabelas para reduzir complexidade de querys.
GOSTEI 1
Wellington Pereira
16/06/2015
@Alan @Willian,
Muito obrigado pelas o informações, hehe é que fiz um DB relativamente grande para um sistema e fiquei com essa questão me atormentando ...
Muito obrigado pelas o informações, hehe é que fiz um DB relativamente grande para um sistema e fiquei com essa questão me atormentando ...
GOSTEI 0
Alan Mario
16/06/2015
Bancos grandes são consequentemente complexos na maioria dos casos, espero ter ajudado!
GOSTEI 0