参考UML, n 类之间没有属性的 n -ary关联可以定义为由<的实例组成的集合的笛卡尔积的子集em> n 类。
由于关联是一组
n-tuple := {(I1,I2,...,In),...}.
现在,如果n-ary关联具有 k 属性,那么它的元素仍然定义为 n -tuple,或者它是 n + k -tuple(所以关联是一组 n + k -tuple)?。
答案 0 :(得分:3)
当一个类具有k个属性时,其对象可以表示为与具有k列的关系数据库表的行相对应的k元组。
在UML中,关联的实例称为链接。 n元关联的链接可以表示为对应于具有n列的关系数据库表的行的n元组。
在UML中,关联类是一个具有类似属性的关联。例如,二进制关联类ExamParticipation
既是类Exam
和Student
之间的关联,也是定义属性grade
的类。
当n-ary关联类具有k个属性时,其实例可以表示为(n + k)个元组,对应于具有n + k列的关系数据库表的行。
Epilog:但是,请注意,UML关联不能用关系的数学概念(作为笛卡尔积的子集)来识别,因为UML允许具有相同链接的关联不止一次(当关联结束时被描述为非独特的,因此不是集合,而是多集。
答案 1 :(得分:0)
它仍然是n-tuple。
注意,n-ary关联中涉及的每个类也可以有自己的属性。如果你包含那些属性,它必须是一些巨大的元组。然而,该协会仅与其所有权有关。
然而,为了更好地理解,你最终可以考虑n + 1元组,其中n是ownEnds,而额外的类是描述关联的类。但这不是规范所说的,所以只把它当作一个思想实验。