Article image
Fernanda Araujo
Fernanda Araujo11/07/2025 21:56
Compartilhe

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:

    image

    ▪️ 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 e pedidos
    • usuarios tem uma chave primária id e um e-mail único
    • pedidos tem uma chave estrangeira usuario_id que aponta para usuarios(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

    image

    ▪️ 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!

    Compartilhe
    Comentários (0)