关系数据库的基本理论综述

上传人:我** 文档编号:117171320 上传时间:2019-11-18 格式:PPT 页数:67 大小:1.11MB
返回 下载 相关 举报
关系数据库的基本理论综述_第1页
第1页 / 共67页
关系数据库的基本理论综述_第2页
第2页 / 共67页
关系数据库的基本理论综述_第3页
第3页 / 共67页
关系数据库的基本理论综述_第4页
第4页 / 共67页
关系数据库的基本理论综述_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《关系数据库的基本理论综述》由会员分享,可在线阅读,更多相关《关系数据库的基本理论综述(67页珍藏版)》请在金锄头文库上搜索。

1、2.52.5 关系数据库的基本理论关系数据库的基本理论 关系数据库是目前应用最广泛,也是最重要、最流行的数据库。 本节 将介绍关系数据库的一些基本理论,包括关系数据结构、关系 的完整性、关系代数、关系数据库管理系统及关系数据库标准语言。 回到目录 关系数据库概述关系数据库概述 数据库模型依赖于数据的存储模式,即数据存储的模式不同,数据库的性 质亦不同。以关系模型作为数据的组织存储方式的数据库称为关系数据库。 关系数据库采用数学的方法来处理数据库中的数据,是建立在严密的数学 基础之上的一种数据组织存储方式。关系数据库理论是IBM公司的E.F.Codd 提 出来的,他从1970年开始连续发表了多篇

2、论文,奠定了关系数据库的理论基础 。 从1975 年到1979 年的5月间,关系方法的理论和软件系统的研制取得了很 大成功,IBM 公司的 San Jose实验室在 IBM370系列机上研制成功了一个实现 SQL语言的关系数据库实验系统原型System R。1981年IBM公司又宣布具有 System R全部特征的新的数据库软件产品SQL/DS问世。之后,IBM公司又将 SQL语言引入到DB2(IBM Data Base 2)中,配置在MVS上运行,并于1983年 推出了DB2产品。 20世纪70年代末期,美国加州大学伯克利分校也研制了 Ingres关系数据库 实验系统,并由Ingres公司发

3、展成为Ingres数据库产品。 本章首页 2.5.1 2.5.1 关系数据模型及其描述关系数据模型及其描述 在前面已经非形式化地介绍了关系模型及有关的基本概念。在关 系模型中,无论是实体还是实体之间的联系均由单一的结构类型即关 系来表示。关系模型是建立在集合代数基础上的,这里将从集合角度 给出关系数据结构的形式化定义。 其中,D1 、 D2 、D3 为域名,分别表示教师关系中姓名、性别和 年龄的集合。域名无排列次序,如D2 =男,女=女,男。 1关系的数学定义 (1)域(Domain) 定义1: 域是一组具有相同数据类型的值的集合,又称为值域(用D 表示)。例如整数、实数和字符串的集合都是域。

4、域中所包含的值的 个数称为域的基数(用m 表示)。在关系中就是用域来表示属性的 取值范围的。 例: D1 =李力,王平,刘伟,m1=3 D2 =男,女;m2 = 2 D3 =18,20,18;m3 = 3 本章首页 定义2 给定一组域D1,D2,Dn,这些域可以完全不同,也可以 部分或全部相同。D1,D2,Dn,的笛卡儿积为 D1D2Dn=(d1 ,d2,dn,)叫做一个n元组,或简称为元组。元素中每一个值di叫 做一个分量。若Di为 有限集,其基数为mi(i=1,2,n), 则 D1D2Dn的基数为 笛卡儿积可表示为一个二维表。表中的每行对应一个元组,表中的 每列对应一个域。如果我们给出三个

5、域: D1=王芳,王雷,李平(学生集合) D2=男,女(性别集合) D3=计算机语言,数据结构,计算机网络(课程集合) 则D1D2D3= 本章首页本节首页 (2)笛卡儿积(Cartesian Product) 共有323=18个元组。 其中(王芳,男,计算机语言),(王雷,男,数据结构 ) ,(李平,男,计算机网络)等都是元组。王芳、男、计算机 语言、王天雷、男、数据库系统与应用、郑蕾、男、计算机网络等都 是分量。该笛卡儿积的基数为323=18,这也就是说D1D2D3一 (3)关系(Relation) 定义3 D1D2Dn的子集叫做在域D1D2Dn上的关系, 用R(D1D2Dn)表示。这里R表

