28 nov 2025·8 min di lettura

Convenzioni di nomenclatura del database per pannelli di amministrazione leggibili

Usa convenzioni di nomenclatura per il database del pannello di amministrazione per mantenere le schermate generate leggibili: regole chiare per tabelle e campi, enum, relazioni e una checklist rapida.

Convenzioni di nomenclatura del database per pannelli di amministrazione leggibili

Perché i nomi decidono se un pannello admin sembra chiaro o disordinato

La maggior parte dei pannelli di amministrazione viene costruita dal tuo modello di dati. I nomi di tabelle e campi finiscono come voci di menu, titoli di pagina, intestazioni di colonna, etichette dei filtri e persino le parole che le persone digitano nella ricerca.

Quando i nomi sono chiari, un admin può scorrere una lista e capirla in pochi secondi. Quando i nomi non sono chiari, si ferma, indovina, apre un record, torna indietro e riprova. Quell'esitazione si accumula. Si traduce in domande di supporto come “Come trovo il cliente giusto?” e in documentazione di formazione che nessuno vuole leggere.

Gli sviluppatori solitamente nominano le cose per costruire e debuggare. Gli operatori nominano le cose per portare a termine il lavoro. Uno sviluppatore può andare bene con acct, addr1 o stat perché ricorda cosa significano. Un operatore ha bisogno di “Account”, “Address line 1” e “Status” senza dover decodificare.

In uno schermo admin, “leggibile” di solito significa:

  • Puoi scorrere una tabella e capire ogni colonna senza aprire una riga.
  • Puoi cercare e filtrare usando le stesse parole che usi nel lavoro quotidiano.
  • Puoi ordinare e confrontare i valori senza sorprese (per esempio, date che sono davvero date e stati coerenti).

Se usi una piattaforma che genera schermate dal modello (per esempio, il Data Designer di AppMaster e le viste in stile admin), il naming diventa parte del design UI. Buoni nomi ti danno schermate predefinite pulite fin dal primo giorno, prima ancora di iniziare a sistemare etichette e layout.

Una baseline di naming semplice che tutta la squadra può seguire

Se vuoi che le schermate generate siano pulite dal primo giorno, concorda una baseline prima che qualcuno aggiunga la prima tabella. La maggior parte dei problemi di naming non sono tecnici. Sono problemi di coerenza.

Scegli uno stile identificatore e non mescolarlo. Per i database, snake_case è di solito il più facile da leggere e cercare. Se il tuo stack si aspetta camelCase, usalo ovunque (tabelle, colonne, chiavi esterne, enum). Cambiare stile a metà progetto è quello che rende etichette e filtri casuali.

Una baseline che funziona per la maggior parte dei team:

  • Usa parole intere: customer_id, non cust_id; description, non desc.
  • Usa nomi chiari: sostantivi per le cose e verbi chiari per le azioni: invoice, payment, refund_requested.
  • Usa nomi di timestamp coerenti: created_at, updated_at, deleted_at.
  • Evita parole vaghe come data, info, value o type a meno che non aggiungi contesto (per esempio, shipping_address, payout_method).
  • Mantieni coerente singolare vs plurale (molti team usano tabelle plurali come customers e colonne singolari come customer_id).

Scrivi un piccolo glossario e tienilo a vista. Decidi presto se intendi customer, client, account o user, poi attieniti a un solo termine. Fai lo stesso per “order” vs “purchase” o “ticket” vs “case”.

Un rapido controllo: se due persone possono guardare una colonna come account_status e concordare cosa significa senza chiedere, la baseline funziona. Se non ci riescono, rinominala prima di costruire schermate e filtri sopra.

Regole di naming delle tabelle che si mappano bene su menu e liste

La maggior parte dei pannelli admin trasforma i nomi delle tabelle in voci di menu, titoli di lista e breadcrumb. Il tuo schema non è solo per ingegneri. È la prima bozza della tua UI.

Scegli uno stile per le tabelle entità e mantienilo: singolare (user, invoice, ticket) o plurale (users, invoices, tickets). Il singolare spesso si legge meglio nei titoli dei form (“Edit Ticket”), mentre il plurale può sembrare migliore nei menu (“Tickets”). Entrambi vanno bene. Mescolare entrambi rende la navigazione incoerente.

Nomina le tabelle per quello che sono, non per quello che fanno. Una tabella dovrebbe rappresentare una cosa a cui puoi puntare. payment è una cosa; processing è un'azione. Se in seguito aggiungi rimborsi, retry e settlement, il nome processing diventa fuorviante.

