Raga urge aiuto,
Non ne riesco a venirne a capo.

Ho normalizzato un db strutturando determinate tabelle utilizzando dei campi SET pensando di fare la cosa giusta, e sono ancora convinto che sia cosi, il problema adesso è che non riesco a legarle insieme per recuperare i dati interessati, come esempio prendiamo una relatà scolastica, quindi la tabella dei docenti e quella delle loro classi, dove ovviamente è possibile che un docente abbia più classi a lui assegnate, e quindi nella tabella "docenti" o impostato il campo id_classe come SET


dump delle tabelle

codice:
CREATE TABLE IF NOT EXISTS `classi` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `classe` varchar(4) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;

-- Dump dei dati per la tabella `classi`

INSERT INTO `classi` (`id`, `classe`) VALUES
(1, '1A'),
(2, '2A'),
(3, '3A'),
(4, '1B'),
(5, '2B'),
(6, '3B'),
(7, '1C'),
(8, '2C'),
(9, '3C'),
(10, '1D'),
(11, '2D'),
(12, '3D'),
(13, '1E'),
(14, '2E'),
(15, '3E'),
(16, 'ALL');

-- Struttura della tabella `docenti`

CREATE TABLE IF NOT EXISTS `docenti` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `id_classe` set('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15') NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=56 ;

-- Dump dei dati per la tabella `docenti`

INSERT INTO `docenti` (`id`, `id_classe`) VALUES
(53, '1,2,3'),
(54, '1,2,3'),
(55, '1,4,6');
Ho provato un pò di queries ma senza successo, no so provo come unire un campo INT con un elenco di dati SET

pensavo si potesse fare una cosa del genere ma non produce l'effetto desiderato, ovvero quello di rilevare l'id_docente e le sue rispettive classi
codice:
SELECT
tb2.id AS id_docente,
tb1.classe AS classe_docente
FROM classi AS tb1
JOIN docenti AS tb2 ON tb2.id_classe IN (tb1.id)

Mi date una mano ?


thanks




.