Deseja-se escrever um comando SQL para criar uma tabela denominada Aluno, com os campos Nome, Tipo e Curso, todos do tipo caractere, com 20 caracteres cada um, sendo Nome a chave primária. A forma correta para a escrita desse comando é:
- A)CREATE TABLE Aluno (Nome, Tipo, Curso CHAR (20), Nome PRIMARY KEY);
Errada, porque nao define corretamente o tipo de todos os campos e ainda coloca PRIMARY KEY de forma solta, fora da sintaxe SQL.
- B)CREATE TABLE Aluno (Nome PRIMARY KEY, CHAR (20) FOR Nome, Tipo, Curso);
Errada, porque inverte a ordem da declaracao e usa uma estrutura que nao existe, como 'CHAR(20) FOR Nome'.
- C)CREATE TABLE Aluno (PRIMARY KEY → Nome CHAR (20) AND, TIPO, Curso CHAR (20));
Errada, porque usa simbolos e conectivos que nao pertencem ao comando CREATE TABLE em SQL.
- D)CREATE TABLE Aluno (Nome CHAR (20), PRIMARY KEY, Tipo, Curso ALL CHAR (20));
Errada, porque mistura a posicao da chave primaria com uma descricao de tipo de dados incorreta, como 'ALL CHAR(20)'.
- E)CREATE TABLE Aluno (Nome CHAR (20) PRIMARY KEY,Tipo CHAR (20), Curso CHAR (20));
Certa, porque define cada coluna com CHAR(20) e marca Nome como PRIMARY KEY na propria declaracao da coluna.
Gabarito: E
Para criar uma tabela em SQL, voce precisa informar o nome da tabela, os campos, seus tipos e, quando for o caso, as restricoes. Aqui, a questao quer uma tabela Aluno com Nome, Tipo e Curso, todos como caracteres de 20 posicoes, e com Nome como chave primaria. A estrutura correta, em termos de sintaxe, segue a ideia de declarar cada coluna com seu tipo e, na propria definicao da coluna, indicar a restricao de primary key quando ela recai sobre um unico campo. No SQL padrao, isso costuma aparecer assim: Nome CHAR(20) PRIMARY KEY, Tipo CHAR(20), Curso CHAR(20). Repare que a chave primaria pode ser definida diretamente na coluna, sem precisar criar uma linha separada para isso. Como a chave primaria identifica unicamente cada registro, ela nao pode se repetir nem aceitar valores nulos. A alternativa E esta correta porque traz exatamente essa estrutura: Nome com CHAR(20) e PRIMARY KEY, e os outros campos tambem como CHAR(20). As demais alternativas embaralham a sintaxe, omitem o tipo de dados ou tentam colocar a restricao de forma errada. Em questoes de concurso, a banca gosta de testar se voce sabe que SQL nao aceita inventar setas, ANDs ou palavras soltas no meio da definicao da tabela. Em termos doutrinarios e praticos, a regra geral vem do padrao SQL e da implementacao dos SGBDs: primeiro voce define os atributos e seus tipos, depois aplica as restricoes, seja na propria coluna, seja ao final do CREATE TABLE. Para uma chave primaria simples, a forma na propria coluna e perfeitamente valida e muito usada.