数据库系统概论之第二章关系数据库

来源:互联网 发布:淘宝免费申请试用在哪 编辑:程序博客网 时间:2024/05/17 00:55

2.1关系数据结构及形式化定义

关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构、关系操作集合和关系完整性约束3部分组成。

2.1.1关系

1.域(domain)

域是一组具有相同数据类型的值的集合;

2.笛卡尔积(cartesian product)

笛卡尔积是域上面的一种集合运算。笛卡尔积可表示为一个二维表,表中的每行对应一个元组,表中的每一列的值来自一个域。

3.关系(relation)

关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。

若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(candidate key)。

若一个关系有多个候选码,则选定其中一个为主码(primary key)。

候选码的诸属性称为主属性(prime attribute),不包含在任何候选码中的属性称为非主属性(non-prime attribute)或非码属性(non-key attribute)。

关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。

基本表是实际存在的表,它是实际存储数据的逻辑表示;查询表是查询结果对应的表;视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据;

关系表中不允许还有表,简言之不允许表中有表。

2.2关系操作

关系模型中常用的关系操作包括查询操作(query)和插入(insert)、删除(delete)和修改(update)操作两大部分;

2.3关系的完整性

关系模型的完整性规则是对关系的某种约束条件,也就是说关系的值随着时间的变化时应该满足一些约束性条件。

2.3.1关系模型的三类完整性约束

关系中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。

2.3.2实体完整性(entitiy intergrity)

实体完整性规则

若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值;

2.3.3参照完整性(referential integrity)

关系中的某个属性需要参照某个关系的属性取值,不仅两个或两个以上的关系间可以存在引用关系,同一关系内部属性间也可能存在引用关系。

设F是基本关系R的一个或一组属性,但不是关系R的码,K是基本关系S的主码,如果F与K相对应,则称F是R的外码(foreign key),并称基本关系R为参照关系(referencing relation),基本关系S为被参照关系(referenced relation)或目标关系(target relation)。关系R和S不一定是不同的关系。

参照完整性规则

若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对应R中每个元组在F上的值必须为:

1.或者取空值(F的每个属性值均为空值);

2.或者等于S中某个元组的主码值;

2.3.4用户定义的完整性(user-defined integrity)





0 0