首页 > 解决方案 > 在关系数据库模式中建模互斥和共关系

问题描述

如果 A、B 和 C 是属性,其值为:

A -> {1}
B -> {2,5,9}
C -> {11,12}

A 和 B 是相关的(没有 B,A 就不能存在)。当 A = 1 时,B 可以是 5 或 9,B 不能是 2。

B & C 是相关的,当 B 为 5 时,C 可以为 11,C 不能为 12。

例如:所以,当 C = 11 时,B = 5,A = 1

我如何在关系模式中建模这种关系,或者有更好的方法来表示它?

到目前为止我所拥有的属性表。

ID | Attribute |  value         
----------------------
1  | A         |  1          
2  | B         |  2  
3  | B         |  5        
4  | B         |  9
5  | C         |  11
6  | C         |  12

关联表 ID1 和 ID2 是属性表的外键,共同构成复合主键。

ID1 | ID2         
---------
1  | 3       
1  | 4
3  | 11         

标签: postgresqlrelational-database

解决方案


推荐阅读