Il Database, conosciuto anche come DB, Base di Dati o Banca Dati, è un contenitore dove vengono memorizzati dei dati. Il Database è solitamente memorizzato in un computer di tipo Server (cioè che eroga servizi), che risponde alle interrogazioni fatte generalmente da un Client (approfondiremo il tutto più avanti).
Esistono diversi tipi di RDBMS ("Relational Database Management System" o "Sistema di Gesione di Basi di Dati Relazionali" in italiano). Il RDBMS che ci interessa conoscere è MySQL, attualmente uno dei più diffusi Software di gestione di Database soprattutto nel mondo del Web.
Quando si vuole utilizzare un CMS (Content Management System) come WordPress (ma anche come Drupal, Prestashop, Joomla e così via), è indispensabile l’utilizzo di un Database MySQL.
Quando scegliamo un pacchetto di servizi presso un Hosting Provider per WordPress, dobbiamo aver cura di sceglierne uno che offra almeno un Database MySQL.
Come funziona esattamente MySQL
Come per WordPress, dietro la maggior parte dei CMS in circolazione esiste la medesima “meccanica” di funzionamento.
WordPress è sviluppato nel linguaggio di programmazione PHP e utilizza un Database MySQL per funzionare.
PHP è l’acronimo di “PHP: Hypertext Preprocessor”, in italiano Preprocessore di Ipertesi, in origine “Personal Home Page”. È un linguaggio di scripting interpretato, che viene utilizzato principalmente per lo sviluppo di applicazioni lato server.
In parole povere, quando un utente naviga su un sito fatto in PHP e visita una determinata pagina, vedrà il risultato dell’elaborazione dello script che viene eseguito direttamente sul Server Web, e che genera un file che può contenere diversi tipi di informazioni.
Facciamo un esempio:
- Il visitatore digita l’indirizzo del sito che vuole visitare e chiede al Server Web la prima pagina, ovviamente con estensione in PHP (index.php).
- Il Server Web esegue la pagina index.php in locale e produce una pagina in HTML, spesso misto ad altri linguaggi, come risultato.
- Il Server Web invia la pagina risultante al Browser (Internet Explorer, Firefox, Chrome, etc.) del computer (il Client in questo caso), che si occupa di visualizzarla sullo schermo del visitatore.
Il processo si ripete per ogni pagina visitata.
Dove entra in gioco il Database?
La risposta è nel punto 2. Il linguaggio di programmazione PHP può interfacciarsi con diversi tipi di Database, e guarda caso anche con quello che serve a noi, cioè il MySQL.
Quando viene eseguito un file PHP che si interfaccia al Database MySQL, sono possibili una serie di interazioni, e principalmente la lettura e la scrittura di dati.
Poniamo il caso di voler vedere i dati del nostro account su un sito fatto in PHP dove ci siamo ipoteticamente registrati. Come prima cosa cliccheremo sulla classica scritta “IL TUO PROFILO”.
La pagina che visualizzeremo sarà generata dall’esecuzione di uno script in PHP, che interrogherà il DB MySQL, che risponderà con i vostri dati, che verranno infine impaginati in base a come è stato scritto il codice sorgente e inviati al browser in HTML.
Come risultato di questo processo visualizzeremo una pagina con i dati del nostro account.

Cosa si può fare con il database?
Esistono diversi strumenti per gestire un Database MySQL.
Il più utilizzato è phpMyAdmin e puoi trovarlo in ogni pannello di amministrazione (uno dei più diffusi è CPANEL) di Spazio Web e servizi correlati.
Oltre a permetterti di far funzionare WordPress , avere accesso diretto al Database MySQL ti permette di poter fare delle operazioni di non poca importanza.
In primis per importanza, quello che puoi fare, è il backup (una copia di salvataggio che tutti dovrebbero fare periodicamente) del Database stesso.
Se invece hai dimenticato la password di amministrazione di WordPress , avendo accesso diretto al Database, puoi andare a modificare i dati relativi all'account dell'amministratore manualmente, e riprenderne il controllo.
Un approccio diretto al Database ti permette di spostare facilmente WordPress , da un hosting all'altro senza troppi problemi, come descritto nell'articolo 4 step per trasferire WordPress da un hosting all’altro senza andare offline, oppure, se devi trasferire WordPress da un Server Locale a uno Remoto, come descritto nell'articolo Trasferire un sito WordPress da locale a remoto. La guida completa.
Struttura del database MySQL di WordPress
Per quanto possa sembrare complicato WordPress lavora con solo 11 tabelle con l’installazione di base. Questo possono aumentare in base ai plugin installati.

