← TORNA AL BLOG/BUILD WITH AI

10 tabelle che ogni SaaS deve avere:il blueprint

Le 10 tabelle che ogni SaaS deve avere: organizzazioni, utenti, membri, registro attività e altre, più il prompt da copiare che fa costruire tutto all'AI.

CATEGORIABuild with AI
TEMPO DI LETTURA6 min
PUBBLICATO25 set 2026
AUTORELuis Goncalves
Copertina: le 10 tabelle che ogni SaaS deve avere, il blueprint del database

Le 10 tabelle che ogni SaaS deve avere alimentano il 90% delle app aziendali: organizzazioni, utenti, membri dell'organizzazione, la tua entità principale, categorie, relazioni, registro attività, file, notifiche e impostazioni. Non devi reinventare il database: cloni questa struttura, rinomini un paio di cose e rilasci. Ecco il blueprint completo, come si collegano le tabelle e il prompt da copiare e incollare che fa costruire tutto bene all'AI.

Una tabella non è niente di più spaventoso di un foglio di calcolo strutturato: ogni riga è una cosa (un task, un contatto, una fattura), ogni colonna è un'informazione su quella cosa. Se per te è una novità, parti da i database spiegati ai fondatori non tecnici e poi torna qui. Il punto di questo articolo è più semplice: non serve capire i database per progettarne uno. Serve sapere quali tabelle creare, e sono quasi le stesse per ogni SaaS.

Le 10 tabelle che ogni SaaS deve avere

Un cattivo design del database rompe la tua app quando cresci. Un buon design significa che l'app semplicemente funziona. Ecco le fondamenta:

#TabellaCosa contienePerché ti serve
1OrganizzazioniOgni azienda che usa la tua app: nome, impostazioni, livello di abbonamento, statoMulti-tenancy: ogni cliente è un'organizzazione
2UtentiOgni persona che può fare login: email, nome, avatar (le password le gestisce Supabase)Autenticazione: chi può accedere all'app
3Membri dell'organizzazioneQuali utenti appartengono a quali organizzazioni, e con quale ruolo (owner, admin, member, viewer)Un utente può appartenere a più organizzazioni
4La tua entità principaleLa cosa che la tua app gestisce: task, contatti, fatture, appuntamenti, prodottiQuesto È il tuo prodotto: tutto il resto lo supporta
5Categorie / tagModi per raggruppare le tue entità principali, con nomi e coloriGli utenti devono organizzare e filtrare le cose
6RelazioniCollegamenti molti-a-molti: task assegnati a più utenti, utenti in più teamLa maggior parte delle relazioni reali non è uno-a-uno
7Registro attivitàChi ha fatto cosa, quando, su quale recordAudit trail, feed delle attività, debugging, compliance
8FileRiferimenti ai caricamenti: nome, URL, dimensione, chi l'ha caricato, a cosa è allegatoQuasi ogni app permette di caricare qualcosa
9NotificheAvvisi per gli utenti: messaggio, tipo, stato di lettura, linkGli utenti devono sapere quando succedono le cose
10ImpostazioniImpostazioni dell'organizzazione (fuso orario, valuta) e preferenze dell'utente (tema, lingua)Ogni utente vuole personalizzare la propria esperienza

Nota quanto poco di tutto questo sia specifico della tua idea. Il 90% del tuo database è identico a quello di ogni altra app aziendale; il 10% è la tua logica di business unica. Parti dal 90%, costruisci il 10%, rilascia il tuo prodotto.

Il libroThe Solopreneur RevolutionLuis Gonçalves su come costruire un'attività da solopreneur con l'IA mentre sei ancora dipendente.Scopri il libro →

Come si collegano le tabelle

Pensa a un condominio. Le organizzazioni sono il registro dell'edificio: l'elenco degli inquilini. Gli utenti sono i residenti. I membri dell'organizzazione sono la rubrica degli appartamenti che dice che Marco abita nell'interno 5 e Sara nell'interno 12. Da lì la catena è logica: un'organizzazione ha molte entità principali (task, contatti, fatture), a ciascuna possono essere allegati dei file, ogni azione genera una voce nel registro attività e gli eventi importanti creano notifiche.

Un esempio concreto: un semplice CRM richiede organizzazioni (i tuoi clienti), utenti (le persone che fanno login), membri dell'organizzazione (Marco lavora in un'azienda, Sara in un'altra), contatti (i record del CRM), tag dei contatti (lead caldo, lead freddo, cliente), un registro attività (ogni interazione), file (documenti allegati ai contatti), notifiche (avvisi quando un contatto compie un'azione) e impostazioni (preferenze per organizzazione). Fine. Nove tabelle. Un CRM completo.

È anche per questo che progettare le tabelle prima di costruire le schermate funziona così bene: tutta la tesi dello sviluppo database-first. Le schermate cambiano ogni settimana. Questa struttura non cambia quasi mai.

