13/05/2022

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:

  1. 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).
  2. Il Server Web esegue la pagina index.php in locale e produce una pagina in HTML, spesso misto ad altri linguaggi, come risultato.
  3. 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.

Trasferire un sito WordPress da locale a remoto. La guida completa
https://www.wppoint.it/trasferire-wordpress-da-un-hosting-ad-un-altro-hosting/
Il Database MySQL, questo sconosciuto

Partiamo con la prima distinzione, Database e MySQL.

Conosciuto anche come DB, Base di Dati o Banca Dati, il Database è un insieme di dati, strutturato in base all’omogeneità dei contenuti e dei formati delle informazioni. Il Database è solitamente memorizzato in un computer di tipo Server (che eroga servizi), e risponde alle interrogazioni fatte tramite un Client (generalmente un computer che richiede servizi ad un computer di tipo Server.

Esistono diversi tipi di DBMS, che sarebbe Database Management System (Sistema di Gesione di Basi di Dati). IL DBMS 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, che sarebbe Content Management System (Sistema di Gestione di Contenuti) come WordPress (ma anche come Drupal, Prestashop, Joomla e cosi via), è indispensabile l’utilizzo di un Database MySQL.

Quando scegliamo un pacchetto di servizi presso un Hosting Provider, dobbiamo aver cura di sceglierne uno che offra anche almeno un Database MySQL.

COME FUNZIONA ESATTAMENTE

Cosi 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.
Il 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 visitatore naviga su un sito fatto in PHP e richiede una determinata pagina, non vedrà il contenuto della file ma il risultato dell’elaborazione dello script che è viene eseguito direttamente sul Server Web, e genera una file come risultato che può contenere diversi tipi di informazioni.

Facciamo un esempio:
1) Il visitatore digita l’indirizzo del sito che vuole visitare e chiede al Server Web la prima pagina, chiaramente con estensione in PHP (index.php)
2) Il Server Web esegue la pagina index.php in locale e produce una pagina in HTML, misto ad altri linguaggi, come risultato.
3) 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, il MySQL.
Quando viene eseguito un file PHP che si interfaccia al Database MySQL, sono possibili una serie di interazioni ma principalmente, leggere e scrivere dati.

Poniamo il caso di voler vedere i dati di un nostro account, di un sito fatto in PHP dove ci siamo ipoteticamente registrati prima e clicchiamo sulla classica scritta “IL TUO PROFILO”.
La pagina che visualizzeremo, sarà stata generata dall’esecuzione di uno script in PHP, che interroga il DB MySQL, che risponde con i vostri dati che in fine, vengono impaginati in base a come è stato scritto il codice sorgente.
Il risultato di questo processo è che vedremo una pagina con i nostri dati scritti.

Possiamo grossolanamente affermare che, i file in PHP sono il programma che interagisce con i DATI che sono nel Database.

Ovviamente, i dati conservati all’interno di un Database, occupano spazio e per questo motivo, vale lo stesso discorso dello spazio e del traffico che abbiamo precedentemente affrontato nell’articolo precedente.




Se ancora non l'hai fatto seguici sulla nostra pagina Facebook ed iscriviti al gruppo di supporto e al canale YouTube.

Articoli Correlati

Sull'autore

Roberto Delisio

Sono più di 15 anni che lavoro alla realizzazioni di applicativi e siti web. Metto la mia esperienza a disposizione di chi ha necessità di sviluppare o gestire il proprio sito in Wordpress.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>

Scarica l'ebook per evitare e risolvere i 10 errori più comuni su WordPress