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 (7463 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
Muoversi dentro UNIX
E' possibile creare una directory all'interno della quota di spazio affidata al nostro utente attraverso il comando mkdir a cui... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti