16.基数(Cardinality)

        基数(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/

你可能感兴趣的:(16.基数(Cardinality))