Banco de Dados Relacional e SQL: Fundamentos e Comandos Essenciais

Por
Publicado em
5 min. de leitura

Introdução

Olá, querida(o) estudante! Neste artigo, vamos estudar um dos pilares da Tecnologia da Informação e um dos temas mais cobrados em concursos: os bancos de dados relacionais e a linguagem SQL.

Praticamente todo sistema precisa armazenar, consultar e manipular dados. Para isso, o modelo relacional se tornou o padrão mais utilizado, justamente por sua organização estruturada e pela capacidade de representar relações entre diferentes conjuntos de informações.

Ao longo deste artigo, você vai entender como os dados são organizados em tabelas, qual o papel das chaves primárias e estrangeiras, e como a linguagem SQL permite interagir com essas estruturas. Além disso, vamos analisar questões de concurso que exploram exatamente esses conceitos.


Modelo Relacional: organização dos dados

O modelo relacional organiza os dados em tabelas (também chamadas de relações). Cada tabela é composta por linhas e colunas, onde:

  • cada linha representa um registro (tupla)
  • cada coluna representa um atributo

Por exemplo, uma tabela de usuários pode conter colunas como nome, idade e e-mail, e cada linha corresponde a um usuário específico.

Essa organização facilita a consulta, a manutenção e o relacionamento entre diferentes conjuntos de dados.


Chave primária: identificação única

Dentro de uma tabela, é fundamental garantir que cada registro possa ser identificado de forma única. Para isso, utilizamos a chave primária (Primary Key).

A chave primária:

  • não pode ter valores duplicados
  • não pode ser nula
  • identifica unicamente cada registro

Por exemplo, em uma tabela de clientes, o campo “id” geralmente é a chave primária.

Esse conceito é extremamente cobrado em provas, principalmente em questões conceituais.


Chave estrangeira: relacionamento entre tabelas

Enquanto a chave primária identifica registros dentro de uma tabela, a chave estrangeira (Foreign Key) é utilizada para criar relações entre tabelas.

Ela funciona como uma referência à chave primária de outra tabela.

Por exemplo:

  • uma tabela “Pedidos” pode ter um campo “id_cliente”
  • esse campo referencia a chave primária da tabela “Clientes”

Isso permite estabelecer vínculos entre dados, mantendo a consistência das informações.


Integridade referencial

A utilização de chaves estrangeiras garante a chamada integridade referencial.

Isso significa que:

  • não é possível inserir um valor de chave estrangeira que não exista na tabela referenciada
  • não é possível excluir um registro que está sendo referenciado por outro (dependendo da regra definida)

Esse mecanismo evita inconsistências e dados “órfãos” no banco.


Linguagem SQL: visão geral

A SQL (Structured Query Language) é a linguagem padrão para trabalhar com bancos de dados relacionais.

Ela é dividida em categorias principais:

  • DDL (Data Definition Language) → definição de estrutura
  • DML (Data Manipulation Language) → manipulação de dados
  • DQL (Data Query Language) → consulta

Essa divisão ajuda a entender melhor o papel de cada comando.


Comandos DDL: estrutura do banco

Os comandos DDL são usados para definir e modificar a estrutura do banco de dados.

Entre os principais:

  • CREATE TABLE → cria uma tabela
  • ALTER TABLE → altera a estrutura de uma tabela
  • DROP TABLE → remove uma tabela

Esses comandos não manipulam dados diretamente, mas sim a estrutura onde os dados são armazenados.


Comandos DML: manipulação de dados

Os comandos DML são responsáveis por inserir e modificar dados.

Os principais são:

  • INSERT INTO → insere novos registros
  • UPDATE → altera registros existentes
  • DELETE → remove registros

Aqui já estamos lidando diretamente com os dados armazenados nas tabelas.


SELECT e cláusula WHERE

O comando SELECT é utilizado para consultar dados.

A cláusula WHERE permite filtrar os resultados com base em condições.

Um ponto importante — e frequentemente cobrado — é que o WHERE não é exclusivo do SELECT. Ele também pode ser utilizado com UPDATE e DELETE.

Esse é um detalhe clássico de prova.


JOIN: combinando tabelas

O comando JOIN é utilizado para combinar dados de duas ou mais tabelas.

O mais comum é o INNER JOIN, que retorna apenas os registros que possuem correspondência em ambas as tabelas.

Exemplo conceitual:

  • tabela Clientes
  • tabela Pedidos

Um JOIN pode trazer informações combinadas, como nome do cliente e detalhes do pedido.


GROUP BY e HAVING

