Aprenda a Estruturar Bancos de Dados com
Relacionamentos Reais e 32 Desafios Práticos
Entenda palavra por palavra a anatomia do CREATE TABLE, ALTER TABLE e das Chaves Estrangeiras (FOREIGN KEY). Depois, teste seus conhecimentos criando conjuntos de 3 tabelas no SQL Editor do Supabase.
1. Passo a Passo: Onde Executar os Comandos no Supabase
Siga este roteiro visual para acessar o console SQL do seu projeto no Supabase.
Acessar o Projeto
Acesse seu painel no supabase.com e escolha seu projeto ativo.
Abrir o SQL Editor
No menu lateral esquerdo, clique no ícone de código SQL Editor (>_).
Criar Nova Consulta
Clique no botão verde + New query para abrir uma aba em branco.
Digitar o Script
Cole ou digite os comandos DDL (CREATE TABLE ou ALTER TABLE).
Executar (Run)
Clique em Run ou atalho Ctrl + Enter para aplicar a alteração física.
2. Anatomia do Comando CREATE TABLE
Passe o mouse ou clique sobre cada trecho do código abaixo para inspecionar seu significado técnico.
Clique em qualquer palavra do script
O comando CREATE TABLE instrui o sistema gerenciador do Postgres a alocar uma nova estrutura de tabela física na base de dados com suas devidas restrições de integridade.
3. Anatomia do Comando ALTER TABLE
Utilize o ALTER TABLE para evoluir tabelas sem apagar dados em produção. Escolha a operação desejada:
Adicionar uma Nova Coluna na Tabela
ADD COLUMNAplica-se quando o sistema evolui e precisa armazenar um novo atributo em uma tabela existente.
// Estrutura Geral e Exemplo:
ALTER TABLE clientes
ADD COLUMN telefone varchar(20);
4. Anatomia do Relacionamento entre Tabelas (1:N e N:N)
Aprenda a lógica, a ordem de criação correta e a anatomia da sintaxe para ligar tabelas no PostgreSQL / Supabase.
1. Ordem de Criação no Supabase
Regra de Ouro: Crie primeiro a Tabela Pai (independente). Você NÃO pode criar uma Chave Estrangeira apontando para uma tabela que ainda não existe no banco!
2. Compatibilidade de Tipos
A coluna da FK deve ter o mesmo tipo de dado exato da PK de destino. Se o id for uuid, a FK DEVE ser uuid.
3. Regras de Exclusão (ON DELETE)
Defina o que acontece com os filhos quando o pai for deletado: CASCADE (apaga em cascata), RESTRICT (bloqueia deleção) ou SET NULL.
Clique nas linhas destacadas da FK
Uma Chave Estrangeira (FOREIGN KEY) cria um vínculo de integridade no banco. Ela impede que um pedido seja salvo com um cliente_id inexistente.
Anatomia de Relacionamento N:N (Tabela Associativa Intermediária)
Exemplo clássico de 3 tabelas: Alunos (Pai 1) + Cursos (Pai 2) conectados pela tabela Matrículas (Filha Intermediária).
CREATE TABLE alunos (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
nome varchar(100) NOT NULL
);
CREATE TABLE cursos (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
titulo varchar(100) NOT NULL
);
CREATE TABLE matriculas (
aluno_id uuid REFERENCES alunos(id) ON DELETE CASCADE,
curso_id uuid REFERENCES cursos(id) ON DELETE CASCADE,
data_matricula timestamptz DEFAULT now(),
PRIMARY KEY (aluno_id, curso_id)
);
5. Central de Desafios Individuais de DDL (1 a 32)
Cada aluno possui 1 exercício exclusivo atribuído ao seu número de chamada (de 1 a 32). Você deve resolver apenas o seu respectivo exercício no SQL Editor do Supabase!
Carregando exercício...
Descrição do negócio...
6. Construtor & Gerador Visual de DDL (Para Apoio)
Se tiver dúvida sobre a sintaxe de alguma tabela isolada, use este gerador visual para conferir.
-- O código SQL aparecerá aqui...
Tipos de Dados Mais Utilizados no Supabase
Comparativo de alocação de armazenamento e casos de uso típicos.
| Tipo | Tamanho | Uso Recomendado |
|---|---|---|
| uuid | 16 bytes | Chaves Primárias (PK) e Estrangeiras (FK) globais únicas. |
| varchar(N) | Variável | Textos curtos com limite (nomes, emails, status). |
| numeric(P,S) | Variável | Valores monetários exatos (preços, taxas, salários). |
| timestamptz | 8 bytes | Datas completas com fuso horário (created_at). |
Quiz de Fixação DDL & Relacionamentos
Carregando pergunta...