Nella precedente lezione abbiamo introdotto l'architettura software REST per sistemi ipermediali distribuiti, descrivendone a grandi linee le componenti essenziali che ne permettono il funzionamento. Quello di cui ci occuperemo in questa lezione riguarderà la creazione del database che conterrà i dati relativi alla nostra biblioteca.
In poche parole, daremo vita ad un'interfaccia CRUD (Create, Read, Update, Delete) grazie alla quale il nostro il nostro client, tramite l'uso del protocollo HTTP, potrà dialogare con il server.Prima di poter cominciare a scrivere il codice PHP per richiedere e/o offrire i servizi REST, dovremmo creare un database capace di rappresentare la nostra biblioteca. Per questa guida abbiamo scelto di adoperare il DBMS relazionale MySQL. In questa lezione useremo MySQL Workbench per creare il database. Qualsiasi altro software di gestione database va ovviamente bene.
Una volta aperto MySQL Workbench, dalla barra dei menu facciamo clic su Database, e selezioniamo Connetti al database. Verranno mostrate le impostazioni predefinite, modificando le quali potremo scegliere il nome dell'host, lo username e la password. Una volta fatte le modifiche (o accettati i valori di default), clicchiamo su Ok per proseguire.
A questo punto, clicchiamo sull'icona di creazione di un nuovo database, come mostrato in figura:
Diamo un nome al nostro database: nell'esempio, lo chiameremo Biblioteca, cliccando poi su Applica per confermare la scelta.
Fatto ciò, abbiamo gettato le basi per la nostra biblioteca. Non resta che creare alcune tabelle per potere inserire dei dati di esempio e farceli restituire tramite chiamate REST. Risulta evidente che ci limiteremo nella creazione delle tabelle per la nostra biblioteca, perchè quello che ci interessa realmente non è tanto la creazione di una biblioteca vera e propria, dotata di tutta la logica per la gestione dei prestiti e delle consegne dei libri, bensì la creazione di un servizio REST. Le tabelle che andremo a creare, quindi, non saranno propriamente spendibili in scenari reali o professionali. Per avere una gestione minimale di una biblioteca, quello di cui avremo sicuramente bisogno è una tabella capace di memorizzare i libri in nostro possesso.
Per creare una nuova tabella, possiamo clicchare sull'apposita icona, presente all'interno della schermata del database che abbiamo appena creato. In alternativa, possiamo utilizzare l'apposita query SQL:
CREATE TABLE `libri` (
`ISBN` varchar(35) NOT NULL default ,
`Autore` varchar(50) NOT NULL default ,
`Titolo` varchar(255) NOT NULL default
);
Nel caso in cui doveste scegliere di inserire la tabella dall'interfaccia grafica di MySQL Workbench e non da query, allora vi ritroverete a dovere inserire dei campi a mano, sulla falsa riga di quello che viene mostrato in figura:
Adesso che abbiamo creato la nostra tabella, la riempiremo con alcuni dati di prova:
INSERT INTO books VALUES ("A1111", "Herman Melville", "Moby Dick");
INSERT INTO books VALUES ("A2222", "Alexandre Dumas", "Il conte di Montecristo");
INSERT INTO books VALUES ("A3333", "Omero", "Odissea");
La precedente query genererà una tabella simile a quella mostrata di seguito:
Nella prossima lezione utilizzeremo il linguaggio di programmazione PHP per creare la struttura di un servizio REST, in modo da eseguire query di lettura e/o scrittura sulla tabella libri del database appena creato.