Regole che mantengono menu e liste puliti:

  • Usa sostantivi concreti (customer, subscription, invoice, ticket_message).
  • Evita tabelle “cestino” per dati permanenti (settings, misc, temp, data). Dividile in entità reali (notification_setting, tax_rate, feature_flag).
  • Preferisci nomi composti brevi e leggibili con underscore (purchase_order, support_ticket) invece delle abbreviazioni.
  • Aggiungi un prefisso di modulo solo quando previene collisioni (per esempio billing_invoice vs invoice). Se applichi il prefisso, usalo coerentemente nel modulo.

Se stai usando AppMaster per generare schermate direttamente dal tuo schema, nomi stabili basati su sostantivi solitamente producono un menu e una vista elenco di default puliti con meno correzioni successive.

Tabelle di join e identificatori: mantenere leggibile il many-to-many

Le relazioni many-to-many sono dove i pannelli admin spesso cominciano a sembrare disordinati. Se la join table e le sue chiavi sono ben nominate, le schermate generate restano leggibili senza pulizia manuale.

Parti da una regola noiosa e non romperla: ogni tabella ha una chiave primaria chiamata id. Non mescolare user_id come chiave primaria in una tabella e id in un'altra. Identificatori uniformi rendono le relazioni prevedibili e aiutano form generati e campi di riferimento a restare coerenti.

Per le join table “pure”, chiamale dopo entrambe le entità usando un pattern e un ordine unici. Opzioni comuni sono alfabetico (product_tag) o “cosa principale prima” (user_role). Scegli un ordine e mantienilo.

Evita nomi vaghi come links o mappings a meno che la tabella non contenga davvero link generici tra oggetti. Nella maggior parte dei pannelli admin la specificità batte l’originalità.

Quando una join diventa una entità reale

Se la relazione ha campi extra, trattala come un modello a sé e chiamala con un sostantivo che le persone capiscano: membership, assignment, subscription. Per esempio, se il ruolo di un utente ha starts_at, ends_at e granted_by, user_role va bene, ma membership potrebbe risultare più leggibile nell'interfaccia.

Un semplice insieme di regole che mantiene le schermate professionali:

  • Usa id come chiave primaria in ogni tabella.
  • Nomina le join table con entrambe le entità in un ordine coerente (user_role).
  • Usa chiare chiavi esterne come user_id e role_id.
  • Aggiungi una regola di unicità che rispecchi la realtà (per esempio, un solo role_id per user_id).
  • Se permetti la cronologia, fai corrispondere la regola di unicità agli record “attivi” (per esempio, unico dove ended_at è null).

Queste scelte reggono con la crescita dei dati e funzionano bene con il Data Designer di AppMaster, dove le schermate possono essere generate direttamente dal modello.

Pattern di naming dei campi che producono colonne e filtri chiari

Rendi le tabelle facili da filtrare
Usa id coercenti, campi `_at` e enum di stato per mantenere i filtri prevedibili.
Prova ora

I nomi dei campi fanno più che aiutare gli sviluppatori. Decidono cosa gli utenti vedono come intestazioni di colonna, etichette dei filtri e campi dei form.

Suffissi prevedibili rimuovono dubbi:

  • Usa _id per le chiavi esterne: customer_id, assigned_agent_id.
  • Usa _at per i timestamp: created_at, paid_at, closed_at.
  • Usa _count per i contatori: login_count, attachment_count.

I booleani dovrebbero leggere come frasi semplici. Preferisci is_ e has_ così le checkbox hanno senso a colpo d'occhio: is_active, has_paid, is_verified. Evita i doppi negativi come is_not_approved. Se hai bisogno di uno stato “non”, modella il positivo e inverte la logica nel codice.

I campi monetari sono una fonte comune di confusione nelle griglie admin. Scegli un approccio e mantienilo: memorizza le unità minori (come i centesimi) in un intero, oppure usa decimali con precisione fissa. Nomina il campo così nessuno debba indovinare. Per esempio, total_amount_cents + currency_code, o total_amount + currency_code. Non mescolare price, amount e total a meno che rappresentino concetti diversi.

I campi di testo dovrebbero essere specifici sullo scopo, non solo sul tipo. description è rivolto all'utente. internal_comment è privato. notes è un contenitore generale e va usato con cautela. Se hai più note, nominale per audience: customer_note, agent_note.

I campi di contatto devono essere letterali perché spesso diventano filtri rapidi: website_url, contact_email, billing_email. Nelle schermate generate da AppMaster, nomi come questi di solito diventano etichette predefinite pulite.

Relazioni e chiavi esterne: nomi che spiegano il modello dati

Buone relazioni si leggono come inglese semplice. Quando un pannello admin è generato dal database, i nomi delle chiavi esterne spesso diventano titoli di colonna, filtri e etichette dei form.

Mantieni una regola: la colonna della chiave esterna è il nome della tabella referenziata più _id. Se hai customer.id, usa customer_id. Se hai order.id, usa order_id. Questa coerenza rende ovvio a cosa punta una colonna.

Le self-relation richiedono chiarezza extra perché sono facili da fraintendere in seguito. Evita related_id generico. Usa nomi che spieghino direzione e significato, come parent_id per alberi, manager_id per organigrammi, o merged_into_id per deduplicazioni.

Quando una relazione coinvolge una join table, chiamala in modo che si legga come una frase. Per esempio, ticket_assignee.user_id è più chiaro di ticket_user.user_id se il ruolo è “assignee” (e non “reporter” o “watcher”).

Controlli pratici che prevengono la maggior parte dei problemi:

  • Non riutilizzare owner_id con significati diversi tra tabelle. Preferisci created_by_user_id, account_manager_user_id o billing_contact_id.
  • Se hai più relazioni verso la stessa tabella, includi il ruolo: requested_by_user_id e approved_by_user_id.
  • Scegli un marker di soft delete e mantienilo. deleted_at è ampiamente compreso e funziona bene con i filtri.

Se costruisci schermate in AppMaster in seguito, questi nomi compaiono ovunque, quindi un po' di attenzione qui risparmia molta pulizia UI.

Enum e campi di stato che restano comprensibili nel tempo

Costruisci lo stack completo no-code
Usa AppMaster per costruire lo stack completo: database, backend e UI admin da un unico modello.
Inizia

Se il tuo pannello admin viene generato dal database, il modo più rapido per rendere le schermate confuse è spargere il significato su molti flag booleani. Preferisci un enum di stato chiaro per il ciclo di vita principale di un record e conserva flag extra solo per comportamenti veramente separati.

Una regola utile: se gli utenti chiederebbero “Dove si trova questo elemento nel suo percorso?”, quello è uno stato. Se la domanda è “Dovremmo nasconderlo?” o “È bloccato?”, quello è un booleano separato.

Uno stato vale più di cinque booleani

Invece di is_new, is_in_progress, is_done, is_cancelled, usa un unico ticket_status. Si legge meglio nelle colonne elenco, nei filtri e nelle azioni in blocco. Evita anche combinazioni impossibili come “done + in_progress”.

Mantieni i valori enum stabili. Il testo UI può cambiare, ma i valori memorizzati non dovrebbero. Memorizza pending, non waiting_for_review. Memorizza rejected, non rejected_by_manager. Puoi sempre mostrare etichette più amichevoli dopo senza migrare i dati.

Quando ti serve dettaglio extra, aggiungi un secondo campo invece di sovraccaricare lo stato. Esempio: mantieni payment_status per il ciclo di vita e aggiungi failure_reason (testo) quando serve.

Nominare gli enum per dominio (così i filtri hanno senso)

Usa un prefisso di dominio così le schermate rimangono leggibili quando più modelli hanno uno “status”:

  • payment_status (checkout ordine)
  • ticket_priority (urgenza supporto)
  • user_role (livello di accesso)
  • invoice_status (ciclo di fatturazione)
  • delivery_status (ciclo di spedizione)

Separa il ciclo di vita dai flag operativi. Per esempio: status descrive dove si trova nel workflow, mentre is_archived significa che dovrebbe essere nascosto dalle liste quotidiane.

Scrivi una frase che spieghi ogni valore enum nelle note del team. Il te futuro dimenticherà la differenza tra cancelled e voided. Se usi AppMaster, quelle brevi definizioni aiutano anche a mantenere coerenti dropdown e filtri tra web e mobile.

Casi limite: date, campi di audit e colonne “type”

Le guide di naming spesso coprono tabelle e campi base, ma i pannelli admin si incasinano nei casi limite. Date, campi di audit e colonne “type” sono dove nomi confusi si trasformano in schermate confuse.

Per date e timestamp, fai sì che il nome racconti la storia: è pianificata, reale o un promemoria? Un pattern semplice è un significato verbale più un suffisso chiaro. Per esempio, due_at (scadenza pianificata) e completed_at (fine effettiva) si renderanno come colonne e filtri comprensibili. Evita coppie vaghe come start_date e end_date quando intendi realmente scheduled_at e finished_at.

