版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1关系模型和关系运算关系模型和关系运算 三三 教材与参考书教材与参考书1.1.教材:教材: 数据库理论与新技术数据库理论与新技术 北京理工大学出版社北京理工大学出版社 2.2.参考资料:参考资料:1.王珊珊 萨师煊萨师煊 数据库系统概论数据库系统概论 高等教育出版社高等教育出版社2. 2. 闪四清,数据库系统原理与应用教程,清华大学出版社,北京,闪四清,数据库系统原理与应用教程,清华大学出版社,北京,2008.42008.43.3.李昭原,数据库技术新进展李昭原,数据库技术新进展 清华大学出版社清华大学出版社 2002007 7. .10104. SYBASE4. SYBASE、ORAC
2、LEORACLE、IBM DB2IBM DB2、INFORMIXINFORMIX、MS SQL SERVERMS SQL SERVER数据库系统有关资料。数据库系统有关资料。3.3.教材和参考书的使用教材和参考书的使用 本课程以教材为主,课件内容主要来自教材和参考书本课程以教材为主,课件内容主要来自教材和参考书, ,课程内容自成体系。对以前课程内容自成体系。对以前一点没有学过数据库基本知识的同学,可以从参考书一点没有学过数据库基本知识的同学,可以从参考书1 1或其它相关参考书中查到一些最或其它相关参考书中查到一些最基本的知识。基本的知识。第1页/共101页四四. .本课程主要内容本课程主要内容
3、第一章第一章 关系和关系模型关系和关系模型 数据模型, 关系和关系模式, 键, 关系的更新.第二章第二章 关系运算关系运算 布尔运算,选择 ,投影, 连接, 除,常关系 ,属性命名,关系代数.第三章第三章 数据依赖数据依赖 函数依赖、多值依赖和连接依赖,数据依赖的公理系统,依赖集的等价和覆盖及算法。 第四章第四章 关系数据库范式关系数据库范式 范式的概念,1NF5NF,模式分解及其算法,生成范式的不同算法。第五章第五章 数据库系统设计数据库系统设计 数据库系统设计与数据库设计,数据库系统设计的任务与内容,数据库系统设计方法与步骤。第六章第六章 数据库管理系统数据库管理系统 数据库管理系统的系统
4、结构、主要功能、实现技术、语言处理,当前流行的主流数据库管理系统简介。第2页/共101页第3页/共101页五五. .数据库领域研究的三个主要方面数据库领域研究的三个主要方面 1 1数据库管理系统软件(数据库管理系统软件(DBMS)DBMS) 研究其设计方法和实现技术,数据模型,对持久性数据研究其设计方法和实现技术,数据模型,对持久性数据的有效存储和存取方法,数据结构定义和数据操纵语言,的有效存储和存取方法,数据结构定义和数据操纵语言,用户接口等。用户接口等。数据库管理系统软件数据库管理系统软件是位于用户和操作系统之间的数据管是位于用户和操作系统之间的数据管理软件。如理软件。如ORACLEORA
5、CLE、SQL ServerSQL Server、DB2DB2、ACCESSACCESS等等2 2数据库应用系统的设计方法和工具数据库应用系统的设计方法和工具 早期有设计指南和规范标准,设计阶段的计算机辅助早期有设计指南和规范标准,设计阶段的计算机辅助设计工具,计算机辅助设计全过程。要求设计工具能够支设计工具,计算机辅助设计全过程。要求设计工具能够支持不同应用领域数据库设计,如支持复杂对象设计等。持不同应用领域数据库设计,如支持复杂对象设计等。第4页/共101页 3 3有关数据模型及设计理论的研究有关数据模型及设计理论的研究(7(7方面方面) )(1 1)数据依赖理论)数据依赖理论 函数依赖、
6、多值依赖、连接依赖函数依赖、多值依赖、连接依赖 (2 2)规范化理论)规范化理论 范式、算法、模式分解范式、算法、模式分解(3 3)查询优化理论)查询优化理论 包括逻辑层和物理层的优化包括逻辑层和物理层的优化第5页/共101页4 4泛关系理论泛关系理论 泛关系模型、泛关系表示、泛关系查询泛关系模型、泛关系表示、泛关系查询 5 5符号表追踪理论符号表追踪理论 6 6超图理论超图理论 利用超图研究数据库模式的特性利用超图研究数据库模式的特性 7 7空值理论(不确定信息)空值理论(不确定信息) 空值表示,加了空值后的运算、推理,空值空值表示,加了空值后的运算、推理,空值的分类的分类, ,分解方法、查
7、询优化等。分解方法、查询优化等。 第6页/共101页分布式数据库分布式数据库面向对象数据库面向对象数据库对象对象关系数据库关系数据库并行数据库并行数据库多媒体数据库多媒体数据库工程数据库工程数据库智能数据库智能数据库模糊数据库模糊数据库嵌入式数据库嵌入式数据库主动数据库主动数据库空间数据库空间数据库时态数据库时态数据库WebWeb数据库数据库数据仓库和数据挖掘数据仓库和数据挖掘 六六. . 数据库领域的新技术数据库领域的新技术第7页/共101页人工管理阶段(上世纪人工管理阶段(上世纪5050年代初期)年代初期)数据不保存数据不保存应用程序管理数据应用程序管理数据数据不共享数据不共享数据不具有独
8、立性数据不具有独立性应用程序应用程序1应用程序应用程序2应用程序应用程序n数据集数据集1数据集数据集2数据集数据集n第8页/共101页 文件系统阶段(上世纪文件系统阶段(上世纪5050年代后期)年代后期) 数据物理结构和逻辑结构的分离数据物理结构和逻辑结构的分离数据可以长期保存数据可以长期保存由文件系统管理数据由文件系统管理数据数据文件是面向应用的数据文件是面向应用的数据共享性差,冗余度大数据共享性差,冗余度大数据独立性差数据独立性差数据文件1应用程序1应用程序n文件管理文件管理系统系统数据文件n第9页/共101页 数据库系统阶段(上世纪数据库系统阶段(上世纪60年代后期)年代后期)数据结构化
9、数据结构化数据的共享性高,冗余度低,易扩充数据的共享性高,冗余度低,易扩充数据独立性高数据独立性高数据由统一管理和控制数据由统一管理和控制数据库第10页/共101页数据库数据库( (DataBase, DB)DataBase, DB) 长期存放在计算机内的、有组织的、可共享的数据集合。长期存放在计算机内的、有组织的、可共享的数据集合。数据库管理系统数据库管理系统(Data Base Management System DBMS) 数据库管理系统是位于用户和操作系统之间的数据管理软件。数据库管理系统是位于用户和操作系统之间的数据管理软件。如如ORACLE、SQL Server、DB2、ACCES
10、S等等 。 数据库管理系统的功能是:科学地组织和存储数据、高效地获取和数据库管理系统的功能是:科学地组织和存储数据、高效地获取和维护数据。维护数据。第11页/共101页 数据库系统数据库系统( (DBS)DBS) 由:由:数据库、数据库管理数据库管理系统、应用系统、系统、应用系统、数据库管数据库管理员理员(DBA)、数据库用户构成的系统 用户用户1 1用户用户2 2用户用户3 3 应用系统应用系统 操作系统操作系统数据库数据库用户开发工用户开发工具具 数据库管理系数据库管理系统统 DBADBA后页第12页/共101页第13页/共101页第14页/共101页主要内容:主要内容:数据模型数据模型关
11、系和关系模式关系和关系模式键键关系的更新关系的更新第15页/共101页数据模型的组成要素:数据模型的组成要素: 数据结构、数据操作、数据结构、数据操作、 数据的完整性数据的完整性基本的数据模型分类:基本的数据模型分类: 层次、网状、关系数据模型、层次、网状、关系数据模型、面向对象数据模型面向对象数据模型第16页/共101页完整性规则是用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。第17页/共101页1.1.层次模型层次模型有且仅有一个结点无双亲,称为根结点;有且仅有一个结点无双亲,称为根结点;其它结点有且仅有一个双亲。其它结点有且仅有一个双亲。 层次模型的数据结
12、构是一棵树。层次模型的数据结构是一棵树。第18页/共101页班级教研室系科室部科室处大学大学组织机构的层次模型大学组织机构的层次模型 第19页/共101页 允许一个结点可以有多个双亲;允许一个结点可以有多个双亲; 多个结点无双亲结点。多个结点无双亲结点。班级课程学生第20页/共101页 基本结构是二维表,一张表称为一个关系。基本结构是二维表,一张表称为一个关系。与层次和网状模型比较,关系模型有下列优点:与层次和网状模型比较,关系模型有下列优点:数据结构单一;数据结构单一;建立在严格的数学概念基础上;建立在严格的数学概念基础上;将数据定义和数据操纵统一在一种语言中,使用方便,将数据定义和数据操纵
13、统一在一种语言中,使用方便,易学易用。易学易用。l 由于关系模型具有许多优点,因而由于关系模型具有许多优点,因而 在在8080年代之后的年代之后的商品化数据库系统几乎都是关系型的。所以关系数据库商品化数据库系统几乎都是关系型的。所以关系数据库是本课程的主要研究内容之一。是本课程的主要研究内容之一。第21页/共101页9020042 陆川陆川 200402 9020041 刘敏刘敏 200401 9020031 李丽李丽 200302 9020031 王鸣王鸣 200301 班级班级 姓名姓名 学号学号 (a)学生关系学生关系 第22页/共101页 9020042 数数 据据 库库 计算机计算机
14、 曹曹岩岩 9020041 人工智能人工智能 计算机计算机 马小路马小路 9020032 英语英语 外外 语语 赵赵 伟伟 9020031 计算数学计算数学 数数 学学 吴云峰吴云峰 班级班级 课程课程 系别系别 教师姓名教师姓名 (b)教师开课关系教师开课关系第23页/共101页 可以表示复杂对象;可以表示复杂对象; 模块化的结构,便于管理;模块化的结构,便于管理; 具有定义抽象数据类型的能力。具有定义抽象数据类型的能力。 面向对象的数据模型是新一代数据库系统的面向对象的数据模型是新一代数据库系统的基础,是数据库技术发展的方向。基础,是数据库技术发展的方向。第24页/共101页1.2 1.2
15、 关系和关系模式关系和关系模式1.2.1 1.2.1 关系关系 在关系模型中唯一的数据结构是关系,一个关系对应一张在关系模型中唯一的数据结构是关系,一个关系对应一张二维表。二维表。域域 : : 具有相同数据类型的值的集合。具有相同数据类型的值的集合。定义定义1 1(笛卡尔积)笛卡尔积):D D1 1,D,D2 2,.,Dn,.,Dn的笛卡尔积为:的笛卡尔积为: D D1 1 D D2 2 . D Dn n = (d = (d1 1,d,d2 2,.,d,.,dn n) ) d di i D Di i,i=1,2,.,n i=1,2,.,n 。 其中每一个元素其中每一个元素( (d d1 1,d
16、,d2 2,.,d,.,dn n) )叫做一个叫做一个n n元组元组( (n-tuple)n-tuple),元素,元素中第中第i i个值个值d di i叫做第叫做第i i个分量。个分量。例:例:设设D D1 1 =1=1,2 2,33, D D2 2 =a,b=a,b D D1 1 D D2 2 =(1,a),(1,b),(2,a),(2,b),(3,a),(3,b)=(1,a),(1,b),(2,a),(2,b),(3,a),(3,b)第25页/共101页 实际上,如实际上,如D1D1学生集(学生集(5050个),个),如如D2D2班级集(班级集(2 2个),个), D1 D1 D2 D2
17、有多少元素?意义?有多少元素?意义? 定义定义2 2(关系):(关系):集合集合D D1 1,D,D2 2,.,D,.,Dn n笛卡尔积的任一笛卡尔积的任一个子集称该集合上的一个关系个子集称该集合上的一个关系( (Relation)Relation)。 其中其中, ,集合集合D D1 1,D,D2 2,.,Dn,.,Dn是关系中元组的取值范围,是关系中元组的取值范围,称关系的称关系的域域( (domain)domain),这些域是有限的非空集合,这些域是有限的非空集合,n n叫做关系的叫做关系的度度( (degree)degree)。第26页/共101页第27页/共101页dom(NUMBER
18、)=565,523,532,K95,K96dom(FROM)=dom(TO)=BeiJing,XuZhou,ShenZhendom(DEPARTS)=dom(ARRIVES)=一组时间。一组时间。7:3717:13WuChangShenZhenK967:1816:55ShenZhenWuChangK959:4021:45BeiJingLuoYang5326:0621:30LuoYangXuZhou5237:5420:40BeiJing565ARRIVESDEPARTS FROMNUMBER TOXuZhouXuZhou第28页/共101页h关系的性质关系的性质 ( (关系数据库中对关系的限定关
19、系数据库中对关系的限定) ) 1. 1. 每一列中的值是同类型的数据,来自同一个域。每一列中的值是同类型的数据,来自同一个域。 2. 2. 不同的列可以有相同的域,每一列称为属性,用属性不同的列可以有相同的域,每一列称为属性,用属性名标识。名标识。 3. 3. 列的顺序是无关紧要的。列的顺序是无关紧要的。 4. 4. 任意二个元组不能完全相同。(相同元组称重复组)任意二个元组不能完全相同。(相同元组称重复组) 5. 5. 行的顺序是无关紧要的。行的顺序是无关紧要的。 6. 6. 关系中的每个分量都是原子值,是不可分的数据项。关系中的每个分量都是原子值,是不可分的数据项。第29页/共101页 1
20、.2.2 1.2.2 关系模式关系模式 关系模式一般表示为:关系模式一般表示为:关系名(属性关系名(属性1、属性属性n) 如:如:R R(A(A1 1,A,A2 2, ,A,An n) )。 用用U U表示关系表示关系R R的属性集合的属性集合 U=A1A2An ,U=A1A2An , 模式模式R R上的一个关系上的一个关系r r是从是从U U到到D D的映象。元组的映象。元组trtr,t t的分量用的分量用tAtAi i 表示表示. .tAtAi iDDi i例:例: 在学生关系模式在学生关系模式 S(SNO,SNAME,AGE,SEX,CNO)中,中, 当当CNO=1, 就可以一班学生的列
21、表,即一个具体的关系;就可以一班学生的列表,即一个具体的关系; 当当CNO=2, 就可以二班学生的列表,即另一个具体的关系。就可以二班学生的列表,即另一个具体的关系。 第30页/共101页Rd.第31页/共101页约束之下的若干实体的集合,实体的数量是随时间变化的,但这种变化必定在关系模式的约束范围内。n一般用大写字母表述关系的结构,比如R,用小写字母一个具体的关系值,如r.第32页/共101页 1.3 1.3 键(键(KeyKey)和关系的完整性)和关系的完整性 1.1.键键 设关系模式设关系模式R(U)R(U),K K U U,r r是是R R上的任一关系,若上的任一关系,若对对r r中的
22、任意二个不同的元组中的任意二个不同的元组t t1 1、t t2 2满足满足: : (1) (1) t t1 1K K t t2 2KK; (2) (2) 若若 K K K K 而而t t1 1KK t t2 2KK 不成立。不成立。称称K K是是R R的的键键。若仅条件。若仅条件( (1)1)成立,成立,K K是是R R的的超键超键。 有键的定义得出:键是能唯一标示元组的最小属有键的定义得出:键是能唯一标示元组的最小属性集。在上面火车时刻表的例子中,性集。在上面火车时刻表的例子中,NUMBERNUMBER是一个是一个键。键。第33页/共101页n候选键:主键和隐含键统称为候选键。n超键: 在上
23、面键的定义中,若条件(2)不成立,称K为R的超键。 例如:NUMBER、 FROM是一个超键。第34页/共101页 (1 1)关系模型的三要素:)关系模型的三要素: 数据结构数据结构 关系模型的数据结构为单一的关系,它表示了实体和实关系模型的数据结构为单一的关系,它表示了实体和实体间的联系。体间的联系。 关系操作关系操作 关系操作关系操作 关系代数:布尔运算、专门关系运算;关系代数:布尔运算、专门关系运算; 关系演算:关系元组演算、域演算。关系演算:关系元组演算、域演算。 完整性约束完整性约束 实体完整性、参照完整性、用户定义的完整性。实体完整性、参照完整性、用户定义的完整性。 第35页/共1
24、01页 实体完整性实体完整性 关系中键属性的值不能取关系中键属性的值不能取空值空值。 例如:学生关系例如:学生关系 S(S(SNOSNO,SNAME,AGE,SEX,CNO),SNAME,AGE,SEX,CNO) 参照完整性参照完整性 是关系间引用所遵循的规则,与是关系间引用所遵循的规则,与外键外键有关。有关。 用户定义的完整性用户定义的完整性 数据间应满足的语义约束关系,由用户定义,由系统检数据间应满足的语义约束关系,由用户定义,由系统检查。查。(2 2)完整性约束)完整性约束 下下页第36页/共101页u 外键:外键: 设设F F是关系是关系R R的一个或一组属性,但不是的一个或一组属性,
25、但不是R R的键。的键。 若若F F是另一个关系是另一个关系S S的键,则称的键,则称F F是关系是关系R R的外键的外键。 R R为参照关系,为参照关系,S S为被参照关系。为被参照关系。 例如:例如: 参照关系参照关系 学生关系学生关系 S(S(SNOSNO,SNAME,AGE,SEX,SNAME,AGE,SEX,CNOCNO) ) 班级关系班级关系 C(C(CNOCNO, CMN) , CMN) - - 被参照关系被参照关系 u 参照完整性规则参照完整性规则 关系关系R R中外键的值或者为空值,或中外键的值或者为空值,或者为被参照关系中主键的值。者为被参照关系中主键的值。第37页/共10
26、1页第38页/共101页第39页/共101页第40页/共101页 CREATE TABLE SCREATE TABLE S (SNO NUMBER(4)SNO NUMBER(4), SNAME CHAR(10) NOT NULLSNAME CHAR(10) NOT NULL, AGE NUMBER(3) ,AGE NUMBER(3) , SEX CHAR(1), SEX CHAR(1), CNO NUMBER(6), CNO NUMBER(6), CONSTRAINT SK1 CONSTRAINT SK1 PRIMARY KEY (SNO),PRIMARY KEY (SNO), CONSTRA
27、INT SK2 FOREIGN KEY(CNO)CONSTRAINT SK2 FOREIGN KEY(CNO) REFERENCES C(CNO), REFERENCES C(CNO), CONSTRAINT SK3 CONSTRAINT SK3 CHECK(AGE IN (16,45)CHECK(AGE IN (16,45) );CREATE TABLE C CREATE TABLE C (CNO NUMBER(6)CNO NUMBER(6), CMN CHAR(10),CMN CHAR(10), CONSTRAINT CK CONSTRAINT CK PRIMARY KEY (CNO)PR
28、IMARY KEY (CNO) );第41页/共101页 1 1插入插入 对关系对关系r(Ar(A1 1,A,A2 2, ,An),An),插入操作形式为:插入操作形式为: ADD(rADD(r;A A1 1 = d = d1 1, A, A2 2 = d = d2 2, , A An n = d = dn n) ) ADD(r ADD(r;d d1 1, d, d2 2, , , d, dn n) ) 例:例:ADD(SADD(S;SNO=909901, SNAME = SNO=909901, SNAME = 李利李利, , AGE=21, SEX= AGE=21, SEX=男,男,CLAS
29、SNO=200205CLASSNO=200205)插入操作的有效检查:插入操作的有效检查:(1).(1).描述的元组是否符合所指定的关系模式描述的元组是否符合所指定的关系模式; ;(2).(2).元组的某些值是否属于对应的域元组的某些值是否属于对应的域; ;(3).(3).元组的键是否已在关系中存在。元组的键是否已在关系中存在。 第42页/共101页 例:用例:用SQLSQL语言实现在学生关系语言实现在学生关系S S中插入一个元组。中插入一个元组。 INSERT INTO SINSERT INTO S VALUES VALUES(909901909901, 李利李利, 21 21,男男,200
30、205200205);); 第43页/共101页 2 2删除删除 对关系对关系r(Ar(A1 1,A,A2 2, ,An),An),删除操作形式为:,删除操作形式为: DEL(rDEL(r;A A1 1=d=d1 1, A, A2 2=d=d2 2, , A An n=d=dn n) ) DEL( r DEL( r;d d1 1, d, d2 2, , d dn n );); 若若K=BK=B1 1B B2 2B Bm m,DEL( r; BDEL( r; B1 1=k=k1 1, B, B2 2=k=k2 2, , B Bm m=k=km m) ) 例:例:DEL(SDEL(S;SNO=90
31、9901, SNAME = SNO=909901, SNAME = 李利李利, , AGE=21, SEX= AGE=21, SEX=男,男,CLASSNO=200205CLASSNO=200205)删除操作的检查:删除操作的检查: 如果被删除元组在关系中不存在,如果被删除元组在关系中不存在,这个关系将保持不变,但需给出一个出错提示这个关系将保持不变,但需给出一个出错提示。* * * 删去最后一个元组不受限制,即允许是空关系。删去最后一个元组不受限制,即允许是空关系。 第44页/共101页实际上,为了识别被删除的元组并不实际上,为了识别被删除的元组并不需要所有元组的信息,只需要制定键需要所有元
32、组的信息,只需要制定键的值就足够了。比如:的值就足够了。比如:删除学号为删除学号为909901909901的学生元组的学生元组 DELETE FROM SDELETE FROM S WHERE SNO=909901 WHERE SNO=909901; 第45页/共101页 3 3修改修改 修改元组的部分值。对关系修改元组的部分值。对关系r(Ar(A1 1,A,A2 2, ,An),An),若属性集,若属性集 C C1 1,C,C2 2, ,Cp,Cp A A1 1,A,A2 2, ,An,An,则修改操作形式为:则修改操作形式为: CH(rCH(r;A A1 1=d=d1 1,A,A2 2=d
33、=d2 2, ,A An n=d=dn n;C C1 1=e=e1 1,C,C2 2=e=e2 2, ,C,Cp p=e=ep p) 如果如果K KBB1 1, B, B2 2, , B Bm m 为键,则可简化为:为键,则可简化为: CH(rCH(r;B B1 1=k=k1 1,B,B2 2=k=k2 2, ,B Bm m=k=km m;C C1 1=e=e1 1,C,C2 2=e=e2 2;C Cp p=e=ep p) 例例: : CH(SCH(S;SNO=909901SNO=909901;CLASSNO=200203) CLASSNO=200203) 修改操作可用删除操作后跟一个插入操作
34、实现。对插修改操作可用删除操作后跟一个插入操作实现。对插入和删除操作的限制可运用到修改操作中。入和删除操作的限制可运用到修改操作中。 第46页/共101页例例: : 施加一系列操作于火车时刻表施加一系列操作于火车时刻表 1. 1. ADD(trainADD(train;33, TianJin, ShangHai,33, TianJin, ShangHai, 17:20, 10:36); 17:20, 10:36);2. ADD(train2. ADD(train;Y15, BeiJing, TianJin,Y15, BeiJing, TianJin, 10:05, 12:43); 10:05,
35、 12:43);3. DEL (train3. DEL (train;523);523);4. CH (train4. CH (train;NUMBER=532; NUMBER=532; DEPARTS=22:45, ARRIVES=10:42) DEPARTS=22:45, ARRIVES=10:42)。 第47页/共101页7:3717:13WuChangShenZhenK967:1816:55ShenZhenWuChangK959:4021:45BeiJingLuoYang5326:0621:30LuoYangXuZhou5237:5420:40BeiJing565ARRIVESDEPA
36、RTS FROMNUMBER TOXuZhouXuZhou第48页/共101页个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。n请给出关系模式,指出各关系模式的候选键和外键 。第49页/共101页第50页/共101页第51页/共101页本章的主要内容:本章的主要内容:布尔运算布尔运算选择选择 投影投影 连接连接 除除常关系常关系 属性重命名属性重命名关系代数关系代数第52页/共101页 关系可以看做元组的集合,那么集合的并、交、差等布尔运算算关系可以看做元组的集合,那么集合的并、交、差等布尔运算算都可
37、以用到关系中。都可以用到关系中。 关系的布尔运算包括:并、交、差、广义笛卡尔积、补、有效补。关系的布尔运算包括:并、交、差、广义笛卡尔积、补、有效补。 同类关系:同类关系:若若R R和和S S是同类关系,则满足如下条件:是同类关系,则满足如下条件: (1 1)R R和和S S具有相同的度;具有相同的度; (2 2)R R和和S S的对应属性定义在同一个域上。的对应属性定义在同一个域上。 同类关系也称相容运算,同类关系也称相容运算,布尔运算大多是在同类关系中进行。布尔运算大多是在同类关系中进行。第53页/共101页 并并( (Union)Union)关系关系R R和和S S的并的并其结果由属于其
38、结果由属于R或属于或属于S的所有元组组成的所有元组组成,其结果为一个新关系。记为:其结果为一个新关系。记为: Q = RS = t | t R Q = RS = t | t R 或或 t St S 交交( (Intersection)Intersection) 关系关系R R和和S S的交其结果由既属于的交其结果由既属于R R又属于又属于S S的所有元组组成。的所有元组组成。 记为:记为: Q = RS = t | t R Q = RS = t | t R 且且 t St S 差差( ( Difference) Difference) 关系关系R R和和S S的差由属于的差由属于R R但不属于
39、但不属于S S的所有元组组成。的所有元组组成。 记为:记为: Q = RQ = RS = t | t R S = t | t R 但但 t t S S第54页/共101页ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSRS 第55页/共101页c1b2a2c2b2a1c1b1a1CBAc1b1a1CBAc1b2a2c2b3a1c2b2a1CBARSR-S 第56页/共101页c1b2a2c2b2a1c1b1a1CBAc1b2a2c2b2a1CBAc1b2a2c2b3a1c2b2a1CBARSR S 第
40、57页/共101页例:并运算的例:并运算的SQLSQL实现实现查询查询200201200201班的学生和年龄超过班的学生和年龄超过2 23 3岁的学生姓名。岁的学生姓名。SELECT SNOSELECT SNO,SNAMESNAME FROM S FROM S WHERE CNO = 200201 WHERE CNO = 200201UNIONUNIONSELECT SNOSELECT SNO,SNAMESNAMEFROM SFROM S WHERE AGE 23 WHERE AGE 23; * * INTERSECTINTERSECT(交)、(交)、MINUSMINUS(差)(差)第58页/
41、共101页 广义笛卡尔积广义笛卡尔积关系关系R R 和和S S的笛卡尔积为的笛卡尔积为R R中所有元组和中所有元组和S S中所有元组的串接。中所有元组的串接。结果关系的属性个数:结果关系的属性个数:k k1 1+ k+ k2 2 其中其中k k1 1和和k k2 2分别为分别为R R和和S S的属性数的属性数结果关系的元组数:结果关系的元组数: m mn n , 其中其中m m、n n分别为分别为R R和和S S的元组数。的元组数。 R R和和S S的笛卡尔积记为:的笛卡尔积记为: Q = R Q = R S = t |t S = t |t =t=tr rt ts s,t,tr rR R 且且
42、 t ts sSS第59页/共101页ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S c1b1a1c1b1a1c1b2a2c1b2a2c2b2a1c1b2a2c1b1a1R.C R. BR.Ac2b2a1c2b2a1c2b2a1c2b3a1c1b2a2c2b2a1c2b3a1c1b2a2c2b2a1S.CS.BS.Ac1b2a2c2b3a1第60页/共101页有学生关系有学生关系S(Sno,Sname,Sage)S(Sno,Sname,Sage)和和 选课关系选课关系SC(Sno,Cno,Grade)SC(Sno,Cno,Grade)SELECT
43、 S.SELECT S.* *, SC., SC.* * FROM S,SC FROM S,SC第61页/共101页 补补( (Complement)Complement) 关系模式关系模式R(AR(A1 1,A,A2 2, ,A,An n) ), R R上的关系上的关系r r。 补运算:补运算:设设dom(R)dom(R)表示模式表示模式R R上的所有元组的集上的所有元组的集合,则关系合,则关系r r的补为:的补为: r r = = dom(R)dom(R)r r 第62页/共101页例例:设设R(A,B),dom(A)=a1,a2,a3,dom(B)=b1,b2R上的关系上的关系r和和r的
44、补的补 r如下所示。如下所示。 r(AB) r(AB)a1b1a2b2a1b2a3b1a2b1a3b2第63页/共101页例例:设设R(A,B,C),dom(A)=a1,a2,dom(B)=整数的集合,整数的集合,dom(C)=c1,c2。求。求r的补。的补。r(ABC)a11c1a12c2a21c1a22c1a23c2第64页/共101页 r r adom(R,r)adom(R,r)r r adom(R,r)adom(R,r)为模式为模式R R上的所有属性对应关系上的所有属性对应关系r r的有效值域的有效值域 组成的所有元组的集合。组成的所有元组的集合。 由于由于adom(R,r)adom(
45、R,r)是有限的,则是有限的,则r r的有效补的有效补 r r 总是一个关系。总是一个关系。 有效补有效补 关系模式关系模式R(AR(A1 1,A,A2 2, ,A,An n) ),属性,属性A Ai i的有效值域:的有效值域: adom(Aadom(Ai i,r)= d | dD,r)= d | dDi i,存在,存在trtr且且tAtAi i=d =d 定义定义r r的有效补为的有效补为: :第65页/共101页例例:设设R(A,B,C),dom(A)=a1,a2,dom(B)=整数的集合,整数的集合,dom(C)=c1,c2。R上的关系上的关系r和和r的有效补如下。的有效补如下。r(AB
46、C)r(ABC)a11c1a11c2a12c2a12c1a21c1a13c1a22c1a13c2a23c2a21c2a22c2a23c1思考:在关系模式思考:在关系模式R(A1,A2,An)R(A1,A2,An)中,若每个属性中,若每个属性AiAi的的值域都有限,任一关系值域都有限,任一关系r r的补和有效补是否一致?的补和有效补是否一致?第66页/共101页例例:设设R(A,B),dom(A)=a1,a2,a3,dom(B)=b1,b2。R上的关系上的关系r和和r的补的补 r及及r的有效补的有效补r如下所示。如下所示。r(AB)r(AB) r(AB)a1b1a2b2a2b2a1b2a3b1a
47、2b1a3b2 第67页/共101页有效补的应用:有效补的应用:当关系元组数比其有效补元组当关系元组数比其有效补元组数多得多时,有效补可作为数据压缩手段。数多得多时,有效补可作为数据压缩手段。 例如:学生选课,一个班有例如:学生选课,一个班有5050个学生选数据库个学生选数据库课,课,3 3个学生不选,个学生不选, 则存储选修了数据库课的学则存储选修了数据库课的学生可用存储其有效补实现。生可用存储其有效补实现。第68页/共101页第69页/共101页 从关系中选择在指定属性上有确定值的关系的子集从关系中选择在指定属性上有确定值的关系的子集。表示为:。表示为: A Aa a(r) (r) tt
48、tr tr 且且tA=a tA=a 。 选择运算是选择关系中行的子集,即选择满足条件元组。选择运算是选择关系中行的子集,即选择满足条件元组。例:在下面关系train中 求: FROMFROMbeijingbeijing(train)(train) ; DEPARTSDEPARTS16:5516:55(train)(train) 第70页/共101页 (2) (2) 可分配可分配 A=aA=a (rs) = (rs) = A=aA=a(r)(r)A=aA=a(s)(s) 其中其中 、或,或, 且且r r和和s s是同类关系。是同类关系。 广义选择:广义选择: A A a a(r)(r) t |
49、t t | t r r且且tA tA a a 其中其中 为为 、 、 、 、 、 。 设设r(R)r(R)是一个关系,是一个关系,A A和和B B为为R R的属性。的属性。 (1) (1) 可交换可交换 A=aA=a(B=bB=b(r)(r))B=bB=b(A=aA=a(r)(r)。 例:学生关系中,A=2011年入学,B=信息学院 第71页/共101页 2.3 2.3 投影投影( (Project)Project) 投影是选取关系中列的子集。设模式投影是选取关系中列的子集。设模式R R上关系上关系r r,X X是是R R上属性的子集,上属性的子集,r r到到 X X上的投影上的投影r r 表
50、示为:表示为: r r (X)= (X)= x x(r)=tX | tr(r)=tX | tr。 投影的结果不是原来的关系,是投影的结果不是原来的关系,是X X中几列属性。中几列属性。 * * * 如果如果X X中不包含中不包含R R的键,则选取的列中会出现重复元的键,则选取的列中会出现重复元组,组,r r (X)(X)中应不包含重复元组。中应不包含重复元组。例:例: Sno,SnameSno,Sname(S)(S); CnoCno(S)(S)第72页/共101页u 投影的串接投影的串接 给定关系给定关系r(R)r(R),且,且Y Y X X R R,则:,则: Y Y ( ( X X(r)=
51、 (r)= Y Y(r) (r) 对一串投影而言,若对一串投影而言,若X X1 1 X X2 2 X Xm m R R,则:,则: X1X1( X2X2( XmXm(r r) X1X1(r r)u 投影和选择的可交换性投影和选择的可交换性 设设r r是是R R上的一个关系,上的一个关系,AXAX,X X R R,则下式成立:,则下式成立: X X( ( A=a A=a( r ) = ( r ) = A=a A=a( ( X X( r )( r )第73页/共101页SELECT SELECT SNOSNO,SNAMESNAME FROM S FROM S WHERE WHERE CNO=200
52、401CNO=200401投影投影选择选择检索检索200401200401班学生的姓名。班学生的姓名。第74页/共101页 如果如果RSRS,则,则r r s s为关系为关系r r和和s s的笛卡尔积:的笛卡尔积:r rs s。 2.4.1 2.4.1 自然连接自然连接( (Natural Join)Natural Join) 自然连接是在两个关系自然连接是在两个关系共同属性共同属性上的等值连接。上的等值连接。 设有关系设有关系r(R)r(R)和和s(S)s(S),属性,属性A A是关系模式是关系模式R R和和S S的公共属性,的公共属性, r r与与s s的自然连接可用下式表示:的自然连接可
53、用下式表示: r s =t|t= tr s =t|t= tr r t ts sA tA tr rrr,t ts ss s & & t tr r =tR=tR & & t ts s=tS=tS & & t tr rA=tA=ts sAA 它表示它表示r r中元组和中元组和S S中元组的串接,而且它们的公共属性值只出现一次。中元组的串接,而且它们的公共属性值只出现一次。第75页/共101页ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS第76页/共101页ABCEa1b153a1b267a2b3810a2b382 自然连接自然连接 R S 第77页/共101
54、页 连接运算:有学生关系连接运算:有学生关系S S和课程关系和课程关系C.C. SELECT SELECT SNO,SNAME,S.CNO,CMNSNO,SNAME,S.CNO,CMN FROM S FROM S,C C WHERE WHERE S.CNO=C.CNOS.CNO=C.CNO第78页/共101页u连接运算可模拟选择运算连接运算可模拟选择运算设关系设关系r(R),AR,adom(A)。设。设s(A)只含一个分量只含一个分量A A=a(r)可表示为可表示为:rs A=a1(r) A=a2(r) A=ak(r)表示为表示为:rsu连接运算的可交换和可结合性连接运算的可交换和可结合性qr
55、rq(qr)sq(rs) A . au 连接对并、交、差的可分配性连接对并、交、差的可分配性 ( (rrrr ) s = (r s)(r) s = (r s)(r s) s) 连接的上述性质在查询优化中是很有用的,在第连接的上述性质在查询优化中是很有用的,在第7 7章分布式数据库的查询优章分布式数据库的查询优化中要用到。化中要用到。连接的特性连接的特性: A A . . a1 a1 a2 a2 ak ak第79页/共101页u多元连接多元连接可连接:可连接:设关系设关系s1(S1),s2(S2),sm(Sm),t1,t2,tm为元组序列,且为元组序列,且tiSi,1im。又。又R=S1S2Sm
56、。若在若在r(R)上存在一个元组上存在一个元组t,使得,使得ti=tSi,1im,则称元组序列则称元组序列t1,t2,tm在在R上是可连接的。上是可连接的。完全连接完全连接: : 设关系序列设关系序列s s1 1(S(S1 1), s), s2 2(S(S2 2), ), , s, sm m(S(Sm m) ),如,如果对关系果对关系S Si i(1im)(1im)中的每个元组都是可连接序列中的中的每个元组都是可连接序列中的成员,则称成员,则称 s s1 1 s s2 2 s sm m 为完全连接。为完全连接。第80页/共101页完全连接的例子:完全连接的例子: s s1 1(A BA B)
57、s s2 2(B CB C) s s3 3(A CA C) a a1 1 b b1 1 b b1 1 c c2 2 a a1 1 c c2 2 a a1 1 b b2 2 b b2 2 c c1 1 a a2 2 c c2 2 a a2 2 b b1 1 s s1 1 s s2 2 s s3 3 = = ( A B C)( A B C) a a1 1 b b1 1 c c2 2 a a2 2 b b1 1 c c2 2 a a1 1 c c1 1加入a a1 1 b b2 2 c c1 1 第81页/共101页2.4.2 _连接(Theta_Join)_连接:连接:设设r(R)和和s(S)为两
58、个关系,且为两个关系,且AR,BS,dom(A)=dom(B),r和和s在在A和和B上的上的_连接写作连接写作:rABs设设Q=RS,则,则_连接可用下式表示:连接可用下式表示:qQ=t|t q,tr r&ts s&tR=tr&tS=ts&tAtB其中其中为比较符:为比较符: 、 、 、 、 、 示例示例第82页/共101页ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS第83页/共101页R SR SAR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310 CE第84页/共101页AR.BCS.BEa1b
59、15b13a1b26b27a2b38b310a2b38b32R.B=S.B第85页/共101页ABCEa1b153a1b267a2b3810a2b382 自然连接自然连接 R S 第86页/共101页 学生关系学生关系 S(S(SNOSNO,SNAMESNAME,AGEAGE,SEXSEX,DEPTNO)DEPTNO) 专业系专业系 DEPT(DEPT(DEPTNODEPTNO, DNAME), DNAME) 选择运算:选择运算: SNAME = SNAME = LiMingLiMing (S); (S); 投影运算:投影运算: SNO, SNAME, DEPTNOSNO, SNAME, DE
60、PTNO(S);(S); 连接运算:连接运算: S DEPTS DEPT 第87页/共101页第88页/共101页2.5除法除法(Division) 即:对每一元组tss都存在一元组trr,使得trR=t 且trs=ts设rs 得到的新关系其属性集为X,则除法可用下式表示:R(XR(X,Y Y) S(Y)S(Y) = = X X(R) (R) X X( ( X X ( R) ( R)S S R R) )即 rs是满足下列条件的最大关系: rs的每个元组t与s中每个元组u组成的元组必在关系r中。 定义除定义除:设关系设关系r(R)和和s(S),且,且S R。令。令R=RS,除运,除运算算rs的结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药品备案采购审批制度
- 药品连锁采购制度模板
- 药店采购员管理制度
- 药用辅料采购制度
- 蔬菜紧急采购管理制度
- 行政单位印刷采购制度
- 行政采购招标制度
- 装修工程采购管理制度
- 西青区办公椅采购制度
- 计算机采购维修制度
- 2026河北衡水恒通热力有限责任公司公开招聘工作人员28名考试参考题库及答案解析
- 小区道路及室外管网配套工程施工设计方案
- 网吧的安全保卫制度
- 2026届高三高效学习方法与备考策略
- 2026广东中山市民政局招聘雇员2人考试参考试题及答案解析
- 2026年六安职业技术学院单招职业适应性考试题库含答案详解(综合题)
- ISO 14067-2018 温室气体产品的碳足迹量化要求和指南培训课件
- 华南地区地理知识
- 危险化学品安全法解读
- 广东省佛山市南海区2025-2026学年上学期期末八年级数学试卷(含答案)
- 石油天然气科普
评论
0/150
提交评论