Lo scopo di questa tabella è quello di descrivere tutte le tabelle di dati e memorizzare le informazioni necessarie per la costruzione delle interfacce, i form, per la gestione dei dati.

Vado ad analizzare i campi creati:
- il secondo campo
tabella(VARCHAR(20)) dove memorizzeremo il nome della tabella di appartenenza del campo, nel nostro caso i valori saranno “news” o “autori” - Il terzo campo sarà il
nomedel campo (VARCHAR(20)), quindi per la tabella “news” avremoid,titolo,testoe così via - Quarto campo
label(VARCHAR(50)) per definire l’etichetta del campo nel form, dato che il nome del campo non può essere utilizzato per convenzione. Per esempio nel nostro caso potremmo avere “data_pubblicazione” e label “Data pubblicazione”. - Il quinto campo sarà un
ENUMcon valori ‘0’ o ‘1’: lo chiameremochiavee servirà per definire la chiave primaria. - Il sesto campo,
tipo_input, sarà unENUMcontenente tutte le possibili opzioni di inputtext,hidden,password,search,email,number,date,checkbox,checkboxlist,radiolist,selectetextarea). Potremmo averetextper il titolo della news e unatextareaper il testo, un hidden per l’id ecc. - Il campo successivo sarà un
ENUMe servirà per definire se un campo è obbligatorio o meno ed effettuare i relativi controlli server-side, ovviamente questa opzione può essere sfruttata anche per creare controlli client-side. Simile la funzione del campocontrolloche sarà sempre funzionale ai controlli server-side e potremo scegliere fra le opzionistringoint. - Abbiamo ora un terzetto di campi che serviranno per la creazione delle SELECT e quindi per la gestione delle relazioni uno a molti: se il controllo sarà quindi una
SELECTdovremo indicare da quale tabella estrarre i dati, quale campo utilizzare per il valore della option HTML e quale nel testo visibile. Si tratta quindi di treVARCHAR:origine_tabella,origine_id,origine_testo. - I successivi tre campi hanno uno scopo simile ma questa volta declinato sulle tabelle di relazione molti a molti (il tipo di campo normalmente associato sarà una
checkboxlist):rel_tabella,rel_id1,rel_id2, tuttiVARCHAR. - L’ultimo campo,
ordine, e sarà unINT, o undecimal(10,3), e servirà per decidere l’ordine dei campi nei form di inserimento e modifica.
Adeso devo popolare la tabella:

Ora nella tabella struttura ci sono tutte le informazioni e le meta-informazioni per gestire le tabelle “news” e “autori”: eseguendo una SELECT saremo in grado di costruire i form e le liste per la gestione dei dati.