2010-04-28 142 views
2

我在我的數據庫中有三個表。新聞,評論和教程。我想實現標記功能。數據庫標記結構

我已經通過一個標記表來定義我的標記,以及一個類型爲(新聞,教程,評論),itemId和tagId的查找表。

這工作得很好,但是對於我的新網站,我希望在表格之間有PK PK關係(因爲我正在使用linq到實體)。

我該怎麼做?標籤查找表不能成爲新聞,評論和教程的外鍵,因爲當我向查找表中添加一行時,所有三種類型都需要存在一個值!

最好的方法是什麼?

回答

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 
+0

呀,想到這一點。我想那是最好的方法呢?謝謝您的幫助! – Jack 2010-04-28 15:23:15