Modelando Seu Primeiro Banco de Dados (MER e DER)
Aprenda a pensar como um arquiteto de software. Antes de codificar no Supabase, vamos projetar a "planta baixa" do sistema com Tutorial Passo a Passo, 32 Desafios Individuais e o Modo Lado a Lado!
🎯 O que você vai conseguir fazer hoje:
Ler o tutorial, escolher o seu desafio individual e codificar o seu diagrama em tempo real enquanto navega no site!
Objetivos de Aprendizagem
Pré-requisitos
- Aula 1 concluída (Introdução ao Supabase).
- Navegador web moderno atualizado.
- Escolher o seu número da chamada (1 a 32).
Ferramentas & Apoio
- Modo Lado a Lado (Editor de Meia Tela)
- 32 Cenários Práticos Individuais
- dbdiagram.io (Ferramenta Externa)
A Gramática dos Dados & Conceitos (35 min)
MER (Modelo Entidade-Relacionamento)
É a descrição conceitual e abstrata das regras de negócio. Define no papel ou em texto as entidades, seus atributos e como elas se conectam.
DER (Diagrama Entidade-Relacionamento)
É a representação visual e gráfica do MER. Desenha as caixas (tabelas), colunas, chaves primárias (PK), chaves estrangeiras (FK) e linhas de ligação.
A Regra Simples: A Gramática do Mundo Real
O banco de dados imita o mundo real. Para modelá-lo, usamos a gramática das línguas humanas:
Entidades
SUBSTANTIVOS
Tudo aquilo que o sistema precisa guardar e lembrar.
Ex: Cliente, Produto, Livro, Pedido.
Atributos
ADJETIVOS / DADOS
Características e informações de cada entidade.
Ex: Nome, CPF, Preço, Email, Data.
Relacionamentos
VERBOS / AÇÕES
Como as entidades interagem entre si.
Ex: Cliente compra Produto, Aluno cursa Disciplina.
🔧 Exercício Interativo 1: Classificação Gramatical
Cardinalidade na Prática (40 min)
🔧 Exercício Interativo 2: Identificando Cardinalidades
Tutorial Passo a Passo: Sintaxe do Editor DER
Aprenda em 3 passos simples como escrever o código que gera os diagramas em tempo real no nosso editor!
Passo 1: Sempre Iniciar com `erDiagram`
A primeira linha do código deve ser a palavra reservada erDiagram:
erDiagram
Passo 2: Declarar Entidades e seus Atributos
Abra chaves `{ }` para cada tabela e informe o tipo do dado, o nome da coluna e se é `PK` (Chave Primária) ou `FK` (Chave Estrangeira):
ALUNOS { int id PK string nome string email}
Passo 3: Ligar as Tabelas (Cardinalidade 1:N e N:1)
Use os conectores visuais para indicar a relação (o sentido das barras e pés-de-galinha define se é 1:N ou N:1):
CATEGORIA ||--|{ PRODUTO : contem // 1 Categoria para Muitos (|{) ProdutosPRODUTO }|--|| CATEGORIA : pertence // Muitos (}|) Produtos para 1 CategoriaCIDADAO ||--|| PASSAPORTE : possui // 1 Cidadão para 1 (||) Passaporte
📋 Guia Rápido de Símbolos de Conexão:
Editor DER em Tempo Real (45 min)
Digite ou modifique o código abaixo e clique em "▶️ Gerar Diagrama" ou aguarde a atualização automática para ver seu desenho!
32 Desafios Práticos Individuais (Um para Cada Aluno)
Instrução para a Turma (32 Alunos):
Cada aluno deve escolher o número correspondente à sua posição na lista de chamada (1 a 32). Cada desafio contém 3 tabelas relacionadas para você modelar. Clique no botão "Iniciar Desafio no Editor" do seu card e depois clique em "▶️ Gerar Diagrama"!
Quiz de Fixação Final (20 min)
1. Na Gramática dos Dados, o que é uma Entidade?
2. Qual é a diferença fundamental entre MER e DER?
3. Qual tipo de cardinalidade é o mais comum no desenvolvimento de software?
4. O que devemos fazer quando nos deparamos com um relacionamento N:N (Muitos para Muitos)?
5. Por que é essencial criar o DER antes de executar o comando CREATE TABLE no Supabase?
Próxima Aula: Do DER para o SQL no Supabase!
Na próxima aula (12/08), pegaremos o nosso DER e aprenderemos a definir o Dicionário de Dados, os Tipos de Dados do PostgreSQL (INTEGER, VARCHAR, DECIMAL, TIMESTAMP) e a criar as tabelas reais usando CREATE TABLE!