Resumo:
Atingir a Primeira forma normal (1FN) - Consiste em retirar tabelas aninhadas, ou seja, retirar atributos que possam conter um vetor de valores e transforma-los em uma tabela distinta.
Atingir a Segunda forma normal (2FN) - Além de estar na 1FN, é necessário eliminar as dependências funcionais, ou seja, retirar atributos que dependam funcionalmente somente de uma parte da chave primária. Note que se a chave primária não for composta, e estiver na 1FN, ela automaticamente estará na 2FN.
Atingir a Terceira Forma Normal (3FN) - Além de estar na 2FN, é necessário eliminar as dependências transitivas, ou seja, os atributos não podem depender funcionalmente de atributos não chaves.
Logo, alterinativa correta letra "b"
Na verdade, a letra a) é a definição para a FNBC e não apenas para a 3FN.
Utilizando como bibliografia Elmarsi / Navathe, "Sistemas de Banco de Dados 6ª Edição", Cap 15, pg 353-357.
A definição da geral 3FN diz: "Um esquema de relação R está na 3FN se toda vez que uma dependência funcional não trivial X-> A se mantiver em R, ou X for uma superchave de R ou A for um atributo principal de R"
Traduzindo, ou a parte esquerda da dependência funcional é superchave de R, ou a parte direita é atributo principal de R. Isso quer dizer que não necessariamente precisamos que o atributo dependa diretamente da chave para a 3FN, ele também pode ser um atributo principal (membro de qualquer chave candidata da relação) desta relação para que esta forma normal seja atingida.
Já a definição da FNBC é mais restrita: "Um esquema de relação R está na FNBC se toda vez que uma dependência funcional não trivial X-> A se mantiver em R, X for uma superchave de R". Vejam que nem aí podemos considerar a alternativa 100% correta, nem mesmo na FNBC pois a dependência funcional direta da chave primária é exigida (pode ser funcionalmente dependente de uma superchave).