网站大量收购独家精品文档,联系QQ:2885784924

第4章_关系数模型及其运算基础.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章_关系数模型及其运算基础

第4章 关系数据模型及其运算基础 在本课程的1.2.3节中已经介绍了关系模型。关系模型是由:关系数据模型结构—表、关系操作集合和关系的三类完整性约束组成的。 其中表和三类完整性已作了详细的介绍。关系的操作也通过对SQL语言的学习,有了大致的了解。 评价实际关系语言的理论是关系代数和关系演算。实际的关系语言,有的是基于关系代数的,有的是基于关系演算的,有的是介于两者之间的,我们前面学习过的结构化查询语言SQL就是介于关系代数和关系演算之间的一种关系语言。 关系演算又分为元组关系演算和域关系演算两种。理论已证明关系代数、元组关系演算和域关系演算三者是等价的。 本章重点介绍的是关系代数,对元组关系演算和域关系演算只作一般性介绍。 4.1 关系模型的基本概念 关系操作是集合操作,操作的对象是集合,操作的结果也是集合。因此,关系操作的基础是集合代数。 4.1.1 笛卡尔积(Cartesian Product) 1、域(Domain):域是一组具有相同数据类型的值的集合。 例如:自然数、整数、实数、长度小于8的字符串等都可以是域。 2、笛卡尔积: 给定一组域D1,D2,…,Dn,这些域中可以有相同的元素。D1,D2,…,Dn的笛卡尔积为: 其中: 每一个元素叫作一个n元组(n-tuple)或简称元组(Tuple); 元组中的每一个值叫作该元组在相应域Di上的一个分量(Component); 每一个元组是组成该元组各分量的有序集合(强调各分量的有序性); 若为有限集,其基数(Cardinal number)为,则的基数为: =m1×m2×…×mn 基数即集合中元素的个数; 笛卡尔积实际上就是一个二维表。表中每一行对应一个元组,每列对应一个域。 参看P65例4.1 4.1.2 关系(Relation) 笛卡尔积的任意一个子集,称为在域D1,D2,…,Dn上的一个n元关系,简称关系,又称为表。每个关系都有一个名字称为关系名。 关系是笛卡尔积的一个子集,所以关系也是一个二维表。 二维表:表 名、列、 列 名、表中一行、 关 系:关系名、属性、属性名、一个元组、 以上是二维表与关系的对应关系。 一个属性的取值范围Di(i=1,2,…n)称为该属性的域(Domain)。不同的属性可以有相同的域。 从第2章可见,实际的关系有三种类型:基本表、查询表和视图表。其中 基本表是实际存在的表; 查询表是查询结果对应的表; 视图表是从基本表和/或已定义的视图中导出的表,是虚表,只有存放在数据库中的定义,而实际上不存在。 关系的其它术语,如主码、主属性、外部码等在1.2.3节中已经作了详述,在此不再重复。 4.2 关系模式 前已学过,一个关系的关系模式是该关系的关系名及其全部属性名的集合,一般表示为: 关系名(属性名1,属性名2,…,属性名n) 可见: 关系模式是型,是对关系的描述。关系是值,是关系模式的具体体现; 关系模式是稳定的。关系是变化的,关系是某一时刻关系模式的内容。 完整的关系模式应该定义为: R(U, D, dom, F) 其中: R为关系名; U为该关系所有属性名的集合; D为属性组U中属性所来自的域的集合; Dom为属性向域映象的集合;F为属性间数据依赖关系的集合。 关系模式常简记为:R(U)或R(A1,A2,…,An) 其中: R为关系名,Ai(i=1,2,…,n)为属性名。域名及属性向域的映象一般即为定义中属性的类型和长度。 4.3 关系数据库 关于关系数据库,记住以下三点: 一个应用范围内,所有关系的集合就形成了一个关系数据库。 对关系数据库的描述称为关系数据库的模式,也称为关系数据库的型。 全部关系模式在某一时刻的值的集合即全部关系的集合为关系数据库的值,简称为关系数据库。 关于关系数据库的其它概念我们将在以后的学习中逐渐领会。 4.4 关系代数 关系代数运算的对象是关系,运算的结果也是关系。 关系代数的运算可分为传统的集合运算和专门的关系运算两类。 关系代数用到的运算符包括四类: 集合运算符:并(∪)、差(-)、交(∩)和广义的笛卡尔积(×) 专门的关系运算符:投影(π)、选择()、连接()和除(÷) 比较运算符:>、≥、<、≤、=、≠ 逻辑运算符:∨(或)、∧(与)、 (非) 后两种运算符是用来辅助前两种运算符进行操作的。 4.4.1 传统的集合运算 传统的集合运算是二目运算。设关系R和S的目都是n(都有n个属性),且相应的属性取自同一域,则 1、关系R和S的并(Union)为: RS={t | t R∨tS} 含义:任取元组t,当且仅当t属于R或t属于S时,t属于R∪S。R∪S是一个n目关系。 2、R和S的差(Difference)为: R-S={t | t R∧tS} 含义:当

文档评论(0)

qnc814 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档