Banco de Dados Relacional (SQL): Estrutura, Sintaxe e boas Práticas
Como os sistemas mais críticos do mundo como bancos, hospitais, e-commerces e redes sociais, armazenam e organizam dados com segurança, consistência e performance? A resposta está aqui Banco de Dados Relacional.
Um banco de dados relacional (RDB) organiza os dados em tabelas (relações) compostas por linhas (tuplas) e colunas (atributos).
Essas tabelas se relacionam entre si por meio de chaves primárias e estrangeiras, formando um modelo estruturado e seguro para armazenar e manipular dados.
▪️ Estrutura Relacional: Esquema fixo e integridade
Os bancos relacionais possuem um esquema fixo, ou seja, a estrutura da tabela precisa ser definida antes de inserir dados. Isso garante:
- Integridade dos dados (consistência, tipo certo, valor obrigatório, etc.)
- Segurança (restrições, permissões)
- Validação automática pelo próprio banco
▪️ Linguagem SQL: A base da interação
SQL (Structured Query Language) é a linguagem usada para:
- Criar tabelas
- Inserir, consultar, atualizar e deletar dados (CRUD)
- Fazer junções, filtros, ordenações e agregações
- Definir permissões e administrar o banco
SQL é linguagem de programação?
SQL não é uma linguagem de programação como Python ou Java. Ela é uma linguagem de consulta e manipulação de dados, específica para banco de dados relacionais.
Você usa SQL para conversar com o banco de dados e dizer o que quer que ele faça com os dados.
O que posso fazer com SQL?
A SQL tem várias "categorias de comandos", cada uma com um objetivo:
▪️ Alguns exemplos de comandos SQL:
Criação das tabelas (DDL
– Data Definition Language)
sql
CREATE TABLE usuarios (
id INT PRIMARY KEY,
nome VARCHAR(100),
email VARCHAR(100) UNIQUE
);
CREATE TABLE pedidos (
id INT PRIMARY KEY,
usuario_id INT,
produto VARCHAR(100),
data_pedido DATE,
FOREIGN KEY (usuario_id) REFERENCES usuarios(id)
);
O que esse código faz:
- Cria duas tabelas:
usuarios
epedidos
usuarios
tem uma chave primáriaid
e um e-mail únicopedidos
tem uma chave estrangeirausuario_id
que aponta parausuarios(id)
- Isso representa uma relação de 1:N (um usuário pode fazer muitos pedidos)
Inserção de dados (DML
– Data Manipulation Language)
sql
INSERT INTO usuarios (id, nome, email) VALUES
(1, 'Paula Araujo', 'paula.araujo@gmail.com');
INSERT INTO pedidos (id, usuario_id, produto, data_pedido) VALUES
(101, 1, 'Teclado Mecânico', '2025-07-11');
Consulta com JOIN (comando SQL usado para combinar dados de duas ou mais tabelas)
sql
SELECT u.nome, p.produto, p.data_pedido
FROM usuarios u
JOIN pedidos p ON u.id = p.usuario_id;
Junta as duas tabelas para mostrar quem comprou o quê e quando.
Ou seja: se você tem dados espalhados em várias tabelas (como é o padrão em banco relacional), você usa JOIN
para unir essas tabelas temporariamente e fazer consultas mais completas.
Consulta com JSON e GSON
Apesar de bancos relacionais não armazenarem diretamente em JSON, é comum converter os dados para esse formato em APIs.
JSON (JavaScript Object Notation)
json
{
"usuario": {
"id": 1,
"nome": "Carolina Carvalho",
"email": "carol.85@email.com",
"pedidos": [
{
"id": 101,
"produto": "Teclado Mecânico",
"data_pedido": "2025-07-11"
}
]
}
}
GSON (Google JSON para Java)
java
class Usuario {
int id;
String nome;
String email;
List<Pedido> pedidos;
}
class Pedido {
int id;
String produto;
String data_pedido;
}
- JSON: Envio de dados em APIs RESTful.
- GSON: Biblioteca do Java usada para converter objetos Java em JSON e vice-versa.
- Mesmo com banco relacional, é comum serializar os dados em JSON para comunicação entre sistemas.
▪️ Alguns exemplos de banco de dados relacional
▪️ Quando usar banco de dados relacional⁉️
Use um banco relacional quando seu sistema precisa de:
- Dados estruturados e consistentes
- Relacionamentos complexos
- Transações confiáveis: Como o ACID (atomicidade, consistência, isolamento e durabilidade), que é um acrônimo que define as quatro propriedades fundamentais de uma transação de banco de dados relacional. Uma transação é uma sequência de operações (inserir, atualizar, deletar, etc.) que deve ser executada como um bloco único, com total segurança e consistência.
- Consultas sofisticadas com JOINs, filtros, agrupamentos
Exemplos:
- Sistemas bancários 💳
- ERPs empresariais 🏢
- Portais de e-commerce 🛒
- Aplicações com múltiplas tabelas e relacionamentos ✔️
Conclusão
O banco de dados relacional é uma das tecnologias mais sólidas e fundamentais para qualquer desenvolvedor. Mesmo com a popularização dos bancos NoSQL, o SQL continua sendo essencial, especialmente quando:
- A consistência dos dados importa
- Os relacionamentos entre entidades são relevantes
- Você precisa de transações seguras
Saber criar, consultar e relacionar dados em SQL vai te dar um diferencial em qualquer stack, inclusive ao migrar para serviços em nuvem.
👩🏻💻 E você?
Você já usa SQL no seu dia a dia ou está começando agora?
Já sabia da relação entre SQL e JSON?
Faltou algum exemplo que gostaria de ver aqui?
🗨️ Comenta aqui embaixo, compartilha sua dúvida ou sua experiência!