我想確保這是處理特定場景的最佳方法。數據庫映射 - 多個外鍵
比方說,我有三個主表我會保持它們的通用性。它們都有主鍵,它們都是獨立的表,沒有任何引用。
表1
PK
VarChar Data
表2
PK
VarChar Data
表3
PK
VarChar Data
這裏是場景中,我瓦特使用戶能夠評論上述每個表格上的特定行。但我不想創建一堆評論表。所以截至目前,我的處理就像這樣..
有一個評論表有三個外鍵列,每個列都引用上面的主表。有一個約束條件是隻能對這些列中的一列進行評估。
CommentTable
PK
FK to Table1
FK to Table2
FK to Table3
VarChar Comment
FK to Users
我的問題:這是處理問題的最佳方式是什麼?是否存在通用外鍵?或者我應該爲每個主表分別創建一個註釋表,即使數據結構完全一樣嗎?或者每個映射表都是更好的解決方案?
我會去用這種方法 - OK,你有三個FK列,只有其中之一是將有一個價值。但是通過這種方法,您**可以**通過設置適當的外鍵約束來強制引用完整性。如果你有一個* generic * FK(例如一個FK *類型的列),那麼你就無法做到這一點 - 並且能夠強制引用完整性在數據庫設計範圍內比「保存」一列更重要或兩個.... –