关系模型与关系数据库课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《关系模型与关系数据库课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 模型 数据库 课件
- 资源描述:
-
1、LOGO第第1 1部分数据库系统基础部分数据库系统基础数据库系统及其应用数据库系统及其应用第第2章章 关系模型与关系数据库关系模型与关系数据库关系数据模型关系数据模型2.1关系操作与关系查询语言关系操作与关系查询语言2.2SQL语言语言2.3应用关系数据库应用关系数据库2.42022-11-1122.1 关系数据模型关系数据模型2.1.1 关系模型基础 2.1.2 关系模型的约束及其表达2.1.3 关系数据库2022-11-1132.1.1 关系模型基础关系模型基础 v关系(表)关系(表)关系模型将数据库表示为一组“关系(relation)”的集合。每个关系好比一个具有多个行(row)和多个列
2、(column)的二维值表(table)。每个关系含两部分信息:关系模式(relation schema)和关系实例(relation instance)。在正式的关系模型术语中 表行:被称为记录(record)或元组(tuple)表列标题:被称为属性(attribute)或字段(field)。2022-11-114一个简单关系表的关系模式和关系实例示例一个简单关系表的关系模式和关系实例示例(图图2.1)2022-11-115其它几个重要的关系模型概念(其它几个重要的关系模型概念(1)v 属性域属性域 在关系模型中,必须为每个属性指定一个域(domain)。v 关系模式关系模式(relatio
3、n schema)指一个关系的基本模式结构定义。形式上,名为R的关系模式可表示为:R(A1:dom(A1),An:dom(An)v 关系实例(关系状态)关系实例(关系状态)关系的每个数据行称为一个元组,可形式表示为 t=,关系的实例(状态)是一个元组集或记录集,可形式表示为:r(R)=t1,t2,tn2022-11-116其它几个重要的关系模型概念(其它几个重要的关系模型概念(2)v关系数据库模式关系数据库模式(Schema,S)指由一个关系模式集R1,R2,Rn和一个关系约束集ICs构成的定义集;S=R1,R2,Rn+ICs。v关系数据库状态关系数据库状态 指特定时刻DB中所有关系状态的集合
4、,即DB=r1,r2,rn,其中,ri是关系Ri的状态。v关系数据库关系数据库 关系数据库(RDB),是采用关系模型来表示数据的数据库。RDB的一个状态也称为一个RDB实例。2022-11-1172.1.2 关系模型的约束及其表达关系模型的约束及其表达 v完整性约束完整性约束(Integrity Constraints,ICs)DBMS必须能强制实施与DB模式有关的所有约束,以限制允许存储到DB的数据,确保DB中只有满足约束的合法数据。ICs的主要类型包括域约束、主键约束和外键约束,它们常被统称为基于模式的约束。v键约束键约束 超键(superkey,SK)的概念 能唯一标识关系R中每个元组的
5、一个属性子集 超键中可能会有冗余属性 候选键(Candidate Key)没有冗余属性的超键2022-11-118引用完整性约束引用完整性约束v引用完整性约束引用完整性约束(referential integrity constraint)指要在两不同关系之间指定,用来维护两关系元组间一致性的一种关系模型约束。该约束指定:当某关系元组引用另一个关系中元组时,只能引用已经存在的元组。v外键外键(Foreign Key,FK)定义定义v外键条件指定了两个关系模式外键条件指定了两个关系模式R1和和R2之间的一之间的一个个引用完整性约束引用完整性约束,或简称为外键约束。,或简称为外键约束。2022-1
6、1-119约束指定应用实例约束指定应用实例2022-11-11102.2 关系操作与关系查询语言关系操作与关系查询语言2.2.1 关系代数 2.2.2 关系演算本章查询表达说明用例模式(本章查询表达说明用例模式(“水手值勤服务水手值勤服务”)Sailors(sid:integer,sname:string,rating:integer,age:integer);Boats(bid:integer,bname:string,color:string);Reserves(sid:integer,bid:integer,day:date);u关系查询语言的两种属性引用方法:关系查询语言的两种属性引用
7、方法:(1)属性名属性名(2)属性在关系模式中的属性在关系模式中的位置或顺序位置或顺序号号关系模型关系模型中除了引入描述中除了引入描述DB结构结构和约束的概念外,还引用了一组可和约束的概念外,还引用了一组可操纵操纵DB的操作的操作-通过基于模型的通过基于模型的专门语言,来表达模型操作专门语言,来表达模型操作。u本节介绍:本节介绍:基于关系模型的两种模基于关系模型的两种模型语言型语言-关系代数关系代数/关系演算。关系演算。u下节介绍:下节介绍:以这两种形式语言为基以这两种形式语言为基础的关系模型标准化语言础的关系模型标准化语言(SQL)2022-11-1111“水手值勤服务水手值勤服务”的一个简
8、单模式实例的一个简单模式实例2022-11-11122.2.1 关系代数关系代数v 关系代数由一组操作符构成。每个操作符接受关系代数由一组操作符构成。每个操作符接受1或或2个关个关系实例作为参数,返回一个关系实例作为结果。以下三个系实例作为参数,返回一个关系实例作为结果。以下三个方面因素,可突显关系代数在方面因素,可突显关系代数在RDBMS中的重要性和地位:中的重要性和地位:它为关系模型操作提供了一个形式化的基础;是RDBMS查询实现和优化的基础;SQL结合并保留了很多关系代数的基本概念v 关系代数操作符的两种主要类型:关系代数操作符的两种主要类型:基于集合论的操作,包括并、交、差和叉积等,这
9、些操作的适用性源于“关系”本质上是元组集合;另一类操作则是专门为RDBMS开发的操作,包括选择、投影、连接,以及为聚合运算引入的相关操作。2022-11-11131.并、交、差运算并、交、差运算 v 并、交、差这三个运算操作都可对应到集合论操作,它并、交、差这三个运算操作都可对应到集合论操作,它们都属于二元操作符,要求有两个被操作对象,且要求们都属于二元操作符,要求有两个被操作对象,且要求这两个关系是相容的。这两个关系是相容的。并(RS):RS=t|t R t S 交(RS):RS=t|t R t S 差(RS):RS=t|t R t S 2022-11-11142.叉积操作叉积操作v 叉积,
10、也称为笛卡儿积叉积,也称为笛卡儿积(cartesian product),操作符,操作符用用 表示,属于二元关系操作符,代数表达式为表示,属于二元关系操作符,代数表达式为R S。2022-11-11153.选择操作与投影操作选择操作与投影操作v 选择操作符表示为选择操作符表示为c(R),其中,其中,c为条件表达式。为条件表达式。v 投影操作符表示为投影操作符表示为 L(R),其中,其中,L为投影输出的属性为投影输出的属性子集列表子集列表A1,Am。2022-11-11164.重命名操作重命名操作v在许多场合,输出列名可以直接使用输入关系的在许多场合,输出列名可以直接使用输入关系的属性名。但当输
11、出列为表达式,或二元操作两个属性名。但当输出列为表达式,或二元操作两个输入关系中含同名属性,或希望改善原属性名的输入关系中含同名属性,或希望改善原属性名的可读性等,都需要重命名机制。可读性等,都需要重命名机制。v关系代数中引入了一个重命名操作符关系代数中引入了一个重命名操作符(),其代,其代数表达形式为:数表达形式为:(R(A1A1,AiAi,),E)v例例2.6 基于图基于图2.4(d)的的S1R1,写出表达,写出表达式式(R(1sid1,5sid2),S1R1)返回返回的的R模式。模式。2022-11-11175.连接操作连接操作v连接操作(连接操作(c),用来合并两个关系中的信息),用来
12、合并两个关系中的信息将两关系中相关的将两关系中相关的“元组对元组对”合并成一个元合并成一个元组输出。组输出。v虽然在概念上,虽然在概念上,R cS=L(c(R S);但按;但按这种方法实现连接操作的效率很低。在这种方法实现连接操作的效率很低。在RDBMS中,连接操作通常以独立于叉积结果的方法实现。中,连接操作通常以独立于叉积结果的方法实现。2022-11-11186.消除重复与排序运算消除重复与排序运算 v消除重复运算的表达式为消除重复运算的表达式为 (RB),其操),其操作对象可以是包型关系或集合型关系。作对象可以是包型关系或集合型关系。消除重复是一个代价较大的操作,故在很多实际系统中,默认
13、情况下的投影输出都不自动消除重复。v排序操作的代数符号表达式为排序操作的代数符号表达式为T L(R)。该。该操作用来将关系操作用来将关系R的所有元组,按的所有元组,按L所指定所指定方式排序输出。方式排序输出。L是一个属性表达列表,具有形如A1 asc|desc,A2 asc|desc,的形式2022-11-11197.分组与聚合操作分组与聚合操作v分组分组(grouping)与聚合与聚合(aggregating)操作操作的代数表达式为的代数表达式为L(R),该操作将关系,该操作将关系R的所有的所有元组按元组按L指定方式进行分组。指定方式进行分组。L是一个列表表达式。v聚合关系与原关系聚合关系与
14、原关系R一般具有不同的模式结构。一般具有不同的模式结构。聚合关系中的属性,必须或者是出现L中的属性,或是一个聚合函数表达式。v很多很多DB书籍或文献中,都将书籍或文献中,都将aggregating运算运算译为聚集。本书中,考虑到已将译为聚集。本书中,考虑到已将clustering译译为聚簇、聚集。为避免混淆,同时也考虑到合计为聚簇、聚集。为避免混淆,同时也考虑到合计汇总运算这个语义,故采用汇总运算这个语义,故采用聚合聚合这个译法。这个译法。2022-11-11202.2.2 关系演算关系演算(relational calculus)v 关系演算为关系关系演算为关系DB查询提供了一种高级描述性表
15、示法。查询提供了一种高级描述性表示法。它是一种形式化语言,其基础是被称为谓词(predicate)演算的数理逻辑分支一阶谓词逻辑(First Order Logic,FOL)。在演算表达式中,不需给出如何应获取结果的操作次序指示信息,只描述了结果中应当包括的信息。v 关系演算表达式描述了一个新的关系,这个新关系以变量形关系演算表达式描述了一个新的关系,这个新关系以变量形式来指定,变量取值范围可是是新关系中的元组(元组演式来指定,变量取值范围可是是新关系中的元组(元组演算),或是新关系中的属性域(域演算)。算),或是新关系中的属性域(域演算)。元组演算对商业化关系查询语言SQL发展有重要影响;域
16、演算则是QBE(Query-By-Example语言)的基础。2022-11-1121元组关系演算元组关系演算(Tuple Relational Calculus,TRC)v 元组变量元组变量 是取值范围限为特定关系元组的变量。v TRC查询的基本表达形式查询的基本表达形式 t|p(t),t 代表一个元组变量,而p(t)则是t应当满足的逻辑公式。查询结果是能使逻辑公式p(t)为真值的所有元组t集合。构造TRC查询表达的核心任务是给出逻辑公式p(t),本质上TRC逻辑公式是FOL公式的一个子集。v 应用举例应用举例 要检索职级超过7的水手,TRC表达为:S|S Sailors S.rating
17、7 2022-11-1122v TRC原子公式,是下面形式之一:原子公式,是下面形式之一:R Rel 是最基本原子公式,表达元组变量R的取值。R.a op S.b 或 R.a op const 或 const op R.a 是比较型原子公式,表达R在其指定属性上的取值限定。v 任何任何TRC公式可由如下任一方法递归地构造产生:公式可由如下任一方法递归地构造产生:任何一个原子公式。p(取反),p q(与连接构造),p q(或连接构造),pq(蕴涵:若p为真,q必为真)。R(p(R),R是元组变量。R(p(R),R是元组变量。TRC查询的语法与语义查询的语法与语义u 令Rel是关系名;逻辑操作符o
18、p ,=,;u R和S是元组变量,a与b分别是R与S的一个属性;u p和q是一个TRC公式。通常一个公式通常一个公式p(R)中会包含一个中会包含一个R Rel条件,以及一些关条件,以及一些关于于R的量词限定表达。为简洁起见,的量词限定表达。为简洁起见,常用常用R Rel(p(R)替代替代R(R Relp(R)常用常用R Rel(p(R)替代替代R(R Relp(R)2022-11-1123域关系演算域关系演算(Domain Relational Calculus,DRC)v DRC公式可按类似公式可按类似TRC公式的方式进行形式定义。这两公式的方式进行形式定义。这两类公式定义的主要差别是变量的
展开阅读全文