MySQL
CREATE TABLE IF NOT EXISTS ?_comments (
`comment_id` int(11) NOT NULL auto_increment,
`item_id` int(11) NOT NULL,
`text` text,
`text_html` text,
`putdate` datetime NOT NULL default '0000-00-00 00:00:00',
`updated` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`user_id` int(11) default NULL,
`login` varchar(50) default NULL,
`email` varchar(50) default NULL,
`status` tinyint(1) NOT NULL,
`level` tinyint(1) NOT NULL default '0',
`left_key` int(11) NOT NULL,
`right_key` int(11) NOT NULL,
`moderate` varchar(255) default NULL,
PRIMARY KEY (`comment_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS ?_comments_items (
`item_id` int(11) NOT NULL auto_increment,
`item_key` char(20) NOT NULL,
`url` char(100) NOT NULL,
`module_id` int(11) NOT NULL,
PRIMARY KEY (`item_id`),
UNIQUE KEY `module_id` (`module_id`,`item_key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
right_key, right_key и level - ключи необходимые для построения структуры nested sets. Обо всем остальном я написал выше.