第2章 数据库系统的数据模型

发布时间 : 星期四 文章第2章 数据库系统的数据模型更新完毕开始阅读

400002 2003.9.1 10001 20001 400002 2003.10.9 … 这个实体集间的联系是通过在二维表――“借书登记表”中存放两个实体集“借书人”的键“借书证号”与实体集“图书”的键“总编号”来实现。这种方式给关系数据库的定义和数据操作带来了极大的方便。

2)关系的性质

关系是一个简单的二维表,其主要性质为:

, 关系是一个二维表,表中的每一行对应一个元组,表中的每一列有一个属性名且对

应一个域。

, 列是同质的,即每一列的值来自同一域。

, 关系中的每一个属性是不可再分解,即所有域都应是原子数据的集合。 , 关系中任意两个元组不能完全相同。

, 关系中行的排列顺序、列的排列顺序是无关紧要的。 , 每个关系都有关键字的属性集唯一标识各个元组。 3)关系模式

关系模式是关系中信息内容结构的描述。它包括关系名、属性名、每个属性列的取值集合、数据完整性约束条件以及各属性间固有的数据依赖关系等。可以表示为:

R(U,D,DOM,I,?)

其中:R为关系名;U为组成关系的全部属性的集合;D是U中属性取值的值域;DOM是属性列到域的映射,即DOM:U?D;I是一组完整性约束条件;?是属性集间的一组数

15 据依赖。

通常,可用R(U)来简化地表示关系模式。例如,描述大学生的关系模式表示为: STUDENT(姓名,学号,性别,出生年份,籍贯,系别,入学年份)。 2.5.3 数据操作

在关系数据库中,对数据库的查询和更新操作都归结为对关系的运算。即以一个或多个关系为运算对象,对它们进行某些运算形成一个新关系,提供用户所需数据。

关系运算按其表达查询方式的不同可分为关系代数和关系演算两大类。 1)关系代数

关系代数是由一组以关系作为运算对象的特定的关系运算所组成,用户通过这组运算对一个或多个关系进行“组合”与“分割”,从而得到所需要的新关系。

关系代数又分为传统的集合运算和专门的关系运算。 (1)传统的集合运算

主要包括并运算、差运算、交运算和笛卡儿乘积运算等。其中并、差、交三种运算要求两个关系具有相同的度且相对应的属性值取自同一域。

(2)专门的关系运算

是根据数据库操作需要而定义的一组运算。主要包括选择运算、投影运算、连接运算、自然连接运算、半连接运算、自然半连接运算和除运算等。

在上述关系代数运算中,选择(σ))、投影(Π)、并(?)、差(,)、笛卡儿乘积(?)五种运算为关系代数的基本运算。关系代数操作集,σ,Π,?,,,?,是个完备的操作集,任何其他关系代数操作都可以用这五种操作来表示。

2)关系演算

除了用关系代数表示关系操作外,还可以用谓词演算来表达关系的操作,称为关系演算。关系演算又可分为元组关系演算和域关系演算。

这里只给出了关系代数和关系演算的概念,具体操作运算功能将在第4章做详细讨论。

2.5.4 数据约束

关系数据模型的数据约束通常是由域完整性约束、实体完整性约束、参照(引用)完整性约束这三类完整性约束提供支持,以保证对关系数据库进行操作时不破坏数据的一致性。

1)域完整性约束

域完整性约束限定了属性值的取值范围,并由语义决定一个属性值是否允许为空值NULL。NULL是用来说明属性值可能是未知的。

2)实体完整性约束

每个关系应有一个主键,每个元组的主键的值应是唯一的。主键的值不能为NULL,否则无法区分和识别元组。这应是实体完整性约束。

3)参照完整性约束

在关系数据模型中,实体集及实体集间的联系都是用关系来描述的,从而使得关系与关系之间存在相互引用。

参照完整性约束是不同关系间的种约束,当存在关系间的引用时,要求不能引用不存在的元组。

设关系R有一外键FK,设FK引用关系S的主键。(即FK是S的关键字),则在对于关系R中的每个元组在属性组FK上的值要么是NULL,要么是关系S中某个元组的关键字值。

例如,教师关系TEACHER(教师代码,教师姓名,年龄,职称,系部号),系部关系

16

DEPARTMENT(系部号,系名,系主任),系部号是关系TEACHER的外键,所以在关系TEACHER中每个元组在属性系部号上的值,只允许取NULL(表示该教师尚未分配到具体系部)或关系DEPARTMENT中已存在的某个元组的系部号值(表示该教师只能分配一个已存在的系部中任教)。

2.5.5 关系数据模型的优缺点 1)关系数据模型的优点

, 关系模型有坚实的理论基础。在层次、网状、关系三种常用的数据模型中,关系模

型是唯一可数据化的数据模型,对关系数据模型的定义与操作均建立在严格的数学

理论基础上。

, 在关系模型中,二维表不仅能表示实体集,而且能方便地表示实体集间的联系,包

括能直接描述层次、网状模型所不能直接描述的m:n联系。

, 关系数据模型中数据的表示方法统一、简单,便于计算机实现,使用用户使用。

, 数据独立性高。关系数据模型的存取路径对用户透明,数据 中数据的存取方法具

有按内容定址的性质。 2)关系数据模型的缺点

, 关系数据模型的主要缺点是查询效率常常不如非关系数据模型,这是由于存取路径

对用户透明,查询优化处理依靠系统完成,加重了系统的负担。

联系合同范文客服:xxxxx#qq.com(#替换为@)