2011-01-11 56 views
0

我在用戶表中有一個user_id colunm。接下來,我在品牌表中添加了brand_id。用例每個都有自己的頁面:用戶有一個配置文件,品牌有一個品牌頁面。 (注意:Thgere更像這樣的關係,公司有公司頁面,城市有城市頁面等)。所以當用戶上傳照片時,我需要將其引用給所有者。所有者可以是品牌,用戶,城市,組織等。對象所有者的架構問題

對於用戶來說,它很簡單,photo_id屬於user_id,其中user_id是用戶表的FK。但要添加brand_id作爲照片的所有者,是否需要單獨的colunm,或者可以在user_id colunm本身中完成,如果我將其重命名爲owner_id(將引用(userid或品牌id))?

回答

0

2列,手下。 (一兩個當然必須始終爲null)

你所擁有的一些問題單列:

  • 沒有DB級參照約束(=外鍵)ID的
  • 風險品牌和用戶表
  • 混淆
0

之間的衝突,您可以創建一個映射表中的每個,如user_photosbrand_photos

這樣你可以完全從user_photosuserbrand_photosbrands完整的參照完整性。這對篩選用戶/品牌照片的查詢的性能也有正面影響。

+0

但父母照片表仍然會有「owner_id」柱子?或者你是否說要殺死照片表並將照片存儲在基於擁有者的多個表中?那麼如果我明天更改照片模式,我需要更新所有這些表格? – mickeyJ 2011-01-11 22:35:36