数据库原理与技术(Visual FoxPro) 孙学农 第3章 关系数据库理论

上传人:E**** 文档编号:89411762 上传时间:2019-05-24 格式:PPT 页数:23 大小:162KB
返回 下载 相关 举报
数据库原理与技术(Visual FoxPro) 孙学农 第3章 关系数据库理论_第1页
第1页 / 共23页
数据库原理与技术(Visual FoxPro) 孙学农 第3章 关系数据库理论_第2页
第2页 / 共23页
数据库原理与技术(Visual FoxPro) 孙学农 第3章 关系数据库理论_第3页
第3页 / 共23页
数据库原理与技术(Visual FoxPro) 孙学农 第3章 关系数据库理论_第4页
第4页 / 共23页
数据库原理与技术(Visual FoxPro) 孙学农 第3章 关系数据库理论_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《数据库原理与技术(Visual FoxPro) 孙学农 第3章 关系数据库理论》由会员分享,可在线阅读,更多相关《数据库原理与技术(Visual FoxPro) 孙学农 第3章 关系数据库理论(23页珍藏版)》请在金锄头文库上搜索。

1、第3章 关系数据库理论,本 章 要 点,数据模式的相关概念 数据依赖的相关概念 关系代数的运算 范式及规范化理论与方法,3.1 关系数据库系统,3.1.1 关系的基本概念及其特点 1关系的基本概念 (1)关系 一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。例如,表1-2考生简况和表1-3考生考试成绩就代表两个关系,“考生简况”及“考生考试成绩”则为各自的关系名。 在Visual FoxPro中,一个关系对应于一个表文件,简称为表,关系名则对应于表文件名或表名。,表3-1 考生简况表,表3-2 考生考试成绩表,(2)元组 二维表的每一行在关系中

2、称为元组。 在Visual FoxPro中,一个元组对应表中一个记录。 (3)属性 二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组属性的取值。 在Visual FoxPro中,一个属性对应表中一个字段,属性名对应字段名,属性值对应于各个记录的字段值。 (4)域 属性的取值范围称为域。域作为属性值的集合,其类型与范围具体由属性的性质及其所表示的意义确定。同一属性只能在相同域中取值。,(5)关键字 关系中能唯一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组合关键字。需要强调的是,关键字的属性值不能

3、取“空值”,所谓空值就是“不知道”或“不确定”的值,因而无法唯一地区分、确定元组。 表1-2中“准考证号”及“身份证号”属性可以作为单关键字,因为准考证号和身份证号不允许相同。而“姓名”及“出生日期”则不能作为关键字,因为考生中可能出现重名或相同出生日期。如果所有同名考生的出生日期不同,则可将“姓名”和“出生日期”组合成为组合关键字。,(6)候选关键字 关系中能够成为关键字的属性或属性组合可能不是惟一的。凡在关系中能够唯一区分、确定不同元组的属性或属性组合,称为候选关键字。如表1-2中“准考证号”和“身份证号”属性都是候选关键字。 (7)主关键字 在候选关键字中选定一个作为关键字,称为该关系的

4、主关键字。关系中主关键字是唯一的。 (8)外部关键字 关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。,(9)关系模式 对关系的描述称为关系模式,其格式为: 关系名(属性名1, 属性名2, , 属性名n) 关系既可以用二维表格描述,也可以用数学形式的关系模式来描述。一个关系模式对应一个关系的数据结构,也就是表的数据结构。 如表1-2对应的关系,其关系模式可以表示为: 考生简况(准考证号,身份证号,姓名,性别,出生日期,工作单位,电话号码) 其中,“考生简况”为关系名,括号中各项为该关系所有的属性名。,

5、2关系的基本特点 在关系模型中,关系具有以下基本特点: (1)关系必须规范化,属性不可再分割 规范化是指关系模型中每个关系模式都必须满足一定的要求,最基本的要求是关系必须是一张二维表,每个属性值必须是不可分割的最小数据单元,即表中不能再包含表。 (2)在同一关系中不允许出现相同的属性名 (3)在同一关系中元组及属性的顺序可以任意 (4)任意交换两个元组(或属性)的位置,不会改变关系模式。 以上是关系的基本性质,也是衡量一个二维表格是否构成关系的基本要素。在这些基本要素中,有一点是关键,即属性不可再分割,也即表中不能套表。,3关系模型的主要优点 (1)数据结构单一 关系模型中,不管是实体还是实体

