关于类图UML和SQL,我有两个(链接的)问题。
第一:关于UML 在类图中UML我可以与递归建立三元关联吗?我的意思是这样的:
(与递归的三元关联)
如果可能,我如何在SQL中实现它?我是否应该有一个具有三个属性的唯一表(每个涉及的类一个)?
第二:关于SQL 如何实现关联基数? 假设有这样的情况:
我如何确保A类的每个实例与B类的两个且仅两个实例相关联?
答案 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;
}