我的数据库中有三个表。新闻,评论和教程。我想实现标记功能。
之前我通过使用标签表来定义我的标签,以及具有类型(新闻,教程,评论),itemId和tagId的查找表来完成此操作。
这个工作正常,但对于我的新网站,我希望表之间有PK FK关系(因为我使用linq到实体)。
我该怎么做?标签查找表不能作为新闻,评论和教程的外键,因为当我向查找表添加一行时,所有三种类型都需要存在一个值!
最好的办法是什么?
答案 0 :(得分:2)
News
NewsID int auto increment/identity pk
....
Reviews
ReviewID int auto increment/identity pk
....
Tutotials
TutorialID int auto increment/identity pk
....
Tags
TagID int auto increment/identity pk
.....
TagUsage
TagUsageID int auto increment/identity pk
TagID fk to Tags.TagID
NewsID allows nulls fk to News.NewsID
ReviewID allows nulls fk to Reviews.ReviewID
TutorialID allows nulls fk to Tutotials.TutorialID