Alguém pode comentar estas colocações abaixo?
1- VARCHAR
Atualmente (até a versão 11G do Oracle Database), VARCHAR nada mais é do que um sinônimo paraVARCHAR2 (desde o Oracle8), por isso a Oracle recomenda não utilizar este tipo de dado. Existe a possibilidade deVARCHAR ser utilizado em versões futuras para ter uma semântica ou característica diferente de VARCHAR2, mas mesmo, estando tudo igual atualmente, utilizeVARCHAR2 ao invés de VARCHAR, para evitar possíveis problemas futuros.
2- VARCHAR2
VARCHAR2 armazena caracteres alfanuméricos de tamanho variável, entre 1 e 4000 bytes oucaracteres. O tamanho padrão desta coluna é especificado em bytes. Agora vem a pergunta, qual a diferença entre armazenar bytes ou caracteres? Bom... quando utilizamos caracteres multibyte, como por exemplo UTF-8 (para representar caracteres específicos em múltiplas linguagens), 1 único caractere pode ser armazenado em até 3 bytes. Nestes casos, uma palavra contendo caracteres especiais, como por exemplo, FÁBIO, poderá ter mais bytes do que caracteres (a letra Á, internamente será armazenada em 2 ou 3 bytes), por isso, recomenda-se, nestes casos, especificar o armazenamento da coluna em caracteres, ao invés de bytes.
http://www.fabioprado.net/2011/08/qual-tipo-de-dado-devo-usar-char.html
Com relação a questão:
a) AUTO_NUMBERING é utilizado no Excel e não em SQL
b) Fiquei na dúvida em saber se o erro está em utilizar VARCHAR2() ou a utilização do NULLABLE (algúem ajuda?)
c) Sintaxe correta
d)PRIMARY_KEY não utiliza o caractere "_" ver opção anterior para observar a sintaxe correta
e)AUTO_INCREMENT não o correto é AUTOINCREMENT. O comando PRIMARY_KEY além de estar escrito errado pode ser adicionada como mostra o link a seguir: http://www.1keydata.com/pt/sql/sql-chave-primaria.php
O problema da alternativa B é a instrução NULLABLE (que não existe).
Toda coluna que não componha a chave primária e que não tenha a especificação NOT NULL aceitará valores nulos por padrão.
"AUTO_INCREMENT" funciona apenas para MySQL. No SQL Server, por exemplo, você deveria usar IDENTITY. Já no Oracle você deve usar um outro objeto denominado "sequence".
Para validar as instruções acima use um validador de sintaxe, no caso abaixo funciona apenas para MySQL (que é o SGBD alvo da questão).
http://pt.piliapp.com/mysql-syntax-check/