Índice:
- Definição - O que significa a Terceira Forma Normal (3NF)?
- Techopedia explica Terceira Forma Normal (3NF)
Definição - O que significa a Terceira Forma Normal (3NF)?
A terceira forma normal (3NF) é a terceira etapa na normalização de um banco de dados e baseia-se na primeira e na segunda formas normais, 1NF e 2NF.
3NF afirma que todas as referências de coluna nos dados referenciados que não dependem da chave primária devem ser removidas. Outra maneira de colocar isso é que apenas colunas de chave estrangeira devem ser usadas para referenciar outra tabela e nenhuma outra coluna da tabela pai deve existir na tabela referenciada.
Techopedia explica Terceira Forma Normal (3NF)
Considere o banco de dados de um banco, que contém duas tabelas: CUSTOMER_MASTER para armazenar detalhes do cliente e ACCOUNT_MASTER para armazenar detalhes sobre contas bancárias, incluindo qual cliente possui qual conta. Nesse caso, é preciso haver uma maneira de vincular as duas tabelas para vincular uma conta ao cliente que a possui. A maneira de fazer isso é através de uma chave estrangeira. Esta é uma coluna na tabela ACCOUNT_MASTER que aponta ou faz referência a uma coluna correspondente (chamada chave primária) na tabela pai CUSTOMER_MASTER. Vamos chamar essa coluna de CustID.
Suponha que o cliente Andrew Smith crie uma conta na tabela CUSTOMER_MASTER com o CustID 20454. O Sr. Smith possui uma conta poupança com o número S-200802-005, cujos detalhes são armazenados na tabela ACCOUNT_MASTER. Isso significa que a tabela ACCOUNT_MASTER terá uma coluna chamada CustID, que não é uma parte original dos dados. Em vez disso, também possui o valor 20454, que simplesmente faz referência ao mesmo CustID na tabela CUSTOMER_MASTER.
Agora, o 3NF determina que, em nossa tabela ACCOUNT_MASTER, as únicas informações que mantemos sobre o cliente devem ser o CustID (20454) como uma chave estrangeira, e se refere e identifica o cliente que possui esse mesmo CustID na tabela CUSTOMER_MASTER (Andrew Smith ) Nenhum outro dado sobre nosso cliente (como nome, data de nascimento, sexo etc.) deve ser armazenado na tabela ACCOUNT_MASTER ou em qualquer outra tabela, porque todos esses dados sobre ele já estão armazenados em CUSTOMER_MASTER. Ao fazer isso, os únicos dados do cliente armazenados fora da tabela CUSTOMER_MASTER são o CustID. Isso gera bons dividendos, garantindo que não haja duplicação de dados, o que, por sua vez, faz com que as consultas sejam executadas com muito mais eficiência e reduz a quantidade de armazenamento necessária.