6、之间的联系,都用关系来表示,而关系都对应一张二维数据表,数据结构简单、清晰。 (2)关系规范化,并建立在严格的理论基础上 关系中每个属性不可再分割,构成关系的基本规范。同时关系是建立在严格的数学概念基础上,具有坚实的理论基础。 (3)概念简单,操作方便 关系模型最大的优点就是简单,用户容易理解和掌握,一个关系就是一张二维表格,用户只需用简单的查询语言就能对数据库进行操作。,3.2 关系数据库 以关系模型建立的数据库就是关系数据库(Relational Data Base,RDB),关系数据库系统的DBMS是关系型数据库管理系统(Relational DataBase Management Sy

7、stem,RDBMS)。 关系数据库中包含若干个关系,每个关系都由关系模式确定,每个关系模式包含若干个属性和属性对应的域,所以,定义关系数据库就是逐一定义关系模式,对每一关系模式逐一定义属性及其对应的域。 一个关系就是一张二维表格,表格由表格结构与数据构成,表格的结构对应关系模式,表格每一列对应关系模式的一个属性,该列的数据类型和取值范围就是该属性的域。因此,定义了表格就定义了对应的关系。 在Visual FoxPro系统中,与关系数据库对应的是数据库文件,一个数据库文件包含若干个表,表由表结构与若干个数据记录组成,表结构对应关系模式;每个记录由若干个字段构成,字段对应关系模式的属性,字段的数

8、据类型和取值范围对应属性的域。,3.3 关系运算 在关系数据库中查询用户所需数据时,需要对关系进行一定的关系运算。关系运算主要有选择、投影和联接三种。 选择(Selection)运算是从关系中查找符合指定条件元组的操作。 投影(Projection)运算是从关系中选取若干个属性的操作。 联接(Join)运算是将两个关系模式的若干属性拼接成一个新的关系模式的操作,对应的新关系中,包含满足联接条件的所有元组。,1选择(Selection) 选择运算是从关系中查找符合指定条件元组的操作。 以逻辑表达式指定选择条件,选择运算将选取使逻辑表达式为真的所有元组。选择运算的结果构成关系的一个子集,是关系中的

9、部分元组,其关系模式不变。 选择运算是从二维表格中选取若干行的操作,在表中则是选取若干个记录的操作。 在Visual FoxPro中,通过命令子句FOR 、WHILE 和设置记录过滤器实现选择运算。,例如,表3-2按照“性别 = ”女“”的条件进行选择运算,可得到如下结果。 表3-3 选择运算结果,2投影(Projection) 投影运算是从关系中选取若干个属性的操作。投影运算从关系中选取若干属性形成一个新的关系,其关系模式中属性个数比原关系少,或者排列顺序不同,同时也可能减少某些元组。因为排除了一些属性后,特别是排除了原关系中关键字属性后,所选属性可能有相同值,出现相同的元组,而关系中必须排

10、除相同元组,从而有可能减少某些元组。 投影是从二维表格中选取若干列的操作,在表中则是选取若干个字段。 因Visual FoxPro允许表中有相同记录,如有必要,只能由用户删除相同记录。 在Visual FoxPro中,通过命令子句FILEDS 和设置字段过滤器,实现投影运算。,例如,选取表3-2中姓名、笔试成绩、上机成绩三列的投影操作,可得到如表3-4所示结果。 表3-4 投影运算结果,3联接(Join) 联接运算是将两个关系模式的若干属性拼接成一个新的关系模式的操作,对应的新关系中,包含满足联接条件的所有元组。联接过程是通过联接条件来控制的,联接条件中将出现两个关系中的公共属性名,或者具有相

11、同语义、可比的属性。 联接是将两个二维表格中的若干列,按同名等值的条件拼接成一个新二维表格的操作。在表中则是将两个表的若干字段,按指定条件(通常是同名等值)拼接生成一个新的表。 在Visual FoxPro中,联接运算是通过JOIN命令和SELECT SQL 命令来实现的。,例如,将表3-2和表3-3中若干列,以“准考证号”列为依据,联接生成一个新的表格,结果如图1-5所示。 图3-5 联接运算结果,3.4 关系的完整性约束 关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、参照完整性和用户定义完整性(又称域完整性),其中实体完整性和

12、参照完整性,是关系模型必须满足的完整性约束条件。,1实体完整性 实体完整性是指关系的主关键字不能取“空值”。 一个关系对应现实世界中一个实体集,如表3-2所示关系就对应一组考生的集合。现实世界中的实体是可相互区分、识别的,也即它们应具有某种惟一性标识。在关系模式中,以主关键字作唯一性标识,而主关键字中的属性(称为主属性)不能取空值 ,否则,表明关系模式中存在着不可标识的实体(因空值是“不确定”的),这与现实世界的实际情况相矛盾,这样的实体就不是一个完整实体。按实体完整性规则要求,主属性不能取空值,如主关键字是多个属性的组合,所有主属性均不得取空值。 如表3-2将“准考证号”列作为主关键字,那么

13、,该列不得有空值,否则无法对应某个具体的考生,这样的表格不完整,对应关系不符合实体完整性规则的约束条件。,2参照完整性 参照完整性是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。 关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。所谓公共属性:它是一个关系R(称为被参照关系或目标关系)的主关键字,同时又是另一关系K(称为参照关系)的外部关键字。如果参照关系K中外部关键字的取值,要么与被参照关系R中某元组主关键字的值相同,要么取空值,那么,在这两个关系间建立关联的主关键字和外部关键字引用,符合参照完整性规则要求。如果参照关系K的外部关键字也是其主关键字,根据实体完整性要求,主关键字不得取空值,因此,参照关系K外部关键字的取值实际上只能取相应被参照关系K中已经存在的主关键字值。,本章剩余两节选学!,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号