SQL / UML中的n元关联问题

时间:2019-06-29 14:41:28

标签: sql uml

关于类图UML和SQL,我有两个(链接的)问题。

第一:关于UML 在类图中UML我可以与递归建立三元关联吗?我的意思是这样的:

enter image description here

(与递归的三元关联)

如果可能,我如何在SQL中实现它?我是否应该有一个具有三个属性的唯一表(每个涉及的类一个)?

第二:关于SQL 如何实现关联基数? 假设有这样的情况:

enter image description here

我如何确保A类的每个实例与B类的两个且仅两个实例相关联?

2 个答案:

答案 0 :(得分:0)

第一:是的,您可以毫无问题地做到这一点。当然,这取决于您要做什么以及为什么要这么做。这绝不是递归的。

第二:实施取决于开发者。如果存在多重约束,则开发人员需要编写对数组或field1直至fieldN的检查,以包含对象引用。在您的示例中,ClassA实例恰好需要两个对ClassB的引用(您没有给它们命名),而ClassB有一个可选的ClassA引用。 (我不知道为什么要用SQL标记它)

答案 1 :(得分:0)

问题1:

TableA(int id, varchar fieldA) ->PK id
TableB(int id, varchar fieldB) ->PK id

关联表

TableAB(int id, int keyA, int keyB) -> PK id,
FK1(keyA) ref TableA(id)
FK2(KeyB) ref TableB(id)

问题2:(java)

class B 
{

}
class A
{
      //can put constrains on list(methods) not to able to add more the 2(or n) elements
      List<B> l;
      // or B b1; B b2; 
}