Progettare un database per le gerarchie di dati

21/04/2006

Se si decide di scrivere un'applicazione basata sull'interazione tra PHP e MySQL, la prima fase del progetto dovrà essere dedicata alla strutturazione del database in cui inseriremo le informazioni e dal quale andremo a prelevarle quando necessarie.

Il nostro database d'esempio, che potremo chiamare molto genericamente "Db_Dati", dovrà prevedere tre tabelle:

  1. La prima, che chiameremo per esempio "Categorie", sarà destinata a contenere i nomi delle diverse categorie e l'Id autoincrementale che contratraddistinguerà univocamente ogni record inserito.
  2. La seconda, chiamata ad esempio "Sottocategorie", dovrà invece contenere: i nomi delle differenti sottocategorie, gli Id relativi a questi ultimi e gli Id delle categorie a cui si riferiscono le diramazioni secondarie.
  3. La terza, che potremo chiamare "Contenuti", sarà destinata all'allocazione delle informazioni ordinate per categorie e sottocategorie. Essa conterrà: i dati da manipolare, gli Id delle diramazioni primarie e secondarie più gli Id autoincrementali di ciascun record inserito.
Le tre tabelle descritte rispondono in modo adeguato alla nostra esigenza di ramificare razionalmente i contenuti seguendo un ordine gerarchico. In pratica, gestendo i diversi dati non faremo altro che seguire alcuni semplici passaggi:
  1. Decidiamo quali tipologie di informazioni vogliamo inserire all'interno del nostro database.
  2. Suddividiamo le informazioni per categorie.
  3. Suddividiamo le categorie in ulteriori sottocategorie.
Quindi nello specifico avremo:
  1. Creazione della categoria.
  2. Inserimento di una relativa sottocategoria.
  3. Insermento dei contenuti.
Ciascuna sottocategoria conserverà memoria della categoria di appartenenza tramite l'allocazione del relativo Id; ciascun contenuto terrà traccia delle ramificazioni a cui appartiene conservando in tabella gli Id corrispondenti a categoria e sottocategoria.

Nel prossimo articolo passeremo dalla teoria (progettazione del database) alla pratica (creazione del database), prestando particolare attenzione alle tipologie di dati da attribuire ai diversi campi.

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.

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

Stampa :: Torna alla Home