Le tabelle di WordPress

Quando leggiamo delle pagine o articoli di un sito realizzato con WordPress, tutto il contenuto deriva da “misteriose” tabelle di database.

METTERE INSIEME

L’utilizzo di un database è necessario per “tenere insieme” i diversi pezzi di cui si compone una pagina web.

WordPress, infatti compone le pagine nel momento in cui vengono chieste (runtime).

Un altro aspetto che l’uso del database risolve è quello della sicurezza: come concedere ad un utente di inserire commenti o aggiungere articoli? Ci vuole un “registro”…

 

TABELLE

Tutte le informazioni “dinamiche” sono registrate su tabelle.

Possiamo immaginare le tabelle come dei fogli elettronici: righe e colonne.  Poi, così come ogni foglio elettronico ha il suo “ambito”, allo stesso modo le tabelle sono specifiche. In altre parole la tabella utenti conterrà riferimenti a persone od account. Un altra tabella “articoli” conterrà i testi degli articoli.

In WordPress il database utilizzato è: MySql o MariaDB.

PERCHÉ CONOSCERE?

La conoscenza di questa struttura di tabelle è utile per gestire il sito. Ovviamente si può utilizzare il blog ignorando completamente queste tabelle.

Ad esempio, se volessi conoscere tutti il link presenti negli articoli o pagine, sarei costretto ad installare l’ennesimo plugin, oppure chiedere ad un esperto.

 

PAGINE NON PAGINE

In realtà con WordPress la struttura delle informazioni è un po’ più complicata. Il tutto nasce dal fatto che WordPress non è un prodotto “finito”: con i diversi plugin (e non solo) possiamo cambiare la struttura delle pagine aggiungendo caratteristiche o attributi.

Faccio un esempio. Se nel mio WordPress aggiungo un plugin di ecommerce ,  avrò delle pagine (pagine nel senso di WordPress) che diventano schede dei prodotti. Eppure sono sempre delle pagine, con la differenza che hanno degli attributi in più: il prezzo , il codice e via dicendo.

MODELLO EAV

Per risolvere il problema di pagine e articoli con attributi che cambiano in base ai plugin o funzionalità, è stato adottato il sistema di dati EAV: Entity Attribute Value. 

Senza entrare troppo nel dettaglio, nel  modello EAV le tabelle non rispecchiano l’oggetto che contengono (contrariamente al modello E-R), ma hanno un campo chiamato “tipo record” che specifica il senso del record.

Sempre per stare nell’esempio dell’ecommerce, una pagina di un prodotto, codice “LAMP123” potrebbe essere così strutturata:

1;1;"lampadina 2W, attacco E21"

dove “1” è il numero della pagina, l’altro “1” è il codice relativo al testo o descrizione e di seguito la descrizione vera e propria

1;2;12

in questo record “1” è sempre il codice della pagina, “2” è il codice che indica un record “prezzo” e 12 è il prezzo vero e proprio

1;3;23

anche in questo caso il record “1” è sempre il codice della pagina, il “3” identifica il record di disponibilità pezzi e “23” sono i pezzi effettivamente disponibili per la vendita.

Quindi quando WordPress deve creare la pagina “1” non dovrà fare altro che raccogliere tutti i record “1” e assegnare ad ogni campo il valore del tipo record.

METADATI

Per poter riconoscere i diversi tipi di record, WordPress deve ricorrere ad un registro particolare i metadati. Nei metadati, ad esempio, è scritto che la scheda prodotto è composta dall’insieme dei tipi record “1”, “2” e “3”. Senza metadati le tabelle di WordPress diventano illeggibili. Possiamo quindi schematizzare in questo modo:

 

tabelle -> metadati -> informazione

Ovviamente è tutto automatico: noi dobbiamo solo preoccuparci di inserire i contenuti e di eseguire i backup periodicamente.

COSA SERVE?

Per poter vedere (e volendo modificare ) i dati nelle tabelle di WordPress esistono due modi: phpmyadmin oppure l’interfaccia testo. Per il primo (phpmyadmin) basterà il browser, mentre per il secondo servirà connettersi come terminale. In un precedente articolo consigliavo l’uso di Putty, questo è il link.

 

PROSSIMAMENTE

Quindi nel prossimo articolo su WordPress vedremo come gestire, “dall’interno” il nostro sito,  interrogando direttamente il database, in particolare l’assegnazione delle immagini, link e altro ancora.

Leave a Reply