日期:2014-05-16  浏览次数:20562 次

多个数据库实体与另一实体使用一张表关联的问题 – 分析篇

最近在工作中遇到这样一个问题:多个数据库实体(以下简称“左侧实体”)要同另一实体关联。关于关联表的设计有如下两种方案。(业务背景是,多种实体有同样的权限控制模型)。

?

方案1:为每个左侧的实体建立一张与另一实体的关联表。

方案2:只建立一个关联表,完成多个实体对另一实体的关联。需要使用额外的字段存储左侧实体类型。

?

乍一看,两种方式各有优缺点:某一方案的优点即另一方案的缺点,这里只列出缺点。

?

方案

缺点

方案1

a.?????? 需要建立多张关联表

方案2

a.?????? 需要使用额外的字段存储实体类型;

b.?????? 在做关联查询的时候“可能”需要引入实体类型信息(如果采用UUID做实体主键,则无此问题)。

c.??????? 关联表较方案1大,可能导致关联查询时速度变慢。