entità
definisci entità principali e relazioni prima di creare tabelle.
create table clienti (
id serial primary key,
nome text not null
);
chiavi
create table ordini (
id serial primary key,
cliente_id int references clienti(id)
);
normalizzazione
mantieni dati coerenti separando entità e evitando duplicazioni.
indici
indicizza colonne usate nei join e nei filtri frequenti.
panoramica
In questo capitolo su design di schema, modellare dati con integrità e chiarezza. L'obiettivo è trasformare i concetti in micro-pattern riutilizzabili con esempi piccoli e verificabili.
Lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali (performance, leggibilità, manutenzione).
badge: schema design
obiettivi
- capire e applicare entità in uno scenario reale
- capire e applicare chiavi in uno scenario reale
- capire e applicare normalizzazione in uno scenario reale
- capire e applicare indici in uno scenario reale
scheda rapida
SELECT categoria, COUNT(*) AS tot
FROM prodotti
WHERE attivo = TRUE
GROUP BY categoria
ORDER BY tot DESC
LIMIT 5;
Adatta questo scheletro agli esempi della lezione e sostituisci i dati con il tuo dominio.
tips
- usa alias chiari
- filtra presto con WHERE
- controlla i piani di esecuzione
- normalizza per ridurre duplicazioni
- definisci PK/FK
- usa nomi consistenti
tip: Uno schema chiaro è la base di ogni query affidabile.
mini progetto
Progetta schema per catalogo prodotti.
- identifica entità
- definisci relazioni
- normalizza
- crea tabelle
output atteso: uno script o query ripetibile con risultati verificabili.
checklist
- ho eseguito gli snippet e controllato l'output
- ho annotato almeno 2 trade-off
- ho completato il mini progetto
- ho salvato un riepilogo personale