Quem confunde chave primária com chave estrangeira erra a questão de modelo relacional e, na sequência, a de integridade referencial, porque as duas cobram o mesmo conceito.
Banco de dados em concurso se concentra em quatro blocos: conceitos de SGBD, modelo relacional com tabelas e chaves, linguagem SQL dividida em sublinguagens e noções de normalização, transações e backup. Para cargos administrativos a cobrança para no comando SELECT; para cargos de TI avança até modelagem, índices e propriedades ACID.

Atualizado em 5 de outubro de 2026.
Neste guia você encontra:
- O que é banco de dados e qual o papel do SGBD.
- O modelo relacional com tabela, tupla, atributo e chaves.
- A linguagem SQL e suas cinco sublinguagens, em tabela.
- Um exercício resolvido de consulta SQL.
- A comparação entre DELETE, TRUNCATE e DROP, que cai muito.
- Normalização e transações ACID explicadas sem jargão.
- Os erros mais comuns nas questões do tema.
- Resumo para revisão e perguntas frequentes.
O que é banco de dados e o que é um SGBD?
Banco de dados é uma coleção organizada de dados relacionados entre si. SGBD é a sigla de Sistema Gerenciador de Banco de Dados, o software que cria, consulta, altera e protege esse conjunto. A distinção entre os dois é a primeira pegadinha da matéria: o banco é o conteúdo, o SGBD é a ferramenta.
Exemplos de SGBD relacionais citados em edital: MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server e SQLite. Todos usam SQL como linguagem de consulta, com pequenas diferenças de dialeto que a prova raramente explora.
O que o SGBD entrega de concreto são quatro coisas: controle de acesso, controle de concorrência quando vários usuários mexem no mesmo dado, mecanismos de recuperação depois de uma falha e garantia de integridade das informações. Sem ele, cada aplicação teria de resolver isso por conta própria.
Esse assunto conversa diretamente com segurança da informação, porque disponibilidade, integridade e confidencialidade são justamente o que o SGBD precisa sustentar. Em órgãos públicos entra também a Lei Geral de Proteção de Dados, que no artigo 5º define dado pessoal como informação relacionada a pessoa natural identificada ou identificável, e cria obrigações para quem guarda esse dado em banco.
Modelo relacional: tabela, tupla, atributo e chaves.
O modelo relacional organiza os dados em tabelas de linhas e colunas. Cada termo técnico tem um equivalente informal, e a banca gosta de usar o técnico no enunciado e o informal nas alternativas.
| Termo técnico | Equivalente usual | O que é |
|---|---|---|
| Relação | Tabela | Estrutura que armazena dados de um mesmo tipo de entidade |
| Tupla | Linha ou registro | Uma ocorrência completa da entidade |
| Atributo | Coluna ou campo | Uma característica da entidade |
| Domínio | Tipo de dado | Conjunto de valores admitidos no atributo |
| Grau | Número de colunas | Quantidade de atributos da relação |
| Cardinalidade | Número de linhas | Quantidade de tuplas da relação |
Chave primária: identifica a linha sem ambiguidade.
A chave primária, abreviada como PK, identifica cada tupla de forma única. Duas regras caem sempre: ela não admite valor nulo e só existe uma por tabela, ainda que possa ser composta por mais de um atributo. Quando a banca diz que uma tabela tem duas chaves primárias, a assertiva está errada.
Chave estrangeira: liga uma tabela à outra.
A chave estrangeira, ou FK, é o atributo que aponta para a chave primária de outra tabela. Ela admite valor nulo, ao contrário da primária, e é o mecanismo que cria o relacionamento entre as tabelas. Guardar essa diferença de aceitação de nulo resolve metade das questões sobre chaves.
Integridade: as três que o edital cobra.
Integridade de entidade garante que a chave primária seja única e não nula. Integridade referencial garante que toda chave estrangeira aponte para um valor que realmente existe na outra tabela. Integridade de domínio garante que o valor gravado respeite o tipo e as restrições da coluna.
Chave candidata e chave alternativa.
Chave candidata é qualquer atributo que poderia ser a primária, por identificar a linha unicamente. Escolhida uma delas como primária, as demais passam a ser chamadas de chaves alternativas. É nomenclatura pura e vale ponto fácil quando aparece.
A linguagem SQL dividida em sublinguagens:
SQL significa Structured Query Language. Ela se divide em cinco grupos de comandos, e a prova costuma pedir a classificação de um comando dentro desses grupos.
| Sublinguagem | Para que serve | Comandos principais |
|---|---|---|
| DDL | Definir a estrutura do banco | CREATE, ALTER, DROP, TRUNCATE |
| DML | Manipular os dados das tabelas | INSERT, UPDATE, DELETE |
| DQL | Consultar dados | SELECT |
| DCL | Controlar permissões de acesso | GRANT, REVOKE |
| DTL | Controlar transações | COMMIT, ROLLBACK, SAVEPOINT |
A ordem das cláusulas do SELECT.
A ordem de escrita é fixa: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. A ordem de execução interna é diferente, e começa pelo FROM, depois WHERE, GROUP BY, HAVING, SELECT e por fim ORDER BY. Saber essa segunda ordem explica por que não se pode usar um apelido criado no SELECT dentro do WHERE.
WHERE e HAVING não são sinônimos.
O WHERE filtra linhas antes do agrupamento. O HAVING filtra grupos depois que o GROUP BY já agrupou, e por isso é o único que aceita função de agregação na condição. Essa diferença é a questão mais recorrente de SQL em prova de nível superior.
Funções de agregação e o detalhe do COUNT.
As cinco funções de agregação cobradas são COUNT, SUM, AVG, MIN e MAX. O detalhe que decide a questão está no COUNT: a forma com asterisco conta todas as linhas, inclusive as que têm valor nulo, enquanto a forma com nome de coluna ignora as linhas em que aquela coluna está nula.
Os tipos de JOIN.
INNER JOIN traz só as linhas com correspondência nas duas tabelas. LEFT JOIN traz todas as linhas da tabela da esquerda, com nulo onde não houver par. RIGHT JOIN faz o inverso. FULL JOIN traz tudo das duas. CROSS JOIN combina cada linha de uma com todas as linhas da outra, gerando o produto cartesiano.
Exercício resolvido de SQL:
Enunciado adaptado de prova para cargo de analista: na tabela SERVIDOR, com as colunas MATRICULA, NOME, LOTACAO e VENCIMENTO, qual consulta retorna apenas as lotações que possuem mais de dez servidores?
A resposta é a consulta que agrupa por lotação e filtra o grupo com HAVING, nesta forma: SELECT LOTACAO, COUNT(*) FROM SERVIDOR GROUP BY LOTACAO HAVING COUNT(*) acima de 10.
O erro de quem perde a questão é usar WHERE no lugar do HAVING. O WHERE é avaliado antes do agrupamento, quando o total de servidores por lotação ainda não existe, então a condição não pode ser escrita ali. A alternativa com WHERE sempre aparece entre as opções, exatamente para capturar esse candidato.
Repare no mecanismo: a banca não pediu para você escrever SQL de cabeça, pediu para reconhecer onde cada filtro atua. É por isso que resolver questões em banco de questões rende mais que decorar sintaxe.
DELETE, TRUNCATE e DROP: a comparação que mais cai.
Os três comandos apagam coisas, e é justamente por isso que a banca os coloca na mesma questão. A diferença está no que cada um remove e na possibilidade de desfazer.
| Comando | Sublinguagem | O que remove | Pode ser desfeito |
|---|---|---|---|
| DELETE | DML | Linhas, com ou sem condição no WHERE | Sim, com ROLLBACK antes do COMMIT |
| TRUNCATE | DDL | Todas as linhas, mantendo a estrutura | Normalmente não, porque não registra linha a linha |
| DROP | DDL | A tabela inteira, estrutura incluída | Não, a tabela deixa de existir |
A regra prática para a prova: DELETE mexe no conteúdo e é reversível, TRUNCATE limpa tudo rapidamente, DROP destrói o objeto. Confundir TRUNCATE com DELETE é o erro clássico, e vem do fato de os dois deixarem a tabela vazia.
Normalização e transações ACID:
As três formas normais que caem em prova.
A primeira forma normal exige que todos os atributos sejam atômicos, ou seja, sem campos multivalorados nem grupos repetidos. A segunda exige a primeira mais a eliminação de dependências parciais da chave. A terceira exige a segunda mais a eliminação de dependências transitivas, aquelas em que um atributo depende de outro atributo que não é chave.
Para que serve normalizar?
Para reduzir redundância e evitar anomalias de inserção, alteração e exclusão. O efeito colateral é o aumento do número de tabelas e de junções nas consultas, e é por isso que sistemas voltados a relatório às vezes fazem o caminho inverso, chamado desnormalização.
As quatro propriedades ACID.
Atomicidade significa que a transação acontece inteira ou não acontece. Consistência significa que o banco sai de um estado válido para outro estado válido. Isolamento significa que transações simultâneas não interferem umas nas outras. Durabilidade significa que o resultado confirmado sobrevive a uma falha do sistema.
Bancos NoSQL aparecem no edital?
Aparecem em cargos de TI, em nível de conceito. São quatro famílias: chave-valor, documento, colunar e grafo. A característica comum é dispensar o esquema rígido de tabelas do modelo relacional, o que os torna úteis para volumes grandes e estruturas variáveis. Para cargos administrativos esse tópico raramente é cobrado.
Erros mais comuns em questões de banco de dados:
- Dizer que chave estrangeira não aceita nulo. A primária não aceita; a estrangeira aceita.
- Usar WHERE com função de agregação. Só o HAVING aceita, porque atua depois do agrupamento.
- Classificar TRUNCATE como DML. Ele é DDL, apesar de apagar dados.
- Tratar banco de dados e SGBD como a mesma coisa. Um é o acervo de dados, o outro é o software que o gerencia.
- Confundir grau com cardinalidade. Grau é número de colunas, cardinalidade é número de linhas.
- Achar que COUNT com nome de coluna conta linhas nulas. Ele ignora os nulos daquela coluna.
Esses deslizes seguem o mesmo padrão dos erros em redes de computadores e em computação em nuvem: troca de uma palavra dentro de uma definição correta.
Resumo para revisão rápida:
- Banco de dados é o acervo; SGBD é o software que gerencia esse acervo.
- Tabela equivale a relação, linha a tupla, coluna a atributo.
- Chave primária é única e não nula; chave estrangeira aponta para a primária de outra tabela e aceita nulo.
- SQL se divide em DDL, DML, DQL, DCL e DTL.
- WHERE filtra linhas antes do agrupamento; HAVING filtra grupos depois.
- DELETE é DML e reversível; TRUNCATE e DROP são DDL.
- Normalizar reduz redundância em três formas normais principais.
- ACID reúne atomicidade, consistência, isolamento e durabilidade.
Para fechar o bloco de informática do edital, estude em seguida hardware e software, as fórmulas de Excel e os tipos de malware, que completam o conteúdo mais cobrado. Quem já tem base pode conferir o panorama de concursos na área de TI e de ISO 27001.
O caminho mais curto é resolver as provas anteriores da banca do seu edital, anotar o que errou em um caderno de erros e revisar com revisão espaçada antes de cada simulado. O panorama geral da disciplina está no guia de informática para concurso.
Perguntas frequentes:
O que cai de banco de dados em concurso?
Conceitos de banco e de SGBD, modelo relacional com tabelas e chaves, comandos SQL por sublinguagem, normalização e transações. Em cargos administrativos a cobrança fica nos conceitos e no comando SELECT. Em cargos de TI entram modelagem, índices, propriedades ACID e noções de NoSQL.
Qual a diferença entre chave primária e chave estrangeira?
A chave primária identifica cada linha de forma única, não aceita valor nulo e existe apenas uma por tabela. A chave estrangeira aponta para a chave primária de outra tabela, aceita valor nulo e serve para criar o relacionamento entre as duas. É a diferença de aceitação de nulo que a banca cobra com mais frequência.
Preciso saber escrever SQL para a prova?
Para cargos administrativos, não: basta reconhecer o que cada comando faz e classificá-lo na sublinguagem correta. Para cargos de TI, sim, porque a prova apresenta consultas completas e pede o resultado ou o erro. Em qualquer dos casos, treinar leitura de consulta vale mais que decorar sintaxe.
Qual a diferença entre DELETE e TRUNCATE?
DELETE é comando DML, remove linhas conforme a condição informada e pode ser desfeito com ROLLBACK antes do COMMIT. TRUNCATE é comando DDL, remove todas as linhas de uma vez mantendo a estrutura da tabela e normalmente não pode ser desfeito. Os dois deixam a tabela vazia, mas por caminhos diferentes.
O que significa normalizar um banco de dados?
Significa reorganizar as tabelas para eliminar redundância e evitar anomalias ao inserir, alterar ou excluir dados. O processo segue formas normais, e a prova cobra sobretudo as três primeiras. O custo da normalização é o aumento de tabelas e de junções nas consultas.
Feche o bloco de informática sem deixar buraco no edital.
Banco de dados é um dos tópicos em que o candidato acha que sabe porque entendeu a explicação, e depois erra a questão por causa de uma palavra trocada na definição. No Portal Concursos você estuda com aula, questões do assunto e revisão na ordem certa dentro do plano de estudos integrado, e treina em banco de questões com provas reais das bancas. Conheça o curso e confira o conteúdo para começar pelo bloco de informática.