我正在設計一個包含幾個表的數據庫;常見問題解答,公告和附件。公告和常見問題可以與他們有關聯的附件,所以我最初的想法是創建一個連接表具有兩個主鍵的組合鍵:與主表中的連接表或單獨標識的表設計
Bulletin
--------
BulletinID
Subject
Description
Notes
Attachment
-----------
AttachmentID
FileName
FilePath
etc.
加入表:
BulletinAttachments
-------------------
BulletinID
AttachmentID
正如我設計這個,我也想過,如果其他實體稍後介紹(比如新聞簡報,電子郵件等),還需要附件。我將不得不爲每個這些實體創建一個連接表。不可怕,但它讓我覺得,如果我擺脫了連接表的東西,把一個AttachmentType在附件表中,然後分配相應類型:
AttachmentType
--------------
AttachmentTypeID
AttachmentType
Description
該表中的數據是:
1,公告
2-FAQ
3月刊
4電子郵件
然後附件表將持有AttachmentTypeID識別它:
Attachments
-----------
AttachmentID
AttachmentTypeID
FileName
FilePath
etc.
所以我的問題是,爲了性能(使用SQL 2008 R2),兩者之間有更好的選擇嗎?有沒有更好的方法來設計這個?我對使用單個連接表的擔心是,我們可能會有更多的實體出現,爲了適應附件,我們必須創建一個連接表,並且在我們的前端軟件中,我們必須爲其編寫邏輯,而AttachmentTypeID將允許需要插入新的AttachmentType並且不需要數據庫交互的前端。
謝謝Posiluska,我甚至沒有看到第二個選擇,他們沒有任何聯繫(知道什麼是不對的,這就是爲什麼我張貼我的想法在第一個地方)。另外,你是正確的;附件可以在不同的項目之間共享。 – Robert