6、示关系的名字,n 是 关系的目或度,也称为元数。 本章首页本节首页上一页 王芳男计计算机语语 言 王雷男计计算机语语言李平男计计算机语语 言 王芳男数据结结构王雷男数据结结构李平男数据结结构 王芳男计计算机网 络络 王雷男计计算机网络络李平男计计算机网 络络 王芳女计计算机语语 言 王雷女计计算机语语言李平女计计算机语语 言 王芳女数据结结构王雷女数据结结构李平女数据结结构 王芳女计计算机网 络络 王雷女计计算机网络络李平女计计算机网 络络 关系中的每个元素是关系中的元组。 元关系,以此类推。 段,元组则被称为记录。 关系是笛卡尔积的子集,所以关系也是一个二维表,表的每行对 应一个元组,表的每

7、列对应一个域,由于域可以相同,为了加以区分, 必须对每列起一个名字。关系中的每一列称为属性,列名称为属性名, n 目关系必有n 个属性。 在定义中,n=1的关系只含有一个属性,称为单元关系。n=2为二 在 SQL Server 数据库中,通常关系被称为数据表,属性被称为字 学生选课表 (姓名,性别,所选课程) 如下表给出了一张学生选课表,该表由学生姓名、性别和所选课程 组成,该关系的名字为学生选课表,属性名就是域名,即姓名,性别和 所选课程,这个关系可表示为 姓名性别所选课程 王芳男计算机语言 王天女数据库系统及应用 郑蕾男计算机网络 本章首页本节首页上一页 在关系模型中,关键字(简称键)是一

8、个重要概念,通常由一个或多 个属性组成。 3)外键。如果一个关系R1中包含有另一个关系R2的主键所对应的属性组 F,则称F为R1的外键,并称关系R1为参照关系,关系R2为信赖关系。 1)候选键。如果一个属性集能惟一标识元组,且又不含有多余的属性, 那么这个属性集称为关系的候选键。 2)主键。如果一个关系中有多个候选键,则可选定其中一个为关系的主键。 例如,学生关系和系部关系分别为: R1:学生(学号,姓名,性别,年龄,系编号) R2:系部(系编号,系名,系主任) 学生关系R1的主键为学号,系部关系R2的主键为系编号,在R1中系 编号是它的外键,即系编号是R2的主键,将它作为外键放在R1中,实

9、现两关系的联系。 4)主属性和非主属性。包含在任何一个候选主键字中的属性称为主属性, 不包含在任何一个候选关键字中的属性称为非主属性。 本章首页本节首页上一页 2关系模式 关系模式是对关系的描述,通常它包括关系名、组成该关系的多 个属性名、域名、属性向域的映像(即属性与域之间的映像关系)等 4 个部分。通常记为R(D1,D2,Dn),R 为关系名,D1,D2, Dn为属性名。属性向域的映像常用属性的类型、长度来说明。关系 实际上就是关系模式在某一时刻的状态或内容。也就是说关系模式是 型,关系模式就是二维表的表框架或结构,它相当于文件结构或者记 录结构。关系是它们的值。在实际中,常常把关系模式和

10、关系统称为 关系,大家可以从上下文中加以区别。 设关系名为REL,其属性为A1,A2,An,则关系模式为: REL (A1,A2,An) 对每个Ai(i=1,n)还包括该属性到值域的映象,即属性的取值范围 (1)关系模型 所有的关系模式、属性名和关键字的汇集,是模式描述的对象 本章首页本节首页上一页 (2)关系数据库模式 一组关系模式的集合叫作关系数据库模式。 关系数据库模式是对关系数据库结构的描述,或者说是对关系数据 库框架的描述,也就是前面所讲过的关系的头,可以看作是关系的型。 与关系数据库模式对应的数据库中的当前值就是关系数据库的内容,成 为关系数据库的实例,即前面所讲过的关系体,可以看

