Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FCC 2017

Banco de DadosPostgreSQL
Código
fc036406
Banca
FCC
Órgão
DPE-RS
Ano
2017
Nível
Superior
Cargo
Analista - Banco de Dados
No sistema gerenciador de banco de dados PostgreSQL 8 (versão 8.3) há duas bases de dados padrão utilizadas quando se cria uma nova base de dados. Se o objetivo for utilizar a base de dados padrão denominada template0, o comando a ser empregado na criação da base de dados teste, é CREATE DATABASE
  1. AUSEDB template0
  2. BSTANDARDDB template0
  3. CWITH template0
  4. DHAVING template0
  5. Eteste TEMPLATE template0
Revelar gabarito e comentário

GabaritoE — teste TEMPLATE template0

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

PostgreSQL: comando CREATE DATABASE com TEMPLATE

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.

1Sintaxe
CREATE DATABASE nome_banco
TEMPLATE nome_template
2Templates padrão
template0
template1
3Cláusulas inválidas
USEDB
STANDARDDB
WITH
HAVING
CREATE DATABASE (PostgreSQL)
LEVELsoulevel.com.br
CREATE DATABASE (PostgreSQL): Sintaxe (CREATE DATABASE nome_banco, TEMPLATE nome_template); Templates padrão (template0, template1); Cláusulas inválidas (USEDB, STANDARDDB, WITH, HAVING)

Alternativa A — ❌ Incorreta

A palavra USEDB não faz parte da sintaxe de criação de banco de dados no PostgreSQL. A cláusula correta é TEMPLATE.

Alternativa B — ❌ Incorreta

STANDARDDB não é uma cláusula válida. O comando correto não utiliza esse termo.

Alternativa C — ❌ Incorreta

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.

Alternativa D — ❌ Incorreta

HAVING é usado em consultas (GROUP BY HAVING), não em CREATE DATABASE. A cláusula correta é TEMPLATE.

Alternativa E — ✅ Correta ⟵ GABARITO

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.

NÃO CAIA NESSA!

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