L'immagine in alto ti mostra le tabelle del database di WordPress e come sono relazionate tra di loro.
Durante l'installazione le tabelle vengono nominate con un prefisso che cambia per ogni installazione mentre il nome dopo ”_” è sempre lo stesso
Le tabelle gestiscono come detto i contenuti testuali.
Vediamole più nel dettaglio:
1. wp_posts
Poiché i tipi di contenuto dei tuoi post e delle pagine sono archiviati in questa tabella, è probabilmente la tabella più importante nel database di WordPress. I tipi di contenuto includono testo, revisioni, voci di menu, allegati multimediali e qualsiasi elemento personalizzato.
2. wp_postmeta
È un'estensione della tabella wp_posts. Memorizza informazioni extra dai post. Alcuni plugin memorizzano i dati all'interno di questa tabella.
Nota: in tutto il database, ci sono molte di queste tabelle che consentono al core di WordPress o a un tema o plug-in di memorizzare informazioni aggiuntive.
3. wp_options
La tabella delle opzioni è un diverso tipo di tabella. Invece di memorizzare il contenuto del sito Web, memorizza le impostazioni del sito. Questa tabella memorizza le configurazioni del tuo sito web come il titolo del sito, lo slogan e il fuso orario. In genere memorizza anche le impostazioni di plugin e temi. A differenza di altre tabelle, la tabella wp_options non condivide realmente una relazione con nessuna delle altre tabelle.
4. wp_users
La tabella wp_users memorizza l'elenco di tutti gli utenti registrati del tuo sito Web WordPress. Di conseguenza, salva le informazioni di base come il nome utente, le password di WordPress, l'ID e-mail, il nome visualizzato, l'ora della registrazione, ecc. Utile sa sapere se hai problemi con il recupero password come dicono in questo articolo: Come reimpostare la password di WordPress
5. wp_usermeta
WordPress memorizza informazioni extra sugli utenti nella tabella wp_usermeta. Ad esempio, il cognome di un utente viene salvato nella tabella wp_usermeta invece che nella tabella wp_users.
6. wp_terms
La tabella wp_terms memorizza categorie e tag per i post . Qui ci sono anche i link relativi alle categorie. La tabella wp_terms condivide una relazione con la tabella wp_term_taxonomy e wp_term_relationships.
7. wp_term_taxonomy
wp_term_taxonomy memorizza le descrizioni di categorie, tag e alcuni collegamenti associati alle categorie.
8. wp_term_relationships
La tabella wp_term_relationships aiuta a mantenere le relazioni. Ad esempio, in questo post, quello che stai leggendo, è associato ad alcuni tag e a una categoria. La tabella wp_term_relationships aiuta a mantenere questa associazione.
9. wp_links
La tabella wp_links memorizza le informazioni relative ai blogroll.
Poiché i blogroll non sono più in uso, è strano trovare ancora la tabella wp_links. È principalmente per le persone che utilizzano versioni precedenti di WordPress.
10. wp_comments
In questa tabella vengono memorizzati sia i commenti approvati che quelli non approvati lasciati sui tuoi post e sulle tue pagine. In questa tabella vengono salvati anche dati specifici sull'autore come il nome dell'autore, l'indirizzo email, il tipo di commento (che si tratti di un semplice commento, pingback o trackback).
11. wp_commentmeta
I dati extra sui commenti lasciati sul tuo sito web, ad esempio a quale post è associato il commento, vengono memorizzati qui.
Questa è la tabella finale nel database di WordPress di un nuovo sito web.
È importante notare che se stai controllando il database di un vecchio sito Web, ci saranno sicuramente più di 11 tabelle.
Più tempo dedichi alla gestione di un sito Web, più informazioni aggiungi. Di conseguenza, il tuo database diventa più grande. Nuove tabelle vengono aggiunte al database per supportare determinate funzioni su un sito web. Woocommerce, ad esempio, crea la propria tabella di database WordPress una volta installata sul tuo sito web. Tuttavia, non tutti i plugin aggiungono tabelle al database. Molti utilizzano quelle già presenti.
Considerazioni Finali
Possiamo grossolanamente affermare che i file di WordPress compongono "l'Applicazione" che interagisce con i "Dati" presenti nel Database.
Ovviamente, i dati conservati all'interno di un Database occupano spazio: vale quindi lo stesso discorso relativo allo spazio e al traffico che abbiamo affrontato nell'articolo: Quanto Spazio Web serve per il tuo sito WordPress?
Se hai dubbi o domande scrivi nei commenti e saremo lieti di rispondere.
Se ancora non l'hai fatto seguici sulla nostra pagina Facebook ed iscriviti al gruppo di supporto e al canale YouTube.