Banco de Dados: SQL e NoSQL
- #SQL
- #NoSQL
Você já parou para pensar onde ficam guardadas as informações dos sites, apps e sistemas que usamos todos os dias?
Tudo isso está em um lugar chamado banco de dados. E entender como ele funciona pode te levar longe na programação.
O que é um banco de dados?
Um banco de dados é como uma caixa organizada, onde guardamos informações digitais que são os dados. Nesses dados que ficam nomes, senhas, produtos, vendas, mensagens e tudo mais que um sistema precisa lembrar.
Ele serve para armazenar, organizar, buscar e atualizar dados com eficiência, garantindo que tudo esteja acessível quando for necessário.
Por que os bancos de dados são tão importantes?
Imagine um e-commerce que não lembra do que foi vendido. Ou um app que esquece quem é você toda vez que você fecha e abre novamente, perdendo todos os dados.
➡️ Sem um banco de dados, sistemas não teriam memória. Ele é o coração de qualquer aplicação moderna. ⬅️
Além disso, bancos de dados ajudam a garantir segurança, integridade das informações e velocidade nos acessos. Tudo isso faz com que a experiência do usuário seja fluida, confiável e rápida.
Tipos de banco de dados: relacional x não relacional
Existem dois tipos principais de banco de dados: relacional e não relacional. Cada um tem seu estilo e é ideal para situações diferentes. Vamos entender cada um?
🔻 Banco de Dados Relacional (SQL)
Esse tipo é o mais tradicional. Ele organiza os dados em tabelas, com linhas (registros) e colunas (atributos). Se você já usou uma planilha, já viu algo parecido! Nesses bancos, as tabelas se conectam por relacionamentos.
👉 Banco de dados relacional é assim: tudo muito organizado, com tabelas que se relacionam entre si. Por isso o nome: relacional.
Exemplo 01: Excel
- Banco de dados relacional é só em programação? Não! Um banco de dados relacional é organizado e mais flexível, podendo até estar em planilhas do Excel... Ele é organizado e estruturado, e pode ser representado perfeitamente por uma planilha (com linhas e colunas).
Exemplo 02: Programação
sql
Tabela Clientes
+----+--------+
| ID | Nome |
+----+--------+
| 1 | Ana |
| 2 | João |
Tabela Pedidos
+---------+-----------+--------+
| Pedido | ClienteID | Valor |
+---------+-----------+--------+
| 100 | 1 | 300,00 |
| 101 | 2 | 250,00 |
- Aqui, o ClienteID conecta as duas tabelas: isso é o “relacionamento”
Exemplo 03: JSON (usado em bancos como o MongoDB):
json
{
"nome": "Ana",
"idade": 28,
"pedidos": [
{"produto": "Livro", "preco": 30},
{"produto": "Fone", "preco": 200}
]
}
Vantagens:
- Organização estruturada
- Garantia de integridade nos dados
- Ideal para sistemas financeiros, ERPs e CRMs
Tipo de banco de dados relacional populares:
- MySQL
- PostgreSQL
- SQL Server
- Oracle Database
🔻 Banco de Dados Não Relacional (NoSQL)
No banco não relacional, os dados não precisam seguir uma estrutura rígida (como linhas e colunas).
Eles podem ser soltos no sentido de serem diferentes uns dos outros, mas ainda são organizados, só que de um jeito mais flexível.
- No banco relacional, todo registro precisa seguir a mesma "forma" (mesmas colunas).
- No banco não relacional, cada registro pode ter campos diferentes. ( ok!👍🏻)
Exemplo 01: Cadastro e consulta de clientes (E-commerce)
Criação da tabela
sql
CREATE TABLE clientes (
id INT PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(100),
email VARCHAR(100) UNIQUE,
data_cadastro DATE
);
Inserção de dados
sql
INSERT INTO clientes (nome, email, data_cadastro)
VALUES ('Fernanda Araujo', 'fernanda@email.com', CURDATE());
Consulta dos clientes mais recentes
sql
SELECT nome, email, data_cadastro
FROM clientes
ORDER BY data_cadastro DESC
LIMIT 5;
Exemplo 02: Registro e soma de transações bancárias
Criação da tabela
sql
CREATE TABLE transacoes (
id INT PRIMARY KEY AUTO_INCREMENT,
cliente_id INT,
tipo VARCHAR(10), -- 'entrada' ou 'saida'
valor DECIMAL(10,2),
data_operacao DATETIME
);
Consulta: saldo total de um cliente
sql
SELECT
cliente_id,
SUM(CASE WHEN tipo = 'entrada' THEN valor ELSE -valor END) AS saldo
FROM transacoes
WHERE cliente_id = 1
GROUP BY cliente_id;
- Esse comando calcula o saldo final (entradas - saídas) de um cliente.
Exemplo 03: Sistema de notas de alunos
Criação da tabela
sql
CREATE TABLE notas (
id INT PRIMARY KEY AUTO_INCREMENT,
aluno_nome VARCHAR(100),
disciplina VARCHAR(50),
nota DECIMAL(4,2)
);
Consulta: média de cada aluno
sql
SELECT aluno_nome, AVG(nota) AS media
FROM notas
GROUP BY aluno_nome
ORDER BY media DESC;
Vantagens:
- Alta performance com grandes volumes de dados
- Flexibilidade na estrutura dos dados
- Escalabilidade fácil (ótimo para apps e big data)
Tipo de banco de dados não relacional populares:
- MongoDB (documentos)
- Redis (chave-valor)
- Cassandra (colunar)
- Neo4j (grafos)
Quando usar cada tipo de banco de dados?
Depende do projeto!! 😊
Se você tem dados bem estruturados e precisa de relacionamentos entre tabelas, use um relacional. Mas se lida com dados variados, não estruturados ou que mudam muito, um não relacional pode ser o ideal.
Muitos sistemas modernos até combinam os dois, usando um banco relacional para o essencial e um NoSQL para performance e flexibilidade.
Conclusão
Banco de dados não é um bicho de sete cabeças Entender banco de dados é dar um passo importante no seu caminho como dev ou analista. Não precisa ter medo, comece com calma, explore exemplos, pratique consultas e observe como tudo se conecta.
Com o tempo, você vai perceber que banco de dados é como uma conversa com um sistema: você pergunta e ele responde. E quanto melhor você organiza, mais fácil é manter tudo funcionando bem.
💬 Esse conteúdo te trouxe algum insight novo ou já era um assunto dominado?
Comenta aqui! Às vezes, uma simples troca vira aprendizado para ambos os lados nessa jornada tech... 🤜🤛 😊