Le tabelle che non servono al lancio

Importante quanto le dieci che costruisci: quelle che salti. Aggiungile dopo, quando ti servono davvero:

  • Fatturazione e abbonamenti: aggiungili quando sei pronto a far pagare
  • Team: aggiungili quando le organizzazioni diventano grandi
  • Integrazioni: aggiungile quando ti colleghi ad altri strumenti
  • Report: aggiungili quando gli utenti hanno bisogno di analytics
  • Webhook: aggiungili quando costruisci un'API
  • Audit log: aggiungili per esigenze di compliance e sicurezza

La regola: parti in piccolo, aggiungi tabelle quando servono. Il database è un livello di un quadro più grande, i 18 sistemi che ogni SaaS deve avere mappa il resto, ma le tabelle sono il punto di partenza, perché tutto il resto poggia su di esse.

Il prompt da copiare e incollare che costruisce tutte e 10

Questo SQL non lo scrivi tu. Dai all'AI il blueprint e i requisiti di qualità in un unico prompt:

Crea queste tabelle di database per un [tipo della tua app] multi-tenant:

FONDAMENTA: 1. organizations (id, name, slug, settings, tier, is_active, created_at, updated_at) · 2. users (gestiti da Supabase Auth) · 3. organization_members (organization_id, user_id, role)

FUNZIONE PRINCIPALE: 4. [la tua entità principale] con organization_id, i tuoi campi specifici, colonne di audit

DI SUPPORTO: 5. categories (per organizzare [la tua entità principale]) · 6. files (allegati) · 7. activity_log (tracciamento di tutte le azioni) · 8. notifications (avvisi per gli utenti) · 9. settings (preferenze)

Requisiti: ogni tabella ha bisogno di organization_id (tranne users) · aggiungi indici su tutte le chiavi esterne · abilita il Row-Level Security · usa i soft delete (colonna deleted_at) · aggiungi colonne di audit (created_at, created_by, updated_at, updated_by)

Mostrami la migration SQL completa.

L'AI genererà le tabelle, collegate correttamente, multi-tenant, pronte per la produzione. Il blocco dei requisiti non è una decorazione facoltativa: organization_id su ogni tabella e il Row-Level Security sono ciò che impedisce al Cliente A di vedere i dati del Cliente B.

Il minimo per rilasciare

Prima di iniziare a costruire funzionalità, verifica di avere: una tabella organizzazioni, gli utenti (li fornisce Supabase), i membri dell'organizzazione, la tua entità principale, almeno un modo per organizzare gli elementi, un registro attività e le notifiche. Con queste 7 tabelle minime puoi costruire e rilasciare. Aggiungi il resto man mano che cresci.

La maggior parte dei fondatori passa settimane a tormentarsi sul design del database come se la propria app fosse un fiocco di neve unico. Non lo è, e questa è la buona notizia. Le fondamenta sono un problema risolto. Clonale, personalizza il 10% e spendi le tue energie sulla parte che solo tu puoi costruire.

12 settimaneLa carriera aziendale non è mai stata il pianoCandidati al Solopreneur Accelerator.Candidati ora →

Domande frequenti

Mi servono davvero tutte e 10 le tabelle prima del lancio?

No: 7 sono il minimo: organizzazioni, utenti, membri dell'organizzazione, la tua entità principale, un modo per organizzare gli elementi (categorie o tag), un registro attività e le notifiche. File, relazioni e impostazioni possono arrivare con le funzionalità che ne hanno bisogno. Fatturazione, team, integrazioni, report e webhook arrivano ancora più tardi.

Cosa significa "multi-tenant" e perché conta?

Multi-tenant significa che molti clienti condividono un'unica app, ma ognuno vede solo i propri dati. È il motivo per cui la tabella delle organizzazioni viene per prima e per cui ogni tabella porta un organization_id. Insieme al Row-Level Security, garantisce che i record di ogni cliente restino dentro le proprie mura, come gli appartamenti di un unico edificio.

L'AI può davvero progettare il mio database al posto mio?

Sì, se le dai il blueprint. Incolla il prompt qui sopra con la tua entità principale compilata e l'AI produce la migration SQL completa: tabelle, chiavi esterne, indici e Row-Level Security. Quello che l'AI non può fare è decidere qual è la tua entità principale. Quella è una decisione di prodotto, non tecnica.

Qual è l'"entità principale" della mia app?

L'unica cosa che la tua app gestisce. Task manager → task. CRM → contatti. Fatturazione → fatture. Prenotazioni → appuntamenti. E-commerce → prodotti. Se non riesci a nominarla in una parola, non hai ancora definito il tuo prodotto abbastanza bene: risolvi questo prima di toccare il database.

Quanto sei intrappolato, davvero?

Fai l'Indice di Soffocamento Aziendale, la valutazione gratuita per capire se sei pronto a diventare solopreneur.

Inizia la valutazione →