Non ho ben capito il discorso di avere una tabella che contenga tutte le sottotabelle presenti, forse perché non ho capito cosa intendi per sottotabelle, ma aspetterò con ansia l'esempio

Io ero partito dall'idea di fare due tabelle distinte una per le foglie e una che contenga, diciamo, la struttura gerarchica, perché fra le foglie e le semplici categorie c'è un pò di differenza. In attesa ti posto la struttura delle mie tabelle, se hai voglia di darci un'occhiata e di dirmi cosa ne pensi è tutto ben accetto.

codice:
#
# Struttura della tabella `categorie`
#

CREATE TABLE categorie (
  id_categoria int(11) NOT NULL auto_increment,
  nome_categoria varchar(255) NOT NULL default '',
  nodo_padre int(11) NOT NULL default '0',
  PRIMARY KEY  (id_categoria)
) TYPE=MyISAM;

#
# Struttura della tabella `foglie`
#

CREATE TABLE foglie (
  id_foglia int(11) NOT NULL auto_increment,
  id_categoria int(11) NOT NULL default '0',
  id_paese smallint(6) NOT NULL default '0',
  titolo varchar(255) NOT NULL default '',
  descrizione text NOT NULL,
  data date NOT NULL default '0000-00-00',
  PRIMARY KEY  (id_foglia)
) TYPE=MyISAM;
Ti ringrazio!