Questão de Banco de Dados — SQL — Quadrix 2024
- Código
- qg352874
- Banca
- Quadrix
- Órgão
- CRQ - 12ª Região (GO, TO e DF)
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista de T.I.

- CCerto
- EErrado

GabaritoE — Errado
Gabarito: ERRADO (letra E). A afirmação está incorreta porque, no script apresentado, as linhas 5, 11 e 19 já possuem vírgula ao final — a linha 5 termina com Telefone INT NOT NULL,, a linha 11 com Composicao VARCHAR (300), e a linha 19 com FOREIGN KEY (Cod_Produto_Quimico) REFERENCES Produto_Quimico(Cod _Produto_Quimico),. Portanto, não é necessário incluir vírgula alguma; a premissa do item é falsa.
A questão testa o conhecimento da sintaxe do comando CREATE TABLE na linguagem SQL, especificamente o uso da vírgula como separador entre as definições de colunas e restrições de uma tabela. Na criação de uma tabela, a vírgula é um elemento obrigatório entre cada definição de coluna ou restrição, mas não deve ser utilizada após a última definição, antes do fechamento do parêntese. O script do enunciado segue exatamente essa regra: cada linha que define uma coluna ou restrição termina com vírgula, exceto a última, que termina com o fechamento do parêntese e o ponto e vírgula que encerra o comando.
Vamos analisar o script linha por linha para verificar a correção da sintaxe. Na primeira tabela, Empresa, temos as colunas Cod_Empresa (chave primária), Nome, Endereco e Telefone. Cada uma dessas definições é separada por vírgula, e a última (Telefone INT NOT NULL) não possui vírgula, pois é a última coluna antes do fechamento do parêntese. Na segunda tabela, Produto_Quimico, a lógica se repete: Cod_Produto_Quimico (chave primária), Nome e Composicao. A terceira tabela, Empresa_Produto_Quimico, é uma tabela de associação que possui duas colunas que são chaves estrangeiras, e a definição da chave primária composta e das chaves estrangeiras. Novamente, cada definição é separada por vírgula, e a última (FOREIGN KEY (Cod_Produto_Quimico) REFERENCES Produto_Quimico(Cod _Produto_Quimico)) não possui vírgula, pois é a última antes do fechamento do parêntese.
A banca, ao afirmar que é necessário incluir vírgula nas linhas 5, 11 e 19, tenta induzir o candidato a acreditar que essas linhas estão sem o separador. No entanto, uma leitura atenta do script revela que todas as linhas mencionadas já contêm a vírgula. A linha 5 é Telefone INT NOT NULL, — note a vírgula após NULL. A linha 11 é Composicao VARCHAR (300), — note a vírgula após o parêntese. A linha 19 é FOREIGN KEY (Cod_Produto_Quimico) REFERENCES Produto_Quimico(Cod _Produto_Quimico), — note a vírgula após o fechamento do parêntese da referência. Portanto, a premissa do item é falsa, e o item está errado.
A pegadinha aqui é a tentativa de fazer o candidato acreditar que há um erro de sintaxe onde não há. O candidato que não lê o script com atenção pode marcar "certo" por achar que a afirmação é plausível, mas a verificação linha a linha mostra que a vírgula já está presente. É um teste de atenção aos detalhes, comum em questões de SQL.
A afirmação de que é necessário incluir uma vírgula ao final das linhas 5, 11 e 19 é falsa. Conforme analisado, essas linhas já possuem a vírgula em sua estrutura. A linha 5 (Telefone INT NOT NULL,), a linha 11 (Composicao VARCHAR (300),) e a linha 19 (FOREIGN KEY (Cod_Produto_Quimico) REFERENCES Produto_Quimico(Cod _Produto_Quimico),) terminam com vírgula, que é o separador correto entre as definições de colunas e restrições. Portanto, o script, como apresentado, está sintaticamente correto e não requer nenhuma adição de vírgula. O item está errado.
A banca tenta fazer você acreditar que há um erro de sintaxe onde não há. A premissa do item é falsa porque as linhas 5, 11 e 19 já terminam com vírgula. A armadilha é a falta de atenção: quem não lê o script com cuidado pode marcar "certo" por achar a afirmação plausível. A dica é sempre verificar linha a linha a sintaxe do comando antes de julgar.
Gabarito: letra E (ERRADO).
Link permanente: /questoes/qg352874