Concursos Públicos

SQL e NoSQL em provas de Banco de Dados

Banco de Dados SQL e NoSQL são um dos temas mais recorrentes em concursos de diversas carreiras: fiscais, controle, policiais, TI. Precisamos dominar desde os fundamentos do modelo relacional até as diferenças entre bancos SQL e NoSQL.

Questões recentes demonstram que as bancas exigem não apenas o conhecimento de comandos de manipulação de dados, mas também a compreensão de conceitos de normalização, integridade e estruturas auxiliares como índices, visões e triggers.

Portanto, neste artigo, vamos revisar os seguintes tópicos:

  • Conceitos fundamentais de bancos de dados relacionais
  • Linguagem SQL: estrutura e cobrança em concursos
  • Normalização e integridade dos dados em bancos relacionais
  • Estruturas auxiliares em bancos de dados
  • SQL x NoSQL: diferenças essenciais

Conceitos Fundamentais de Bancos de Dados Relacionais

O modelo relacional, proposto por Edgar F. Codd na década de 1970, organiza os dados em tabelas (relações). Cada tabela é formada por:

  • Linhas (tuplas) – os registros armazenados;
  • Colunas (atributos) – os campos de cada registro;
  • Chave primária – identifica unicamente cada linha;
  • Chaves estrangeiras – garantem relacionamentos entre tabelas.

Além disso, nós devemos entender as diferentes classificações de chaves:

Tipo de chaveDefinição
SuperchaveConjunto de atributos que identifica unicamente uma tupla
Chave candidataSuperchave mínima, da qual uma é escolhida como chave primária
Chave estrangeiraAtributo que referencia a chave primária de outra tabela

Esses conceitos costumam ser cobrados de forma conceitual e também em exercícios práticos de modelagem.

Linguagem SQL: Estrutura e Cobrança em Concursos

A SQL (Structured Query Language) é dividida em três subconjuntos principais:

CategoriaFunçãoExemplos de comandos
DDL (Data Definition Language)Define a estrutura do bancoCREATE TABLE, ALTER TABLE, DROP TABLE
DML (Data Manipulation Language)Manipula e consulta dadosINSERT, UPDATE, DELETE, SELECT
DCL (Data Control Language)Controla permissões de acessoGRANT, REVOKE

Embora alguns materiais utilizem a sigla DQL para destacar os comandos de consulta, como SELECT, nós devemos lembrar que a classificação mais aceita é incluir essa instrução dentro da DML, já que também manipula dados.

O SELECT é, de longe, o comando mais cobrado em concursos. Bancas exploram filtros com WHERE, junções (JOIN) e agrupamentos (GROUP BY e HAVING).

Exemplo clássico:

SELECT departamento, AVG(salario)

FROM funcionarios

GROUP BY departamento

HAVING AVG(salario) > 5000;

Nesse caso, a diferença entre WHERE e HAVING costuma ser alvo de pegadinha: WHERE filtra linhas antes da agregação, enquanto HAVING atua depois da agregação.

Normalização e Integridade dos Dados em Bancos Relacionais

A normalização organiza os dados em estruturas mais eficientes, reduzindo redundâncias e evitando anomalias em bancos relacionais.

Forma NormalCondiçãoProblemas evitados
1FNTodos os atributos atômicos, sem valores multivaloradosElimina atributos compostos ou repetidos
2FNEstar em 1FN e não ter dependência parcial em chave compostaElimina redundâncias em tabelas com chaves compostas
3FNEstar em 2FN e não ter dependências transitivasEvita anomalias de atualização
FNBCTodo determinante deve ser chave candidataElimina dependências funcionais indevidas

Exemplo de 2FN (dependência parcial):

Uma tabela (id_pedido, id_produto, nome_produto, quantidade) tem chave primária composta (id_pedido, id_produto). O atributo nome_produto depende apenas de id_produto, não da chave completa. Para corrigir, nós devemos separar em duas tabelas: Produtos e Pedidos_Produtos.

Exemplo de 3FN (dependência transitiva):
Em uma tabela de empréstimos, (codigo_emprestimo, cpf_cliente, nome_cliente, nome_agente, email_agente), os atributos nome_agente e email_agente não dependem do empréstimo em si, mas do agente. Isso é uma dependência transitiva e deve ser corrigido com a decomposição em tabelas diferentes.

Essas distinções entre 2FN e 3FN aparecem frequentemente em questões de certo/errado.

Estruturas Auxiliares em Bancos de Dados

