De Volta ao Básico - SQL 02 – Entendendo Como os Dados São Estruturados

De Volta ao Básico - SQL 02 – Entendendo Como os Dados São Estruturados

Tabelas, Linhas, Colunas e Tipos de Dados

Antes de escrever consultas SQL poderosas, você precisa entender como os dados realmente são armazenados.

Este artigo explica:

  • O que realmente são tabelas, linhas e colunas
  • Por que esquemas e tipos de dados são importantes
  • Como desenvolvedores e analistas pensam de forma diferente sobre a estrutura dos dados

Esta é a Parte 02 da série SQL do Zero ao Pro.


Índice


O que é uma Tabela de Banco de Dados?

Uma tabela é onde os bancos de dados relacionais armazenam dados.

Pense em uma tabela como uma planilha:

  • As colunas definem que tipo de dado é armazenado
  • As linhas armazenam registros individuais

Exemplo: Tabela customers

id name email country
1 Alice alice@email.com UK
2 Bob bob@email.com PT

Cada tabela geralmente representa um conceito do mundo real, como:

  • customers
  • orders
  • products
  • employees

Linhas: Registros em uma Tabela

Uma linha representa um registro único.

Na tabela customers:

  • Uma linha = um cliente
  • Cada linha contém valores para cada coluna
(1, Alice, alice@email.com, UK)
(2, Bob, bob@email.com, PT)

Chaves Primárias

A maioria das tabelas possui uma chave primária:

  • Identifica de forma única cada linha
  • Geralmente é uma coluna id
id INT PRIMARY KEY

🧠 Nenhuma duas linhas podem compartilhar o mesmo valor de chave primária.


Colunas: Atributos e Campos

Uma coluna define um único atributo dos dados.

Exemplos:

  • name
  • email
  • price
  • created_at

Cada coluna possui:

  • Um nome
  • Um tipo de dado
  • Restrições opcionais
name VARCHAR(100)

Regras das Colunas

  • Todo valor em uma coluna deve seguir o mesmo tipo de dado
  • As colunas descrevem que tipo de dado é permitido

Esquemas e Estrutura de Tabelas

Um esquema é um contêiner lógico para tabelas.

Pense nele como:

  • Uma pasta dentro de um banco de dados
  • Uma forma de organizar tabelas
database
 └── public
     ├── users
     ├── orders
     └── products

Por que Esquemas Importam

Os esquemas ajudam com:

  • Organização
  • Permissões
  • Evitar conflitos de nomes

Tipos de Dados SQL Comuns

Os tipos de dados definem que tipo de valor uma coluna pode armazenar.

Tipos Numéricos  
Tipo Exemplo
INT 42
DECIMAL 99.99
FLOAT 3.14
Tipos de Texto  
Tipo Exemplo
VARCHAR ‘Alice’
TEXT Descrições longas
Tipos de Data & Hora  
Tipo Exemplo
DATE 2025-07-21
TIMESTAMP 2025-07-21 10:00
Tipo Booleano  
Tipo Exemplo
BOOLEAN true / false

Por que os Tipos de Dados Importam

Escolher o tipo de dado correto afeta:

  • Tamanho de armazenamento
  • Performance
  • Precisão dos dados

Exemplo

price VARCHAR(10)   
price DECIMAL(10,2) 

Benefícios dos Tipos de Dados Corretos

  • Previnem dados inválidos
  • Aceleram consultas
  • Permitem indexação
  • Reduzem bugs

SQL para Desenvolvedores vs Analistas

SQL para Desenvolvedores

Desenvolvedores se preocupam com:

  • Integridade dos dados
  • Restrições
  • Performance

Áreas de foco comuns:

  • Chaves primárias e estrangeiras
  • Restrições NOT NULL e UNIQUE
  • Tipos de dados amigáveis para índices
  • Migrações de esquema

SQL para Analistas de Dados

Analistas se preocupam com:

  • Consultas e agregações
  • Legibilidade
  • Significado de negócio

Áreas de foco comuns:

  • Clareza na nomenclatura das colunas
  • Consistência de data/hora
  • Precisão numérica
  • Tratamento de NULL

Exercícios Práticos

Exercício 1 – Identifique a Estrutura

Dada a definição da tabela, identifique:

  • Nome da tabela
  • Colunas
  • Tipos de dados
CREATE TABLE products (
  id INT PRIMARY KEY,
  name VARCHAR(100),
  price DECIMAL(10,2),
  in_stock BOOLEAN
);

Exercício 2 – Projete uma Tabela

Projete uma tabela chamada employees com:

  • id
  • first name
  • last name
  • email
  • hire date

Escreva a instrução CREATE TABLE.


Exercício 3 – Pense Como um Banco de Dados

Por que DATE é uma escolha melhor do que VARCHAR para uma data de nascimento?

Escreva sua resposta em inglês simples.

Prática Extra

Crie uma tabela localmente usando SQLite ou um editor SQL online e tente:

  • Adicionar colunas
  • Inserir linhas
  • Selecionar colunas específicas

Conclusão

Tabelas, linhas, colunas e tipos de dados formam a base de todo banco de dados relacional.

Se você entende:

  • Como as tabelas são estruturadas
  • Por que os tipos de dados existem
  • Então escrever consultas SQL se torna dramaticamente mais fácil.

No próximo artigo (SQL 03), vamos mergulhar em consultas SELECT e filtragem de dados, onde o SQL realmente começa a mostrar seu poder.

Boas consultas 🚀

Soluções dos exercícios do artigo

Exercício 1 – Identifique a Estrutura (Resposta)

Dada a definição da tabela:

CREATE TABLE products (
  id INT PRIMARY KEY,
  name VARCHAR(100),
  price DECIMAL(10,2),
  in_stock BOOLEAN
);

Nome da Tabela

  • products

Colunas e Tipos de Dados

Nome da Coluna Tipo de Dado Descrição
id INT Identificador único de cada produto
name VARCHAR(100) Nome do produto
price DECIMAL(10,2) Preço do produto com duas casas decimais
in_stock BOOLEAN Indica se o produto está disponível

Chave Primária

  • id é a chave primária
  • Ela identifica de forma única cada linha da tabela

Exercício 2 – Projete uma Tabela (Resposta) Recapitulação dos Requisitos

Crie uma tabela chamada employees com:

  • id
  • first name
  • last name
  • email
  • hire date

Uma Possível Solução

CREATE TABLE employees (
  id INT PRIMARY KEY,
  first_name VARCHAR(100),
  last_name VARCHAR(100),
  email VARCHAR(255),
  hire_date DATE
);

Por que Essas Escolhas?

  • INT para id: eficiente e comumente indexado
  • VARCHAR para nomes e email: comprimento flexível
  • DATE para data de contratação: permite consultas e ordenações baseadas em data

Exercício 3 – Pense Como um Banco de Dados (Resposta) Pergunta

Por que DATE é uma escolha melhor do que VARCHAR para uma data de nascimento?

Resposta (Em Linguagem Simples)

Usar o tipo de dado DATE garante que:

  • Apenas datas válidas possam ser armazenadas
  • As datas possam ser ordenadas corretamente
  • Cálculos com datas (idade, duração) sejam possíveis
  • Indexação e filtragem sejam mais rápidas

Se as datas forem armazenadas como VARCHAR, o banco de dados:

  • Não consegue compará-las ou ordená-las de forma confiável
  • Não consegue realizar cálculos de data
  • Não consegue garantir a validade das datas

A seguir: SQL 03 – Consultas SELECT e Filtragem de Dados 🚀