关系模型的产生和作用
- 关系模型的发现者是E.F.Code;
- 作用:
关系模型是从表和处理方式中抽象出来的;
是三大经典数据模型之一;
SQL的提出和发展都基于关系模型;
是众多数据库理论的基础; - 关系是一张表;
关系模型的一些参数(?
域
- 域是一组值的集合,这一组值都有相同的数据类型;
- 如:1-100,学校里所有人的学号等;
- 集合中元素的个数被称为基数(Cardinality);
笛卡尔积
-
用D1…Dn表示域,笛卡尔积可表为D1…Dn={{d1 ,…,dn}|di属于Di,i=1,…,n}
-
nD1*…*nDn=笛卡尔积中的所有元组数;
-
笛卡尔积中每一个元组不一定都有意义,有意义的元组表现在关系中;
-
不同列可能来源于相同的域,所以要用列名/属性名区分他们;
-
属性必须不同,域可以相同;
Family(Husband:man,Wife:woman,Children:child); -
关系可表为类型和属性的长度:
Students(Sno char(10),Sname char(20),Gender char(2),Age integer,Dno char(2),Class char(8));
关系模型和关系实例的区别
一个关系模型可以对应多个关系(关系实例);
关系模型是关系结构,关系实例(关系)是一种数据关系模式在一定时间内的快照;
关系模型一般是稳定的,而关系会发生变化;
关系的特质
-
列/属性的特质:
列的分量来自于相同的域; -
关系中的每列的顺序是不相关的;
-
每个元组/行都与其他不同,每个属性列上必有一个值与其他不同;
-
属性是原子级的,不可再分的,这个特性叫做第一范式;
键
- 候选码/候选键
从关系中取出一组属性或一个属性,他们的值可以唯一确定元组;
关系中可能存在多个候选码; - 主码和超码
主码:从候选码中选一个作为主码去区别元组;
超码:候选码的属性集合; - 单一码,全码,主属性,非主属性
单一码:候选码中只有一个属性;
全码:候选码中的所有属性的集合;
主属性:候选码中的属性;
非主属性:除主属性之外的属性; - 外码
外码:在R1中不是候选码,在R2中是候选码,则称其为R1的外码;
参照关系:R1;
被参照:R2;
完整性约束
- 数据结构
- 数据操纵
- 数据约束
- 实体完整性:候选键中属性值不能为空;
- 参照完整性:外码不能超过候选码的范围;
- 用户自定义完整性;
还是再说一句,因为数据库是双语教学,ppt都是英文,有些专有名词可能不太准确,请多指正,感谢!