11、作是关系的值。 例如,在教学数据库中,共有五个关系,其关系模式分别为: 学生(学号,姓名,性别,年龄,系别) 教师(教师号,姓名,性别,年龄,职称,工资,岗位津贴,系别) 课程(课程号,课程名,课时) 选课(学号,课程名,成绩) 授课(教师号,课程号) 在每个关系中,又有其相应的数据库的实例(元组)。 本章首页本节首页上一页 2.5.2 2.5.2 关系的完整性关系的完整性 关系模型的完整性规则是对关系的某种约束条件。关系的完整性约 束条件包括三大类:实体完整性,参照完整性和用户定义的完整性。 1实体完整性(Entity Integrity) 实体完整性是指主关系键的值不能为空或部分为空 在任

12、何关系的任何一个元组中,主键的任一分量都不允许为空值, 即若属性 A是基本关系 R的主属性,则属性 A不能取空值,也即要求关 系中元组在组成主键的属性上不能有空值。 因为在一个关系中,主键是惟一标识一个元组的,因而它也是惟一标识 该元组所表示的某个实体的。 如果主键属性中某些分量为空值,将难以判断该元组与其他元组的区别 。这将带来复杂的语义问题,禁止主键属性值为空值即可避免这一问题。 例如,在学生关系 “ 学生自然情况(学号,班级号,姓名,性别,出 生年月,入学成绩)”中,“ 学号 ”为主键,那么“学号”这个属性不能取空 值。 本章首页 2参照完整性(Referential Integrity

13、) 现实世界中的实体之间往往存在某种联系,在关系模型中实体及实 体间的联系都是用关系来描述的。这样就自然存在着关系与关系间的引 用。我们先引进一个“外键”的概念。 若某个属性或属性不是关系 A 的主码,但它是另一关系B的主码, 则该属性或属性组称为关系A 的外键。在关系A 中,外键或取空值或者 等于关系 B中某个元组的主码值。 例:有两个基本关系为 学生表(学号,班级号,姓名,性别,出生年月,入学成绩) 班级表(班级号,班级名称,所属系部,入学时间,系别) 学生表的主码为学号,而班级表的主码为班级号,因而班级号 是学生表的外键。 按照参照完整性,学生表中的外键即班级号的取值有两种可能: 取空值

14、,表明该学生尚未分配到任何班级 若取非空值,则它必须是参照关系班级表中某个元组中的班 级号的值,因为该学生不能属于一个不存在的班级 本章首页本节首页 3 用户定义的完整性 (User-defined Integrity) 任何关系数据库系统都应该支持实体完整性和参照完整性。除此之 外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特 殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束 条件由应用环境决定的。它反映一具体应用所涉及的数据必须满足的语 义要求。例如某个属性必须取惟一值,某些属性值之间应满足一定的函 数关系,学生的年龄定义为两位整数,且范围在15 30之间,性别

15、只接 受“男”或“女”等等。系统提供定义和检验这类完整性的机制,以便用统 一的系统方法处理它们,而不再由应用程序承担这项工作。 在关系的完整性规则中,实体完整性和参照完整性是关系模型必须 满足的完整性的约束条件,被称做是关系的两个关系不变性,应由关系 系统自动支持;而用户完整性反映了用户的要求,是用户自行定义的。 本章首页本节首页上一页 2.5.3 2.5.3 关系代数关系代数 关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传 统表达式,它是用对关系的运算来表达查询的。 任何一种运算都是将一定的运算操作应用于一定的运算对象上, 得到预期的运算结果。所以运算对象、运算符、运算结果是运算的

16、三 大要素。 关系代数的运算对象是关系,运算结果亦为关系。 关系代数的运算符包括四类:集合运算符、专门的关系运算符、 比较运算符和逻辑运算符(如下页(表一)所示) 关系代数的运算按运算符的不同可分为传统的集合运算和专门的 关系运算两类。其中传统的集合运算将关系看成元组的集合,其运算 是从关系的“水平”方向即行的角度来进行的。而专门的关系运算不仅 涉及行而且涉及列。比较运算符和逻辑运算符是用来辅助专门的关系 运算符进行操作的。 本章首页 运算符分类类运算符含义义 集合运算符 并运算 差运算 交运算 专门专门 的关系运算符 笛卡儿积积 选择选择 运算 投影运算 连连接运算 除法运算 比较较运算符 大于 大于等于 小于 小于等于 等于 不等于 逻辑逻辑 运算符 非运算 与运算 或运算 (表一) 本章首页返回 2.5.3.1 传统的集合运算 定义 设关系R和关系S具有相同的关系模式

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

最新文档


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

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