Questão de Banco de Dados — PostgreSQL — FCC 2017
- Código
- fc036406
- Banca
- FCC
- Órgão
- DPE-RS
- Ano
- 2017
- Nível
- Superior
- Cargo
- Analista - Banco de Dados
- AUSEDB template0
- BSTANDARDDB template0
- CWITH template0
- DHAVING template0
- Eteste TEMPLATE template0
GabaritoE — teste TEMPLATE template0
Gabarito: letra E. A sintaxe correta para criar um banco de dados a partir do template0 é CREATE DATABASE teste TEMPLATE template0. No PostgreSQL, o comando CREATE DATABASE aceita a cláusula TEMPLATE para especificar qual banco de dados template usar (template0 ou template1). A alternativa E é a única que completa corretamente o comando.
A questão testa o conhecimento da sintaxe específica do PostgreSQL. O enunciado informa que há duas bases padrão (template0 e template1) e pergunta qual comando usar para criar o banco "teste" a partir do template0. A sintaxe é: CREATE DATABASE nome_banco TEMPLATE nome_template. Portanto, a opção que preenche a lacuna com "teste TEMPLATE template0" está correta.
A palavra USEDB não faz parte da sintaxe de criação de banco de dados no PostgreSQL. A cláusula correta é TEMPLATE.
STANDARDDB não é uma cláusula válida. O comando correto não utiliza esse termo.
WITH é uma cláusula usada em outros comandos (ex.: CREATE TABLE), mas no CREATE DATABASE a cláusula para especificar template é TEMPLATE, não WITH.
HAVING é usado em consultas (GROUP BY HAVING), não em CREATE DATABASE. A cláusula correta é TEMPLATE.
A sintaxe teste TEMPLATE template0 completa o comando CREATE DATABASE de forma válida: CREATE DATABASE teste TEMPLATE template0. Isso cria o banco "teste" copiando a estrutura e dados do template0.
A banca insere termos comuns do SQL (USEDB, WITH, HAVING) para confundir quem não conhece a sintaxe específica do PostgreSQL. A chave é lembrar que a cláusula é TEMPLATE e que a palavra "teste" (nome do banco) deve vir imediatamente após CREATE DATABASE.
Gabarito: letra E
Link permanente: /questoes/fc036406