A cláusula GROUP BY é utilizada para agrupar registros, geralmente em conjunto com funções de agregação como:

  • COUNT
  • SUM
  • AVG

Já a cláusula HAVING é usada para filtrar resultados após a agregação.

Importante: o GROUP BY não precisa obrigatoriamente do HAVING — outra pegadinha comum em provas.


Vamos agora às questões de concurso!

1) Ano: 2024 Banca: FGV Órgão: INPE Prova: FGV – 2024 – INPE – Tecnologista Júnior I – Desenvolvimento de Software para Operação de Satélites

SQL (Structured Query Language) é uma linguagem usada para interagir com bancos de dados relacionais. 

Em relação ao SQL, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.

( ) A cláusula WHERE só é utilizada associada ao comando SELECT.
( ) O comando CREATE TABLE cria uma nova tabela no banco de dados e o comando INSERT INTO permite popular essa tabela por meio da inserção de registros.
( ) O comando INNER JOIN é utilizado para unir os resultados de duas ou mais consultas SELECT.
( ) Os comandos ALTER TABLE e UPDATE são usados para atualizar registros.
( ) SQL suporta chaves primárias e estrangeiras.

Alternativas:
A) F – F – F – V – F
B) F – V – F – F – V
C) V – V – V – F – F
D) V – F – V – V – V
E) F – F – V – F – F

Gabarito: Letra B

Comentário:

A primeira afirmativa é falsa, pois a cláusula WHERE não é exclusiva do SELECT — ela também pode ser usada em UPDATE e DELETE.

A segunda afirmativa é verdadeira, pois CREATE TABLE cria a estrutura da tabela e INSERT INTO permite inserir dados nela.

A terceira afirmativa é falsa, pois o JOIN não une consultas SELECT, mas sim dados de tabelas.

A quarta afirmativa é falsa, pois ALTER TABLE altera a estrutura da tabela, enquanto UPDATE altera os dados.

A quinta afirmativa é verdadeira, pois SQL suporta chaves primárias e estrangeiras para garantir integridade.


2) Ano: 2025 Banca: CESPE / CEBRASPE Órgão: SEFAZ-SE Prova: CESPE / CEBRASPE – 2025 – SEFAZ-SE – Auditor Fiscal Tributário – Geral

Uma chave estrangeira (foreign key) de um banco de dados relacional:

A) representa um ou mais campos que, embora possam ser utilizados como chave primária, não foram escolhidos como tal.

B) é uma chave que combina dois ou mais campos para formar um identificador único para registros dentro da mesma tabela.

C) é uma chave especial usada apenas em tabelas temporárias com vistas à melhoria da performance das consultas.

D) é um campo ou conjunto de campos que, em uma tabela, corresponde à primary key em outra tabela, e visa garantir a integridade referencial.

E) garante que cada registro em uma tabela tenha um identificador único, de forma que não haja valores nulos ou duplicados.

Gabarito: Letra D

Comentário:

A – Incorreta.
Essa definição descreve um candidato a chave (candidate key), ou seja, atributos que poderiam ser escolhidos como chave primária, mas não foram. Não tem relação com chave estrangeira.

B – Incorreta.
Essa alternativa descreve uma chave composta (composite key), utilizada para formar um identificador único dentro da própria tabela, e não para referenciar outra tabela.

C – Incorreta.
Não existe esse conceito de chave estrangeira restrita a tabelas temporárias ou voltada à performance. A função da foreign key é relacional, não de otimização.

D – Correta.
A chave estrangeira é exatamente um campo (ou conjunto de campos) que referencia a chave primária de outra tabela, garantindo a integridade referencial, isto é, assegurando que os dados relacionados existam de fato.

E – Incorreta.
Essa é a definição de chave primária (primary key), que garante unicidade e ausência de valores nulos dentro de uma tabela.


Conclusão

Os bancos de dados relacionais constituem a base da maioria dos sistemas modernos. Entender como os dados são organizados, como as tabelas se relacionam e como a SQL permite manipular essas informações é essencial para qualquer profissional de TI.

Além disso, esses conceitos aparecem com grande frequência em concursos públicos, muitas vezes explorando detalhes que passam despercebidos em um estudo superficial. Por isso, dominar a teoria e saber interpretar questões é um diferencial importante.


Referências

  • DATE, C. J. An Introduction to Database Systems.
  • ELMASRI, R.; NAVATHE, S. Fundamentals of Database Systems.
  • ISO/IEC 9075 – SQL Standard.
  • Silberschatz, K.; Korth, H.; Sudarshan, S. Database System Concepts.

Por
Publicado em
5 min. de leitura

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *