Pular para o conteúdo principal

Questão de Banco de Dados — SQL — CESPE / CEBRASPE 2023

Banco de DadosSQL
Código
ce161054
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2023
Nível
Superior
Cargo
Analista - Especialização: Tecnologia
Com relação à tecnologia de desenvolvimento móvel, julgue o item subsecutivo.No SQLite 3, é possível criar uma tabela com três colunas, X, Y e Z, tal que essas colunas não possuam qualquer tipo de dado específico atribuído, ou seja, é possível armazenar o que se quiser em qualquer uma dessas colunas, pois o SQLite é flexível e indulgente em relação aos tipos de dados.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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”.

SQLite 3: Tipagem dinâmica e colunas sem tipo

Gabarito: Certo. No SQLite 3, é perfeitamente possível criar uma tabela com colunas que não possuam um tipo de dado específico atribuído. O SQLite adota tipagem dinâmica (manifest typing) e é flexível quanto a tipos: mesmo que uma coluna seja declarada sem um tipo (ou com tipo ausente), qualquer valor pode ser armazenado nela. Essa característica é intencional e faz parte do design do SQLite, que é descrito como "indulgente" em relação a tipos de dados.

A banca testa o conhecimento sobre o comportamento do SQLite em contraste com bancos relacionais tradicionais (como MySQL ou PostgreSQL), que exigem tipos fixos. No SQLite, é possível criar uma tabela simplesmente com CREATE TABLE t (X, Y, Z); e armazenar números, textos, datas etc. em qualquer uma das colunas, sem restrições.

Portanto, a afirmação está correta.

1Coluna sem tipo declarado
Qualquer valor armazenável
Número, texto, data, etc.
2Coluna com tipo declarado
Aceita valores de outros tipos
Exceção: INTEGER PRIMARY KEY
3Contraste com bancos tradicionais
MySQL / PostgreSQL
Tipo fixo obrigatório
Restrição de armazenamento
SQLite 3: Tipagem dinâmica
LEVELsoulevel.com.br
SQLite 3: Tipagem dinâmica: Coluna sem tipo declarado (Qualquer valor armazenável, Número, texto, data, etc.); Coluna com tipo declarado (Aceita valores de outros tipos, Exceção: INTEGER PRIMARY KEY); Contraste com bancos tradicionais (MySQL / PostgreSQL, Tipo fixo obrigatório, Restrição de armazenamento)

Alternativa C — ✅ Correta ⟵ GABARITO

A alternativa reproduz exatamente a flexibilidade do SQLite: é possível criar colunas sem tipo específico e armazenar qualquer dado nelas. O SQLite permite inclusive que, mesmo quando um tipo é declarado, valores de outros tipos sejam armazenados (com exceção de algumas regras de afinidade).

Alternativa E — ❌ Incorreta

Afirma que a afirmação é errada, o que não procede. O SQLite, de fato, permite a criação de colunas sem tipo e aceita qualquer tipo de dado. Não há obrigatoriedade de declaração de tipos.

PEGA ESSA DICA!

Em bancos relacionais tradicionais, a declaração de tipo é obrigatória e restritiva. O SQLite destoa por sua tipagem dinâmica. Questões do CESPE/CEBRASPE costumam explorar essa diferença. Lembre-se: no SQLite, "tudo vale" – a não ser que a coluna seja declarada com INTEGER PRIMARY KEY (que exige inteiro).

Link permanente: /questoes/ce161054