Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Creare un database per le gerarchie di dati :: Indice Php

Creare un database per le gerarchie di dati

Categoria: Php Inserito il: 21-04-2006 Stampa (7338 click)

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.

Passiamo ora alla tabella "Sottocategorie", per questa avremo bisogno di un Id autoincrementale riferito al nome di ciascuna sottocategoria, di un secondo campo Id che faccia da riferimento alla categoria di appartenenza e, infine, di un semplice campo di testo destinato al nome della sottocategoria:
$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.

Per il resto, la tabella "Contenuti" sarÓ unicamente popolata da campi utilizzabili quale riferimento gerarchico: Id autoincrementali dei singoli record e Id relativi alle ramificazioni primarie e secondarie di appartenenza:
$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.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pi¨ importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Funzioni PHP per Apache II
La funzione apache_lookup_uri() viene utilizzata per eseguire una richiesta parziale della URI specificata come parametro e ne restituisce le relative... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti