2012-03-30 87 views
0

所以我不知道這是否可以接受。數據庫設計如何參考表

我有以下表格:DocumentContent Reviewers

Content_Reviewers具有字段:cr_idfk_ProductIDfk_DocumentIDNameContactInfo

1, 1, 3, 'Derek', '555-555-5555 Lives in Washington' 
2 3, 35, 'James', 'California' 

文件具有字段:doc_idfk_productIDsectionNameparentIDtext

1, 1, 'Title', 0, '' 
2, 1, 'Contributors', 0 'People who helped in some fashion' 
3, 1, 'Editors', 2, 'People who helped edit the document' 
... 
35, 4, 'Editors', 33, 'People who helped edit the document' 

所以我試圖做到的是,我可以有很多產品,部分或全部產品可能有Editiors或貢獻者部分。如果他們這樣做,我希望能夠將「Content_Reviewers」表與該部分關聯起來。

所以我的第一個傾向是:

  1. 安裝一個新的欄目表,以避免'SectionName''Text'重複
  2. 添加一個新列如TableDataDocument,將包含表關聯的名稱它? Content_Reviewers? (這是我不知道如何做得很好)

這個想法是可能有至少有十幾個部分與他們自己的單獨的表與該部分相關聯,但並不一定總是在產品中可用。

謝謝。

回答

0

這是一個多對多的基數。應該創建一個鏈接表

例如: 文件表,有ID 產品表,有ID

創建document_product表 fk_Document.id fk_Product.id ,使雙方fk_Document組合唯一的密鑰。 id和fk_Product.id以確保沒有重複。