Ben aşağıdaki tablolar vardır;
CREATE TABLE IF NOT EXISTS `tags` (
`tag_id` int(11) NOT NULL auto_increment,
`tag_text` varchar(255) NOT NULL,
PRIMARY KEY (`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
CREATE TABLE IF NOT EXISTS `users` (
`user_id` int(11) NOT NULL auto_increment,
`user_display_name` varchar(128) default NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
CREATE TABLE IF NOT EXISTS `user_post_tag` (
`upt_id` int(11) NOT NULL auto_increment,
`upt_user_id` int(11) NOT NULL,
`upt_post_id` int(11) NOT NULL,
`upt_tag_id` int(11) NOT NULL,
PRIMARY KEY (`upt_id`),
KEY `upt_user_id` (`upt_user_id`),
KEY `upt_post_id` (`upt_post_id`),
KEY `upt_tag_id` (`upt_tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
CREATE TABLE IF NOT EXISTS `view_post` (
`post_id` int(11)
,`post_url` varchar(255)
,`post_text` text
,`post_title` varchar(255)
,`post_date` datetime
,`user_id` int(11)
,`user_display_name` varchar(128)
);
Fikri bir yazı ve kullanıcılar için, etiketleri kaydetmek için en etkili şekilde kullanmak istiyorum olmasıdır. Sadece bir kere ben bu yazı ve kullanıcıya boyunca birkaç etiketlerini geçmek bir yazı ekleyin. Daha sonra her kullanıcı ve yazı için sekmeleri saymak mümkün olmak istiyorum. Yığın taşması çok benzer bir şey.
Ben 'tag_text' benzersiz olması gerektiğini varsayalım? I bir fonksiyonunu Ben bir etiket zaten var olmadığını kontrol etmek 'etiketler' masaya geçmesi için yeni bir yazı göndermek, ve evet, onun 'tag_id' dönerseniz ben 'user_post_tag' tabloya ekleyebilirsiniz her zaman çalıştırmak o kadar etkili olmadığını .
Bu belki sorun bu tür mücadele için kötü bir yaklaşımdır.
Tüm öneriler bekliyoruz.