⌘K

01 – O que é SQL? Entenda o motor dos bancos de dados relacionais (com PostgreSQL)

Last updated

Se você está entrando no mundo de Dados ou DevOps, existe uma habilidade que é praticamente um pré-requisito universal: saber falar com o banco de dados. E a língua oficial desse universo é o SQL.

Não importa se você está construindo uma aplicação em Kubernetes, otimizando queries em um pipeline de dados ou analisando logs de infraestrutura, o SQL estará lá.

Neste post, vamos entender o que é o SQL, como ele funciona e ver exemplos práticos utilizando o PostgreSQL, um dos bancos de dados de código aberto mais robustos e populares do mercado.

O que é SQL?

SQL significa Structured Query Language (Linguagem de Consulta Estruturada). Ao contrário de linguagens de programação como Python, Go ou Java, o SQL é uma linguagem declarativa.

💡 Em suma: Em linguagens imperativas, você diz como o computador deve fazer algo. No SQL, você diz apenas o que você quer, e o motor do banco de dados (SGBD) se vira para descobrir a forma mais eficiente de te entregar o resultado.

O SQL é utilizado para interagir com Bancos de Dados Relacionais. Esses bancos organizam as informações em tabelas (compostas por linhas e colunas), que se relacionam entre si.

Por que usar o PostgreSQL como exemplo?

O PostgreSQL (ou simplesmente Postgres) é conhecido como o banco de dados relacional de código aberto mais avançado do mundo. Ele é extremamente aderente aos padrões oficiais do SQL, suporta cargas de trabalho massivas, possui excelente integração com ecossistemas DevOps e é a escolha padrão de milhares de empresas globais.

Os 4 Pilares do SQL (O famoso CRUD)

A interação com o banco de dados gira em torno de quatro operações básicas, que no SQL são traduzidas por comandos muito intuitivos. Vamos criar um cenário prático: um sistema de cadastro de servidores de infraestrutura.

1. Criando a Tabela (DDL – Data Definition Language)

Antes de inserir dados, precisamos definir a estrutura da nossa tabela.

CREATE TABLE servidores (
    id SERIAL PRIMARY KEY,
    nome VARCHAR(100) NOT NULL,
    ip_publico VARCHAR(45) UNIQUE,
    vcpus INT,
    memoria_gb INT,
    status VARCHAR(20) DEFAULT 'ativo'
);

2. Inserindo Dados (INSERT)

Com a tabela pronta, vamos alimentar o banco com alguns servidores de teste.

INSERT INTO servidores (nome, ip_publico, vcpus, memoria_gb)
VALUES 
('prod-app-01', '192.168.1.10', 4, 16),
('prod-db-01', '192.168.1.11', 8, 32),
('staging-api', '192.168.1.50', 2, 8);

3. Consultando os Dados (SELECT)

Essa é a parte onde o SQL brilha. Podemos filtrar, ordenar e extrair exatamente o que precisamos.

  • Consulta simples (trazer tudo):
SELECT * FROM servidores;

Consulta com filtro (Apenas servidores robustos, com mais de 4 vCPUs):

SELECT nome, ip_publico FROM servidores 
WHERE vcpus > 4;

4. Atualizando e Deletando (UPDATE e DELETE)

Na rotina de DevOps ou administração de dados, atualizar o estado dos componentes é constante.

  • Alterando o status de um servidor específico:
UPDATE servidores 
SET status = 'manutencao' 
WHERE nome = 'staging-api';

Removendo um registro:

DELETE FROM servidores 
WHERE nome = 'staging-api';

Dica de ouro: Nunca esqueça o WHERE em um UPDATE ou DELETE, a menos que queira apagar o banco inteiro e testar o seu backup!)

SQL no ecossistema DevOps e Dados

Por que você deve dominar isso se o seu foco é DevOps ou Engenharia de Dados?

  1. Observabilidade: Ferramentas de monitoramento como Grafana e Prometheus utilizam variações de SQL (ou integrações diretas) para extrair métricas de bancos relacionais.
  2. Infraestrutura como Código (IaC): Automatizar o deploy de um cluster PostgreSQL via Terraform ou Helm Charts exige que você entenda como o banco gerencia conexões, storages e permissões de usuários via SQL.
  3. Pipelines de ETL/ELT: Ferramentas modernas de transformação de dados (como o dbt) utilizam SQL puro para transformar gigabytes de dados brutos em insights de negócios dentro de Data Warehouses.

Conclusão

O SQL não é apenas uma tecnologia dos anos 70 que sobreviveu ao tempo; ele é a fundação de como o ecossistema de tecnologia moderno lida com dados estruturados. Aprender a sintaxe básica é rápido, mas dominar a otimização de queries e a modelagem de dados é o que diferencia um profissional comum de um especialista de alto nível.

No próximo post da nossa seção de SQL, vamos entender o que são JOINs e como conectar tabelas diferentes no PostgreSQL. Fique ligado!

Gostou do artigo? Deixe nos comentários qual ferramenta você usa hoje para gerenciar suas queries SQL (DBeaver, pgAdmin, CLI)!

Still stuck? How can we help? Get Help