2011-01-11 52 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