以下是3个物体 - A,B和C之间的关系
答:B - 1:M
答:C - 1:M
B:C - M:M,限制它们必须共享相同的A实例。
我目前的架构如下
a(id,data)
b(id,a_id,data)
c(id,c_id,data)
b2c(b_id,c_id)
如何设计更好的架构以避免数据不一致?
我知道这篇文章的标题有点笼统。如果你们中的任何人都能想到更好的头衔,可以随意编辑这篇文章。
作为一个例子,我将开发一个用于生成广告墙的应用程序。广告墙分为许多sections
。每个部分都有dimension
(宽度和高度)。有许多ads
,每个都有一个维度。可以想象广告可以在多个部分上展示,而某个部分可以展开多个广告。因此,部分和广告之间的关系是多对多的,但限制是它们必须具有相同的维度。
答案 0 :(得分:0)
您已经使用以下两种关系定义了B:C关系: 答:B - 1:M 答:C - 1:M
我不明白为什么你需要B:C关系表。
举个例子,我只看到两张桌子。广告具有宽度和高度,但是有1:1的关系,因此宽度和高度只是广告表中的字段。截面与宽度和高度的关系也是1:1。只有两张桌子。我也没有看到广告和部分之间存在严格的关系。
答案 1 :(得分:0)
我认为这是一个应该在代码中强制执行的业务规则。部分:广告为M:M已经标准化。
但是,我不确定你需要一个Dimension
表,如果这就是你所想的那个例子中的'A'表。