In breve
Un database è un luogo organizzato per memorizzare i dati della tua applicazione, così puoi salvarli, recuperarli, modificarli e cancellarli in modo affidabile. Quando un utente si registra, scrive un commento o effettua un acquisto, quell'informazione deve vivere da qualche parte che sopravvive al ricaricamento della pagina, e quel qualche parte è un database. A differenza di un semplice foglio di calcolo, un database è progettato per restare veloce e coerente anche con milioni di record e molti utenti simultanei.
Tabelle, righe e colonne
Il modo più comune di immaginare un database è come un insieme di tabelle. Ogni tabella contiene un tipo di cosa (utenti, ordini, commenti). Ogni riga è un record, e ogni colonna è un campo di quel record, come il nome o l'email. Il database li tiene organizzati e ti lascia interrogarli velocemente.
SQL vs NoSQL
Esistono due grandi famiglie. I database SQL memorizzano i dati in tabelle rigide con colonne definite, e sono eccellenti quando i tuoi dati hanno una forma chiara. I database NoSQL sono più flessibili sulla struttura e comodi quando i tuoi dati variano. Per la maggior parte delle applicazioni, entrambi vanno bene; la scelta conta meno del padroneggiare bene le basi del salvataggio e della lettura.
Soft delete: un'abitudine che vale la pena
Nei veri prodotti, di solito non cancelli i dati definitivamente nel momento in cui un utente cancella qualcosa. Al suo posto, li marchi come cancellati pur conservando la riga, ciò che si chiama soft delete. Così i dati possono essere ripristinati e la tua cronologia resta intatta, il che ti protegge da errori costosi.
Confusioni frequenti dei principianti
Un database non è la stessa cosa del tuo codice, né la stessa cosa di un backup. Il tuo codice legge dal database e vi scrive, ma i dati vivono separatamente e sopravvivono anche se ridistribuisci la tua applicazione. Le persone danno anche per scontato di dover far girare e mantenere loro stesse un server di database, cosa che una volta era vera e oggi è il più delle volte opzionale: le piattaforme moderne ospitano il database per te, gestiscono i backup e lasciano che il tuo agente IA definisca la struttura in codice. Infine, non interroghi un database con dei clic. Gli poni domande con delle query, e la maggior parte degli strumenti moderni genera queste query per te, così puoi modellare e usare veri dati ben prima di imparare il linguaggio di query stesso.
