第4章关系数据库方法资料.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 关系数据库方法 目  录 第4章 关系数据库方法 50 本章主要内容 50 4.1关系数据库的基本概念 50 4.1.1关系的形式化定义 50 4.1.2关系模式、关系子模式和存储模式* 52 4.1.3 关系模型的完整性规则* 54 4.1.4 关系数据库模式 56 4.2关系数据库的用户接口和关系数据语言 56 4.3关系代数 57 4.3.1 关系代数的五个基本操作 57 4.3.2 关系代数的组合操作 61 4.3.3关系代数应用举例 65 4.4关系演算 66 4.4.1元组关系演算 66 4.4.2域关系演算 68 4.5关系系统 71 4.5.1关系系统 71 4.5.2全关系系统的十二条基本准则 72 4.6关系系统的查询优化 74 4.6.1查询优化的一般策略 74 4.6.2代数优化 75 4.6.3基于存取路径的规则优化 81 4.7 关系数据操纵语言的比较 88 本章小结: 89 作业: 89 第4章 关系数据库方法 本章主要内容 关系模型是当前的主流数据模型,因而,关系模型系统是本书的重点之一。本章及后面的第5章、第6章,将详细介绍关系模型系统,包括关系模型的基础理论(第4章),关系数据库的标准语言SQL(第5章)和关系数据库设计理论(第6章)。 经过多年努力,陆续推出了若干个关系系统,其中有些产品已构成系列,比较著名的有美国ORACLE公司的Oracle数据库SYBASE公司的Sybase数据库,加州大学的INGRES数据库INFORMIX公司的Informix数据库,IBM公司的DB2数据库,以及Microsoft公司的Windows NT SQL Server数据库等等。 目前关系模型系统得到了广泛应用,其原因可概括为三点: (1)单一的数据建模概念。在关系数据模型中,无论是对实体或实体联系,都统一地用“关系”表示,它不仅结构简单,易于掌握,而且表达能力强(与层次模型和网状模型相比),能够方便地处理多种复杂的数据结构。 (2)数据库语言SQL(Structured Query Language)支持关系数据模型。SQL是一种非过程化语言,用SQL对数据库进行定义和操作非常简单和方便。 (3)关系模型具有坚实的数学理论基础(集合论和一阶谓词逻辑),因此,不仅易于形式化研究,而且很容易进行数据库设计。 本章将主要介绍关系数据数据库的基本概念,关系运算和关系表达式的优化问题,其中关系运算和关系表达式的优化问题是本课程的重点内容之一。关系运算是关系数据模型的理论基础。 4.1关系数据库的基本概念 4.1.1关系的形式化定义 虽然用二维表形式表示关系非常直观,但在实际应用和理论研究中很不方便。我们可以用数学方法表示一个关系。一般来讲,有两种数学方法,一是代数方法,另一种是一阶谓词逻辑方法。 1)关系的集合表示 一个关系由若干个不同元组组成,因此,可把关系视为元组的集合。此外,关系中每个属性都有其相应的值域或简称域(Domain)。例如,学生性别的域是{男,女},学生成绩的域是0~100的整数集合。 假设一组域,是由D1,D2,…,Dn n个域组成。D1,D2,…,Dn上的D1×D2×…×Dn定义为集合: D1×D2×…×Dn={(d1,d2,…,dn) |di∈Di,i=1,2,…,n} 其中每个元素(d1,d2,…,dn)称为一个元组。 若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数为: 【例4-1】设有二个域教师名域T={胡恒,丁伟}、课程名域C={C语言,数据结构,计算机原理},由T和C的笛卡儿积定义集合: T×C={(胡恒,C语言),(胡恒,数据结构),(胡恒,计算机原理), (丁伟,C语言),(丁伟,数据结构),(丁伟,计算机原理)} 它表示教师名和课程名的所有可能组合,其中的每一个元素表示“某教师讲授某课程”。其中(胡恒,C语言),(胡恒,数据结构),(胡恒,计算机原理)等都是元组。 该笛卡儿积的基数为2×3=6,也就是说,T×C一共2×3=6个元组。 如果取该笛卡儿积的这六个元素,并将它们放到一张名为T_C的二维表中,即: 显然,这是一个关系。于是有下面的定义4-1。 定义4-1:一个在域D1,D2,…,Dn上的关系(Relation)就是笛卡儿积D1×D2×…×Dn的子集,用R(D1,D2,…,Dn)表示,RD1×D2×…×Dn。关系的成员为元组,即笛卡儿积的子集的元素(d1,d2,…,dn)。 其中,R表示关系的名,n是关系的目或度(Degree)。并且,当n=1时,称关系为单元关系(Unary Relation);当n=2时称关系为二元关系(Binary Relation),等等。 例如,我们用教师名代替教师(假设无同名

文档评论(0)

琼瑶文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档