Módulo 2: ProdutosAula 3 de 155 minResumo aberto · Vídeo com cadastro grátis

Tabelas, relações e SQL sem medo no Supabase

Por Mauro Mequelussi · Curso gratuito Supabase sem mistério: banco, auth e RLS · Português (PT-BR)

Resposta direta · O que esta aula resolve

A Aula 3 de 15 ("Tabelas, relações e SQL sem medo no Supabase"), parte do módulo "Produtos" do curso gratuito "Supabase sem mistério: banco, auth e RLS" na Escola de Aplicativos (ministrado por Mauro Mequelussi), ensina na prática: desmistificamos o banco de dados relacional do Supabase com analogias simples do dia a dia. Você vai entender chaves primárias, relacionamentos, pegadinhas de segurança ao criar tabelas via SQL e quando adotar migrations no fluxo do seu projeto.

Aula gratuita · Cadastro rápido

Crie sua conta grátis para assistir a esta videoaula em HD

O resumo técnico e os capítulos abaixo são abertos para consulta. Crie sua conta 100% gratuita em segundos para liberar todas as 15 videoaulas em HD, controle automático de progresso, Tutor IA e certificado gratuito verificável.

  • R$ 0 · Sem cartão de crédito
  • Tutor IA tira-dúvidas da aula
  • Certificado gratuito incluso

O que você vai aprender

  • Como funciona um banco relacional usando a analogia de fichários e gavetas
  • A diferença prática entre chave primária e chave estrangeira
  • Os tipos de coluna recomendados para dinheiro (numeric), data (timestamptz) e identificadores (bigint)
  • Por que tabelas criadas no SQL Editor exigem ativar o Row Level Security manualmente
  • O que são migrations e a regra de ouro para sincronizar mudanças com a produção

Pontos-chave da aula

  • Tabelas criadas pelo Table Editor ativam o RLS por padrão; via SQL, a ativação deve ser manual.
  • Não guarde imagens nem PDFs diretamente em colunas: use referências para o Supabase Storage.
  • Senhas de usuários não devem residir em tabelas comuns; o módulo Supabase Auth cuida disso.
  • Ao adotar migrations, evite alterar o painel de produção diretamente para prevenir conflitos de schema.

Capítulos e roteiro técnico da aula

10 capítulos minutados
  1. 00:00

    O medo de quebrar o banco gerado pela IA

    Por que o banco criado por agentes parece intimidador e os dois caminhos para editá-lo no Supabase.

  2. 00:29

    A analogia do arquivo de fichas

    Uma explicação intuitiva de como funciona um banco relacional usando gavetas, fichas e números de referência.

  3. 01:01

    Tabelas, colunas, chaves e tipos no painel

    A tradução do arquivo físico para a interface do banco: chaves primárias, estrangeiras e colunas tipadas.

  4. 01:34

    Modelando o Funil e escolhendo tipos de dados

    A estrutura de tabelas do app Funil e três dicas essenciais da documentação para numeric, timestamptz e bigint.

  5. 02:23

    Table Editor vs SQL Editor e a pegadinha do RLS

    Quando usar cada editor e por que tabelas criadas via SQL exigem ativar o RLS manualmente.

  6. 03:28

    Migrations como diário de obra do banco

    O papel das migrations para manter o histórico de alterações versionado e evitar falhas em produção.

  7. 04:05

    O que não deve ser guardado no banco

    Por que arquivos, fotos e senhas pertencem a outros serviços e não a colunas comuns da tabela.

  8. 04:19

    Alternativas modernas ao Supabase Database

    Uma comparação rápida com Neon, PlanetScale e SurrealDB, destacando o ecossistema integrado do Supabase.

  9. 04:50

    Limites do plano gratuito e rotinas de backup

    Quanto cabe nos 500 MB gratuitos do Supabase e como funcionam os backups automáticos.

  10. 05:03

    Síntese dos editores e prévia da autenticação

    Resumo prático da decisão entre os editores e introdução ao próximo tema: o módulo de Auth.

Momentos de destaque na prática

01:34

Tipos certos de colunas para dinheiro, data e IDs

Evite erros silenciosos de arredondamento e fuso escolhendo os tipos recomendados pela documentação do Postgres.

02:24

Table Editor vs SQL Editor: a pegadinha do RLS

Criar uma tabela via SQL pode deixar seus dados expostos sem você perceber se esquecer este detalhe crucial.

03:28

Migrations: o diário de obra que salva seu app

Entenda quando parar de clicar no painel e passar a versionar o banco para nunca quebrar a produção.

Notas de aula e guia de estudo

Perder o medo de alterar a estrutura do banco de dados é um passo decisivo para quem constrói aplicações com IA. Nesta aula, você descobre como tabelas, colunas tipadas e relacionamentos funcionam na prática dentro do PostgreSQL no Supabase. Além disso, entende as diferenças entre o Table Editor e o SQL Editor para evitar brechas de segurança no seu app.

O que você vai aprender

  • Como funciona um banco relacional usando a analogia de fichários e gavetas
  • A diferença prática entre chave primária e chave estrangeira
  • Os tipos de coluna recomendados para dinheiro (numeric), data (timestamptz) e identificadores (bigint)
  • Por que tabelas criadas no SQL Editor exigem ativar o Row Level Security manualmente
  • O que são migrations e a regra de ouro para sincronizar mudanças com a produção

Pontos-chave

  • Tabelas criadas pelo Table Editor ativam o RLS por padrão; via SQL, a ativação deve ser manual.
  • Não guarde imagens nem PDFs diretamente em colunas: use referências para o Supabase Storage.
  • Senhas de usuários não devem residir em tabelas comuns; o módulo Supabase Auth cuida disso.
  • Ao adotar migrations, evite alterar o painel de produção diretamente para prevenir conflitos de schema.

Conceitos e ferramentas abordados nesta aula

Modelagem relacionalTipos de dados no PostgresTable Editor vs SQL EditorChaves primárias e estrangeirasMigrationsSegurança com RLSSupabasePostgreSQLNeonPlanetScaleSurrealDB

Perguntas frequentes sobre esta aula

Nesta aula do módulo "Produtos" na Escola de Aplicativos, você aprende de forma prática: Como funciona um banco relacional usando a analogia de fichários e gavetas; A diferença prática entre chave primária e chave estrangeira; Os tipos de coluna recomendados para dinheiro (numeric), data (timestamptz) e identificadores (bigint); Por que tabelas criadas no SQL Editor exigem ativar o Row Level Security manualmente.