Le relazioni opzionali sono un'altra trappola comune. Non inventare nuovi pattern per ogni tabella. Mantieni il nome della relazione stabile e lascia che “opzionale” sia espresso con i null, non rinominando il campo. manager_id dovrebbe restare manager_id anche se è opzionale.

Gli indirizzi possono sembrare ok nel codice ma confondere nelle griglie. Le linee numerate vanno bene solo se il team concorda il significato ovunque. Rendile esplicite:

  • address_line1, address_line2, city, region, postal_code, country_code
  • Evita address1, address2 (più difficile da leggere, più facile duplicare)

I campi di audit devono essere noiosi apposta:

  • created_at, updated_at
  • created_by_id, updated_by_id (solo se realmente hai bisogno del tracciamento utente)

Fai attenzione con type. È quasi sempre troppo generico e invecchia male. Invece di type, nomina il significato: payment_method, ticket_channel, customer_tier. In schermate generate dallo schema (incluso AppMaster), questa singola scelta può fare la differenza tra un filtro chiaro e un dropdown confuso.

Esempio: nominare un modello di support ticket che stia bene nell'admin

Prototipa una funzione velocemente
Testa la tua baseline di naming su un piccolo modulo prima che il database cresca.
Crea un prototipo

Un setup di supporto piccolo e realistico: i clienti scrivono, lo staff risponde e i ticket possono essere taggati. Le convenzioni di naming sono ciò che fanno sembrare ovvie le voci di menu, le liste e i filtri auto-generati.

Inizia con nomi di tabella che si leggono come sostantivi nella sidebar:

  • customer
  • ticket
  • ticket_message
  • ticket_tag
  • ticket_tag_link

Nella maggior parte dei pannelli admin diventano etichette come “Tickets” e “Ticket Messages”, e la join table resta fuori mano.

Per la schermata lista ticket, scegli nomi di campo che diventino intestazioni di colonna e filtri chiari:

  • subject, status, priority
  • assigned_to_id (punta a un utente staff)
  • last_message_at (serve per ordinare per recente)
  • created_at (standard e prevedibile)

Gli enum sono il punto dove la leggibilità spesso si rompe col tempo, quindi mantieni l'insieme stabile e semplice:

  • ticket_status: new, open, pending_customer, resolved, closed
  • ticket_priority: low, normal, high, urgent

Una scelta di naming che evita confusione costante: non sovraccaricare “customer”. Nel supporto il richiedente non è sempre il cliente (un collega può inviare per conto di qualcun altro). Se salvi chi ha inviato il ticket, chiamalo requester_id, e salva separatamente customer_id per l'account di cui il ticket parla. Questa distinzione mantiene form e filtri veritieri fin dal primo giorno.

Passo dopo passo: come nominare un nuovo modello prima di costruire le schermate

Testa un esempio di ticketing
Costruisci un modello di supporto e verifica come i nomi delle join influiscono sulle schermate generate.
Provalo

Il modo più semplice per mantenere le schermate leggibili è nominare le cose mentre stai ancora pensando in linguaggio naturale, non mentre stai già costruendo.

Un processo ripetibile per ogni funzionalità

  1. Inizia con un mini glossario (5–10 termini). Scrivi le parole che un collega non tecnico userebbe in una riunione, poi scegli un termine preferito per ogni concetto (per esempio, “customer” vs “client”).

  2. Schizza le schermate che prevedi: lista, dettaglio, crea, modifica. Per la vista lista, decidi quali 5–8 colonne devono essere immediatamente chiare come intestazioni. Se un nome di campo suonerebbe strano come intestazione, probabilmente va rivisto.

  3. Bozza tabelle e relazioni, poi nomina i campi usando le regole di suffisso (*_id, *_at, is_*, *_count). Quando in seguito genererai le schermate admin (anche in AppMaster), questi pattern tendono a produrre etichette pulite e filtri prevedibili.

