基数和度数的区别:
一、基数与度数不是一个概念。
二、数据库中实体通过关系来实现关联。
三、度数:关系中实体类的数目称为关系的度数,比如二元关系中的三种类型:一对一(1:1)关系,一对多(1:N)关系,多对多(N:M)关系。1:1关系中,某种类型的一个实体实例仅和另一种类型的一个实体实例相关联。
四、基数:上述3种关系通过基数来命名和分类。基数表示计数。有最大基数,或最小基数之分。
最大基数:某关系一侧可以出现的最大实体实例数,这个数字被称作关系的最大基数,是可能参与关系实例的最大实体实例数。比如,篮球队-队员之间的关系是1:5,表明每个球队最多有5名球员,5就是这个关系中队员的最大基数。
最小基数:表示必须参与关系实例的最小 实体实例数。如果最小基数为0,则关系中的实体参与是可选的。如果最小基数为1,则关系中的实体参与是强制性的。
每当一种实体类型的属性引用另一种实体类型时,它们之间就存在某种关系。ER 模型中的关系使用菱形框表示。因此,关系是连接多个实体的一种方式。根据 Relation/table 透视图或常见的二元三种关系模型,可以表示为 m:n (m,n>=1)
映射基数是实体可以参与的最大关系实例数。
例子:一个售货员(salesperson)可以将多种商品(goods)售给一个顾客(customer),而一个售货员也可以将一种商品售给多个顾客;一个顾客的一种商品可以由多个售货员经售。售货员、商品和顾客三个实体集之间的联系是多对多的三元联系。元代表的是实体.三元联系就是三个实体之间的关系。
关系模型的理解,今天做期末发现自己对关系模型有一个模糊理解:
多对一:
信用卡和用户是N...1的关系,类似函数中X到Y的映射,定义域A、值域B和对应法则F分别代表的是实体1,联系,实体2。
多对多:
为了更复杂的表示,我们在直线上用
A..B
来映射。A表示至少,B表示至多。*表示任意.
如导师和指导之间是1..*
,即一个导师最少指导一个学生,没有上限。
学生和指导之间是1..1
,即一个学生至少被一个导师指导,也最多一个。就是一个学生必须有一个导师。