- Na 2NF, o relacional deve estar na 1NF.
- Na segunda forma normal, todos os atributos não-chave são totalmente funcionais, dependendo da chave primária
Exemplo: Vamos supor que uma escola possa armazenar os dados dos professores e das disciplinas que eles ensinam. Em uma escola, um professor pode ministrar mais de uma matéria.
Mesa PROFESSOR
TEACHER_ID | ASSUNTO | TEACHER_AGE |
---|---|---|
25 | Química | 30 |
25 | Biologia | 30 |
47 | Inglês | 35 |
83 | Matemática | 38 |
83 | Computador | 38 |
Na tabela fornecida, o atributo não principal TEACHER_AGE depende de TEACHER_ID, que é um subconjunto adequado de uma chave candidata. É por isso que viola a regra da 2NF.
Para converter a tabela fornecida em 2NF, nós a decompomos em duas tabelas:
Tabela TEACHER_DETAIL:
TEACHER_ID | TEACHER_AGE |
---|---|
25 | 30 |
47 | 35 |
83 | 38 |
Tabela TEACHER_SUBJECT:
TEACHER_ID | ASSUNTO |
---|---|
25 | Química |
25 | Biologia |
47 | Inglês |
83 | Matemática |
83 | Computador |