Prima di andare avanti, assicurati di non mescolare stili (customer_id in una tabella, clientId in un'altra). La coerenza batte l'astuzia.

  1. Definisci gli enum presto, non dopo che la prima UI esiste. Scrivi una riga che spieghi ogni valore, come se lo stessi spiegando al supporto. Preferisci valori che sopravvivano ai cambiamenti, come pending, active, archived (non new, newer, newest).

  2. Fai una “lettura delle intestazioni di colonna”. Fingi di essere l'utente admin che scorre una tabella.

  • Sarebbero comprensibili senza training “Created At”, “Updated At”, “Status”, “Assigned To”, “Total Amount”?
  • Qualche campo sembra codice interno (tmp_flag, x_type, data1)?
  • Le unità sono ovvie (amount_cents vs amount, duration_seconds vs duration)?

Se qualcosa suona poco chiaro ad alta voce, rinominalo ora. Rinominare dopo è possibile, ma spesso si replica in report, filtri e abitudini.

Errori comuni di naming che rendono i pannelli admin difficili da usare

Se lo schema è disordinato, le schermate lo saranno comunque, per quanto bella sia la UI. Le convenzioni di naming riguardano meno lo “stile” e più l'usabilità quotidiana.

La prima trappola è il vocabolario misto. Se una tabella usa client e un'altra customer, menu, filtri e risultati di ricerca sembreranno descrivere cose diverse. Scegli una parola per ogni concetto core e usala ovunque, inclusi i nomi delle relazioni.

Un altro problema comune è l'eccessiva abbreviazione. Abbreviazioni come addr, misc o info risparmiano pochi caratteri ma costano molta chiarezza in tabelle ed export.

Un terzo errore è bake-in del flusso UI nel database. Un campo come new_customer_wizard_step ha senso durante il lancio, poi diventa confuso quando il flusso cambia o aggiungi una seconda onboarding. Memorizza il fatto di business (per esempio onboarding_status) e lascia all'interfaccia decidere come guidare le persone.

Attenzione anche al sovraccarico di booleani. Quando aggiungi is_new, is_open e is_closed, arriveranno conflitti (due veri contemporaneamente) e filtri poco chiari. Preferisci un singolo campo di stato con pochi valori ben nominati.

Segnali di pericolo che portano a schermate admin brutte:

  • Due nomi diversi per la stessa cosa (client_id in un posto, customer_id in un altro)
  • Colonne contenitore (notes, misc, extra) che finiscono per contenere dati misti
  • Nomi dipendenti dal tempo (summer_campaign_*) che sopravvivono alla campagna
  • Molteplici booleani che descrivono uno stato unico
  • Rinomine fatte casualmente, senza piano di migrazione

Rinominare non è solo trova-e-sostituisci. Se cambi customer_phone in phone_number, pianifica la migrazione, aggiorna le schermate generate e mantieni la compatibilità retroattiva dove serve (soprattutto se altri sistemi leggono l'API). In AppMaster, nomi puliti pagano subito perché liste, form e filtri ereditano queste etichette dal tuo modello.

Lista di controllo rapida prima di consegnare il pannello admin

Estendi l'admin al mobile
Usa lo stesso modello chiaro per generare viste mobile quando il team ha bisogno di amministrazione in movimento.
Crea app mobile

Prima di considerare lo schema “finito”, fai una passata dal punto di vista di chi vivrà nel pannello admin ogni giorno.

  • Le tabelle suonano come cose reali. Un collega dovrebbe riuscire a dire cosa rappresenta una tabella (ticket, customer, invoice) senza indovinare.
  • I campi chiave seguono suffissi prevedibili. Usa pattern riconoscibili a colpo d'occhio: *_id per riferimenti, *_at per timestamp, *_amount (o *_amount_cents) per soldi, e is_* per flag true/false.
  • Gli enum sono stabili e semplici. Memorizza valori come pending, paid, failed invece di frasi UI destinate a cambiare.
  • Un nuovo collega può inferire il significato. Se i campi apparissero in una vista lista generata senza help, l'intento sarebbe comunque ovvio?
  • Le parole ambigue sono rimosse o rese specifiche. Sostituisci nomi generici come data, value, type o info con nomi concreti come status, source, category, notes o external_reference.

Se usi il Data Designer di AppMaster per generare viste in stile admin dal tuo schema, questa checklist è subito pratica: nomi chiari diventano colonne e filtri chiari, e passi meno tempo a correggere etichette dopo che gli utenti iniziano a lavorare nel sistema.

Prossimi passi: rendere il naming un'abitudine (e mantenere consistenti le schermate)

Un buon naming non è un intervento una tantum. È una piccola routine che mantiene leggibile la UI admin mentre lo schema cresce.

Inizia con un modulo esistente e applica le regole solo alla prossima tabella che aggiungi. Questo evita una riscrittura spaventosa e ti dà un posto reale per fare pratica. Se la prossima feature aggiunge “returns” a un sistema di ordini, nomina la tabella, le chiavi esterne e gli stati usando i tuoi pattern fin dall'inizio, poi riusa l'approccio per la feature successiva.

Tieni una guida di naming di una pagina accanto al luogo dove lavori sullo schema. Rendila corta: come nomi tabelle, chiavi primarie, chiavi esterne, timestamp ed enum di stato. L'obiettivo sono decisioni rapide, non lunghe discussioni.

Se costruisci con AppMaster, è utile impostare questi pattern nel Data Designer prima di toccare le schermate UI. Quando rinomini tabelle o campi, rigenera l'app così schermate, API e logica restano allineate invece di divergere.

Un rapido controllo leggero prima di ogni release è di solito sufficiente:

  • I nomi di tabelle e campi si leggono bene come voci di menu, intestazioni di colonna e filtri?
  • Stati ed enum sono chiari senza spiegazioni aggiuntive?
  • Relazioni e chiavi esterne si spiegano da sole (niente abbreviazioni misteriose)?
  • Modelli simili sono nominati coerentemente (stesse parole, stesso ordine)?

Col tempo, il vero vantaggio è la coerenza. Quando ogni nuovo modello segue le stesse regole, i tuoi pannelli admin iniziano a sembrare progettati anche quando sono generati, perché etichette e liste si leggono come un prodotto coerente.

FAQ

Perché i nomi del database influenzano l'aspetto e la sensazione di un pannello admin?

Usa nomi che leggano cosa è il record, non cosa fa. Una tabella chiamata ticket o invoice diventerà una voce di menu chiara, mentre qualcosa come processing diventa rapidamente fuorviante se il flusso cambia.

Dovremmo usare snake_case o camelCase per tabelle e colonne?

Scegli uno stile e mantienilo ovunque. Per la maggior parte dei database, snake_case è il più facile da leggere e aiuta le etichette e i filtri generati a non sembrare casuali.

Come decidiamo quando le abbreviazioni vanno bene?

Di default usa parole intere e ovvie, perché diventano intestazioni di colonna e etichette dei filtri. Abbreviazioni come acct o addr1 generalmente creano esitazione per gli operatori, anche se gli sviluppatori le capiscono.

I nomi delle tabelle devono essere singolari o plurali?

Scegli un approccio e usalo con costanza: singolare (ticket) o plurale (tickets). L'obiettivo è che la navigazione e i titoli di pagina non cambino stile tra i moduli.

Qual è una regola semplice per chiavi primarie e chiavi esterne?

Regola semplice: la chiave primaria di ogni tabella è id e le chiavi esterne sono qualcosa_id. Questo rende le relazioni prevedibili e aiuta moduli generati e campi di riferimento a sembrare coerenti.

Come dobbiamo nominare le tabelle many-to-many così che l'UI resti leggibile?

Nomina le join table pure dopo entrambe le entità usando un ordine coerente, come user_role o product_tag. Se la relazione ha campi aggiuntivi e un significato proprio, rinominala con un sostantivo reale come membership o assignment così l'interfaccia legge naturalmente.

Quali pattern di naming producono colonne e filtri puliti?

Usa suffissi prevedibili che riflettano tipo e intento, come _at per timestamp e _count per contatori. Per i booleani, preferisci is_ e has_ così le checkbox leggono come frasi semplici nelle schermate generate.

È meglio usare un enum di stato o diversi flag booleani?

Preferisci un campo di stato chiaro per il ciclo di vita principale, ad esempio ticket_status o invoice_status, invece di molteplici booleani sovrapposti. Mantieni i valori memorizzati stabili e semplici così puoi cambiare il testo visualizzato senza migrare i dati.

Come nominiamo più relazioni verso la stessa tabella senza creare confusione?

Non riutilizzare nomi generici come owner_id o type quando significano cose diverse. Usa nomi legati al ruolo come created_by_user_id, approved_by_user_id o payment_method così schermate e filtri si spiegano da soli.

Quando dovremmo rinominare una tabella o una colonna, e come evitiamo di rompere le cose in AppMaster?

Rinomina preferibilmente presto, prima che schermate, filtri e report dipendano dai nomi vecchi. In AppMaster, aggiorna i nomi nel Data Designer e rigenera così UI e API restano allineate invece di scivolare fuori sincronizzazione.

Facile da avviare
Creare qualcosa di straordinario

Sperimenta con AppMaster con un piano gratuito.
Quando sarai pronto potrai scegliere l'abbonamento appropriato.

Iniziare