Una volta ideata la struttura del nostro database, potremo passare alla fase pratica del nostro progetto creando le necessarie tabelle e i relativi campi che specificheranno le diverse tipologie di dato.
Anche in questo caso, è giusto preavvertire il lettore riguardo al fatto che quanto esposto dipende esclusivamente dalle scelte operate dall'autore durante la stesura del tutorial, vi sono infatti numerose alternative che potranno essere praticate a seconda delle diverse esigenze che potrebbero presentarsi in sede di sviluppo.
Cominciamo con la tabella "Categorie", come anticipato essa dovrà contenere soltanto due campi, un Id numerico autoincrementale e un campo testo destinato al nome della categoria da inserire:
$sql = 'CREATE TABLE `Categorie` (' . ' `id_cat` INT(11) NOT NULL AUTO_INCREMENT, ' . ' `categoria` VARCHAR(255) NOT NULL,' . ' PRIMARY KEY (`id_cat`),' . ' UNIQUE (`categoria`)' . ' )';Entrambi i campi non potranno essere vuoti (NOT NULL); il campo relativo al nome della categoria dovrà essere unico (UNIQUE) in modo da evitare ripetizioni e conseguente confusione nell'esposizione della struttura gerarchica.
$sql = 'CREATE TABLE `Sottocategorie` (' . ' `id_scat` INT(11) NOT NULL AUTO_INCREMENT, ' . ' `id_cat` INT(11) NOT NULL, ' . ' `sottocategoria` VARCHAR(255) NOT NULL,' . ' PRIMARY KEY (`id_scat`),' . ' UNIQUE (`sottocategoria`)' . ' )';L'ultima tabella necessaria sarà quella destinata a contenere le informazioni "gerarchicamente" organizzate. Per semplicità espositiva limiteremo il numero dei campi destinati all'allocazione delle informazioni ad uno solo chiamato "Informazione", il lettore potrà in seguito ampliare a piacimento la mole di dati da gestire.
$sql = 'CREATE TABLE `Contenuti` (' . ' `id_dato` INT(11) NOT NULL AUTO_INCREMENT, ' . ' `id_cat` INT(11) NOT NULL, ' . ' `id_scat` INT(11) NOT NULL, ' . ' `informazione` TEXT NOT NULL,' . ' PRIMARY KEY (`id_dato`)' . ' )';Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.