第二章 关系数据库
2.1 关系数据库的概述
关系数据库是支持关系模型的数据库系统、
关系模型的组成:关系数据结构,关系操作集合,关系完整性约束
关系数据库的特点:实体和联系都可以通过关系这种单一的数据结构来实现
关系模型的数据结构--关系(二维表)
关系的操纵:并,交,差,广义笛卡尔积,选择,投影,连接,除,插入,删除,修改
关系操作的特点:操作对象和操作结果都是集合
关系语言:关系代数,元组演算,域演算,SQL\
关系的完整性约束:实体完整性,参照完整性,用户定义完整性
在关系中,基数是指行数。
2.2 关系的形式化定义
候选码:能唯一标识元组的属性(组)
主码:多个候选码选定一个作为主码
主属性:候选码中的所有属性
非主属性:不出现在候选码中的属性
2.3 关系的完整性约束
实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。
注:实体完整性规则规定基本关系的所有主属性都不能取空值
参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应,则对于R中每个元组在F上的值必须为:
或者取空值(F的每个属性值均为空值)
或者等于S中某个元组的主码值
例:
用户定义完整性:用户定义完整性是针对某一具体的关系型数据库的约束条件,反映某一具体应用所设计的数据必须满足的语义要求。如:“性别只能取“男”,“女”,成绩必须在0~100之间。
2.4 关系代数
一. 传统的集合运算
二.专门的关系运算(选择,投影,连接,除)
1. 选择---在关系R中选择满足给定条件的所有元组
注意:多个约束条件用”与“运算,”或“运算来连接。
2.投影---从R中选择出若干属性列组成新的关系
3. 连接---基于某些条件把两个关系表连接起来
举例:
等值连接:
自然连接:自然连接是一种特殊的等值连接
自然连接举例:
自然连接之外连接:
外连接之举例:
象集:
4. 除---找一些元组, 这些元组在X上分量值x的象集 S在Y上的投影
说实话,上面的定义很抽象,下面来举两个例子。
详细解释上面的运算结果:
2.4小结
2.5 相当于习题课,在这里就不写了,可以去PPT上直接看
2.6 关系演算
关系演算就是用谓词来描述关系的构成。按照谓词变元的不同分为元组演算和域演算(域演算在这里不讲,可以自行上网了解)
下面是一些原子公式:
例子:
2.7 关系演算实例
这里同样也是习题课,可以到PPT上面去看,注意有两种很难的关系演算,要学会画关系图,多次推导。
下面这两个题很难,但是需要弄懂,后面SQL语言的难题还会遇到。