Além das tabelas, contamos com estruturas adicionais que aumentam a eficiência e permitem automatizar tarefas.

Índices

São estruturas que aceleram a busca de registros no banco de dados.

  • B-Tree: padrão, indicado para atributos com alta variedade de valores.
  • Bitmap: eficiente em colunas com poucos valores distintos (ex: estados, sexo).

Pegadinha comum: acreditar que índices sempre melhoram desempenho. Eles aceleram consultas, mas podem tornar operações de inserção e atualização mais lentas.

Views (Visões)

São tabelas virtuais criadas a partir de consultas SQL.

  • View comum: não armazena dados, apenas a instrução.
  • View materializada: armazena os resultados, sendo útil para consultas complexas e repetitivas.

Triggers

São gatilhos que executam automaticamente instruções no banco de dados em resposta a eventos DML.
Funcionam no modelo evento-condição-ação.

Tipo de TriggerQuando executa
BEFORE INSERTAntes da inserção, podendo ajustar valores
AFTER INSERTApós a inserção e validações
BEFORE UPDATEAntes da atualização, permitindo verificar regras
AFTER DELETEApós a exclusão de registros

SQL x NoSQL: Diferenças Essenciais

Os bancos NoSQL foram criados para lidar com grandes volumes de dados, escalabilidade horizontal e estruturas mais flexíveis.

ModeloEstruturaExemplos de uso
Relacional (SQL)Tabelas normalizadas, forte consistênciaSistemas financeiros, ERPs
Documentos (NoSQL)Estruturas JSON ou BSONAplicações web, catálogos
Chave-valor (NoSQL)Pares simples chave → valorCache, rankings de jogos
Colunar (NoSQL)Armazenamento por colunasBig Data, análise em larga escala
Grafos (NoSQL)Nós e arestasRedes sociais, recomendações

Pegadinha frequente: afirmar que NoSQL é ideal para transações complexas e rígidas. Isso está incorreto, já que o modelo relacional ainda é o mais indicado para cenários de forte consistência.

Conclusão

Vimos que o estudo de Banco de Dados (SQL e NoSQL) é essencial para concursos com conteúdo de TI. Precisamos dominar:

  • O modelo relacional e suas chaves;
  • Os principais comandos SQL (DDL, DML e DCL);
  • A normalização até FNBC, compreendendo diferenças entre 2FN e 3FN;
  • Estruturas auxiliares como índices, views e triggers;
  • As vantagens e limitações dos bancos NoSQL.

Além disso, observamos que as bancas exploram desde conceitos básicos de banco de dados até detalhes de sintaxe e pegadinhas de interpretação.

Estude conosco para Concursos Públicos

Chegamos ao final do artigo! Esperamos que este conteúdo tenha te ajudado a acertar uma questão a mais sobre banco de dados na prova.

Porém, recomendamos que este artigo seja utilizado como complemento de estudo, priorizando sempre os materiais do Estratégia Concursos, que trazem a teoria aprofundada e questões comentadas.

Bons estudos!

https://aws.amazon.com/pt/compare/the-difference-between-relational-and-non-relational-databases

https://www.alura.com.br/artigos/sql-nosql-bancos-relacionais-nao-relacionais

Concursos Abertos

Concursos 2026

Igor Pires Ferreira

Posts recentes

Concurso TCE SC: salários iniciais de R$ 18 mil!

Concurso TCE SC: inscrições já estão abertas! Estão oficialmente abertas as inscrições do concurso público…

17 minutos atrás

Concursos ISS 2026: as principais chances de fiscos municipais

Quer ficar por dentro de todos os concursos fiscais de âmbito municipal (ISS) previstos para…

9 minutos atrás

Concursos Fiscais 2026: salários acima dos R$ 30 mil!

Quer ficar por dentro de todos os concursos fiscais previstos para 2026, além de oportunidades…

11 minutos atrás

Edital TCE SC 2026: inscrições ABERTAS!

Estão oficialmente abertas as inscrições do edital Tribunal de Contas do Estado de Santa Catarina (TCE…

21 minutos atrás

Concurso Viana Saúde ES: gabaritos divulgados; confira!

Oportunidades do concurso Viana Saúde são para cargos de níveis médio e superior! Estão disponíveis…

21 minutos atrás

Concurso Camboriú Saúde SC: banca definida; até R$ 15,9 mil

Novo edital do concurso Camboriú Saúde ofertará 9 vagas imediatas e em cadastro de reserva!…

31 minutos atrás