基数(Cardinality)用实体间实例的数值对应关系表示,它反映了两个实体间的数值联系,它从父实体的角度描述了一对实体间的数量维度,换句话说,基数中的数字是描述父实体在子表中可能出现的次数范围,基数实际是1个闭区间。基数可能是:
1)0,1
一个父实体,在子表中可能出现1次,或者不出现(0)。例如:
用户和权限的关系,用户是父实体:用户A和权限代码001的关系,用户A若没有这个权限,则0值存在;用户拥有001权限时,则1值存在;用户对001的权限只能拥有一次,所以n值不存在。
在这里为基数0,1。
2)0,n
一个父实体,在子表中可能出现多次,或者不出现(0)。例如:
教室和学生的关系,教室为父实体:当教室里没有学生时,0值存在;教室里可以只有1个学生,0值存在;教师里可以有很多学生,n值存在。
在这里为基数0,n。
3)1,1
4)1,n
//网络上摘抄的关于Dependent和Mandatory的说明
从实用的角度来讲,一对多和多对一没什么分别。
这里你要注意的是,一对多实际上可以理解为主表和子表。主表的一条记录可以和子表的N条记录有关系。
如果要想让主表的主键到子表中继续做主键,子表的记录就依赖主表的记录而存在,此时应该在(子表 to 主表)选项里面的 Dependent 上打勾,这时 Mandatory 自动被选上。
如果不需要主表的主键到子表中继续做主键,主表的记录仅对子表做约束或者说是强制,这时只在(子表 to 主表)选项里面的 Mandatory 上打勾。
如果不需要主表的主键到子表中继续做主键,子表里的这个字段可以是主表里的数据同时也可以为空,在(子表 to 主表)选项里面的 Mandatory 上的勾去掉。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/725190/viewspace-266523/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/725190/viewspace-266523/