Originariamente inviato da lordzoster
sto realizzando un portale che prevede la presenza di numerose tipologie di "items" (eventi, corsi,docenti, materie, esami, documenti, allievi, ecc., in tutto circa 30 o più), ciascuna caratterizzata da un gruppo specifico di dati (es. eventi: data inizio, data fine, titolo, descrizione).
Tutti questi items sono ovviamente correlati fra di loro in vario modo (corsi > materie > docenti, ma anche eventi > docenti e eventi > materie, docenti < esami > documenti, e così via)
Se usassi 1 tabella di anagrafica per ciascun tipo di item, dovrei avere n-fattoriale tabelle di correlazione, ovvero 30! = 2,6525285981219105863630848e+32 tabelle (se la calcolatrice di winzozz non sbaglia).
Inoltre, se cercassi 1 dato particolare (es tutti gli item che hanno data di pubblicazione 30 maggio 2008) dovrei fare una union di query su tutte le tabelle i cui item contengono il dato "data_pubblicazione".
Una soluzione potrebbe essere una forte standardizzazione dei nomi dei campi, in modo da poter parametrizzare le query.
Mi pare che stai facendo un po' di confusione. Non si tratta di relazionare tabelle, ma righe, valori. Per quanto la differenza possa apparire sottile non lo è, ed e pure una incomprensione piuttosto diffusa.
Se la vedi in ottica di relazioni righe-valori non ti apparirà così inverosimile, tanto più che ha poco senso contare quante possono essere tutte le combinazioni possibili.

una alternativa è un misto: avere 30 anagrafiche ma 1 unica tabella di correlazione, in cui indico oltre agli ID degli item correlati anche le relative tabelle (o le tipologie), in modo da capire a che coppia di tabelle appartiene ciascuna coppia di item correlati.
Se ho capito bene ti riferisci, invece che a al modello relazionale a quello dimensionale, molto usato ad esempio in ambiente OLAP e per la Business Intelligence, anche se dal poco che ho capito dubito che sia la strada ottimale per te.

Ti suggerirei di spiegare innanzitutto meglio cosa devi fare.