《sql基本知识大全第三章.ppt》由会员分享,可在线阅读,更多相关《sql基本知识大全第三章.ppt(102页珍藏版)》请在三一办公上搜索。
1、数据库原理,主讲:赵海霞,河南科技大学电信学院,第二章 关系数据库,学习要点关系模型概述关系数据结构及形式化定义关系的完整性关系代数关系演算,关系模型简史,E.F.Codd的论文”A Relational Model of Data for Large Shared Data Banks”,Communication of the ACM,(1970年)IBM在加里福利亚的San Jose研究所开发的实验性关系数据库管理系统System R(1976年)加州大学伯克利分校开发的INGRES(交互式图形检索系统)项目(1976年)IBM在Peterlee的科研中心所开发的Peterlee关系测试
2、工具(1976年)上世纪80-90年代,涌现了几百个关系数据库管理系统,值得记住的1970年,E.F.Codd提出关系数据库理论基础关系数据库试验系统System R,INGRES目前流行的RDBMSDB2,Oracle,Ingres,Sybase,Informix等,2.1 关系模型概述,关系模型由以下三部分组成:单一的数据结构-关系任何一个关系数据库都是由若干张互相关联的表组成关系模式和关系关系操作查询操作:选择、投影、连接、除、并、交、差更新操作:增加、删除、修改关系的三类完整性约束实体完整性、参照完整性和用户定义的完整性,关系的两个不变性,由系统自动支持,由应用语义约束,关系模型语言,
3、关系操作特点:操作对象和结果都是集合高度非过程化的语言,不必借助循环结构就可以完成数据操作,能嵌入高级语言中使用,关系数据语言,关系代数语言,关系演算语言,具有关系代数和关系演算双重特点的语言,元组关系演算语言,域关系演算语言,例如ISBL,例如APLHA,QUEL,例如QBE,例如SQL,关系模型语言,关系代数语言把关系当作集合,用集合运算和特殊的关系运算来表达查询要求和条件是一种抽象的查询语言关系演算语言用谓词来表达查询要求和条件谓词变元的基本对象可以是元组变量或域变量,故可分为元组关系演算和域关系演算两类是一种抽象的查询语言SQL介于关系代数和关系演算之间集DDL、DML和DCL一身的关
4、系数据语言,2.2关系数据结构及形式化定义,关系的定义及基本术语关系模式关系数据库,关系的形式化定义,定义1:域(Domain)一组具有相同数据类型的值的集合。每个属性有一个允许的值的集合称为该属性的域。定义2:笛卡儿积(Cartesian Product)D1 D2 Dn=(d1,d2,dn)|di Di,i=1,2,n(d1,d2,dn)叫做一个n元组(n-tuple),或简称元组di 叫做一个分量(Component),笛卡尔积,计算实例例1:D1=甲,乙,D2=1,2,D3=a,b,c1)D1,D2,D3基数分别是多少?2)D1D2?(基数?)3)D1D2D3?(基数?)笛卡尔集可表示
5、为一个二维表表中的每行对应一个元组,表中的每列对应一个域,请将例子表示为二维表,例2已知三个域D1=导师集合张清正,刘逸D2=专业集合计算机,信息D3=学生集合李勇,刘晨,王敏,计算思考1)每个域的基数?2)计算D1D2D3?基数?3)计算结果中的元组有无实际意义?,关系的形式化定义,定义:关系 D1 D2 Dn的子集叫做在域D1,D2,Dn上的关系,表示为R(D1,D2,Dn)。即:将关系定义为一系列域上的笛卡尔集的子集。,例已知三个域D1=导师集合S张清正,刘逸D2=专业集合SP计算机,信息D3=学生集合P李勇,刘晨,王敏计算思考从笛卡尔集中取出一个子集,选择有意义的结果组成关系R(导师,
6、专业,研究生)一个研究生只能有一个专业,如李勇和王敏是计算机专业、刘晨是信息专业,导师S,专业SP,研究生P,张清正计算机李勇张清正计算机刘晨张清正计算机王敏张清正信息李勇张清正信息刘晨张清正信息王敏刘逸计算机李勇刘逸计算机刘晨刘逸计算机王敏刘逸信息李勇刘逸信息刘晨刘逸信息王敏,D1,D2,D3的笛卡尔积(上图),现在导师与研究生是什么关系?,限定一个学生只能有一个导师,如张是计算机导师,刘是信息专业导师,现在导师与研究生是什么关系?,关系的基本术语,关系模型(relational model)用二维表格结构表示实体类型,外键表示实体间联系的模型称为关系模型。属性(指字段、数据项)属性值、属性
7、的值域DOM(A)(指字段值、字段的值域)元组(指记录)关系模式(指记录类型)关系或实例(指纪录的集合)元数(指关系中属性的个数)基数(指关系中元组的个数),属性(列),元组(行),属性名,学生登记表,关系,整数,字符串,16,17.,字符串,男女,域,.,.,.,.,.,元数,基数,基本术语,基本术语,键(码)超键(super key):在一个关系中,能唯一标识元组的属性集称为关系模式的超键;候选键(candidate key):如果一个属性集能唯一标识元组,且又不含有多余属性,则该属性集称为候选键;候选关键字必为超关键字,反之不一定成立主键(primary key):关系模式中用户正在使用
8、的候选键称为主键;外键(foreign key):如果关系R中某属性集是其它模式的主键,则该属性集对模式R而言是外键。,基本术语,主属性指主键的诸属性非码属性不包含在任何候选码中的属性,基本术语,三类关系基本关系(基本表或基表)实际存在的表,是实际存储数据的逻辑表示查询表查询结果对应的表视图表由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据,基本关系的6个性质,列是同质的每一列中的分量是同一类型的数据,来自同一个域不同的列可出自同一个域其中的每一列称为一个属性不同的属性要给予不同的属性名列的顺序无所谓遵循这一性质的数据库产品(如ORACLE),增加新属性时,永远是插至最后一列但也有许
9、多关系数据库产品没有遵循这一性质,例如FoxPro仍然区分了属性顺序,基本关系的6个性质,任意两个元组不能完全相同由笛卡尔积的性质决定但许多关系数据库产品没有遵循这一性质(Oracle,FoxPro)行的顺序无所谓遵循这一性质的数据库产品(如ORACLE),插入一个元组时永远插至最后一行但也有许多关系数据库产品没有遵循这一性质,例如FoxPro仍然区分了元组的顺序,基本关系的6个性质,分量必须取原子值每一个分量都必须是不可分的数据项这是规范条件中最基本的一条,2.2.2关系模式和关系,关系模式对关系的描述静态的、稳定的关系关系模式在某一时刻的状态或内容动态的、随时间不断变化的实际应用中常常将关
10、系模式和关系都称为关系,关系模式的定义,关系的描述称为关系模式(Relation Schema)关系模式形式化地表示为:,关系模式举例,表示学生实体类型和课程实体类型间多对多关系的ER图,关系模式举例,学生关系模式 S(S#,SNAME,AGE,SEX)学生课程关系描述 SC(S#,C#,GRADE)课程关系模式 C(C#,CNAME,TEACHER),S,SC,C,子模式举例,子模式是用户用到的那部分数据。除了用户用到的数据外,还应指出数据与概念模式中相应数据的关系。,G,S,SC,成绩子模式 G(S#,SNAME,C#,GRADE),2.2.3关系数据库,关系数据库在一个给定的应用领域中,
11、所有实体及实体之间联系的关系的集合构成一个关系数据库关系数据库也有型和值之分,思考:给出导师、学生、专业三个实体可能组成的关系数据库及其概念模型(E-R图),2.3 关系模型的三类完整性规则,实体完整性:元组在组成主键的属性上不能有空值;参照完整性(引用完整性):不允许引用不存在的元组。用户定义的完整性(域完整性)其中:前二者是关系模型必须满足的完整性约束条件,是关系的两个不变性,应当有关系系统自动满足。,实体完整性(Entity Integrity),若属性A是基本关系R的主属性,则属性A不能取空值例如:学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成
12、绩)实体应该是可区分的,主键是区分实体的唯一性标识,因此不能为空(即不能不知道)。,例:学生实体与专业实体间的关系:学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)关系参照图,例:学生,课程,学生与课程之间的多对多联系:学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)关系参照图,参照关系,学生关系专业关系,专业号,学生关系 选修关系课程关系,学号,课程号,参照完整性,主码?外码?,参照完整性,定义:外码设F是参照关系R的一个或一组属性,但不是R的码,若F与被参照关系S的主码相对应,则称F是R的外码(详细定义见教材P54)规则:参照关系R中
13、每个元组在外码F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值,例:学生(学号,姓名,性别,专业号,年龄,班长),参照关系,被参照关系,外码,用户定义完整性(User-defined Integrity),用户定义的、具体应用中的数据必须满足的约束条件例如:成绩:0100之间 身份证、身份证和生日对应关系,2.3关系的完整性规则,完整约束条件是数据模型的一个重要组成部分,它保证数据库中数据与现实世界的一致性考虑属性的取值、主关键字以及诸关系属性之间的一些制约此外许多系统支持数据库设计者说明特殊的约束以及违反约束时的处理过程,关系模型的优点,关系模型提供单一的数据
14、结构形式,具有高度的简明性和精确性;关系模型的逻辑结构和相应的操作完全独立于数据存储方式,具有高度的数据独立性;关系模型使数据库的研究建立在比较坚实的数学基础上。,本讲简要总结,目的与要求:掌握关系模型有关术语、关键字和完整性约束的概念;理解基本关系的6条性质授课重点:关系的定义、关系模式、候选关键字、关系的完整约束等授课难点:侯选关键字、引用完整性约束,2.4 关系代数(Relational Algebra),概述传统的集合运算专门的关系运算综合应用,概述,关系代数语言用传统的集合运算和专门的关系运算来表达查询的抽象语言。关系代数运算符集合运算符:(并)(交)(差)关系运算符:(笛卡儿积)(
15、选择)(投影)(连接)(除)比较运算符:逻辑运算符:,说明,关系代数按运算符的不同可以分为:传统的集合运算并、交、差、广义笛卡尔积专门的关系运算选择、投影、连接、除法,2.4 关系代数(Relational Algebra),概述传统的集合运算专门的关系运算综合应用,1.并(union),R和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域RS 仍为n目关系,由属于R或属于S的元组组成 RS=t|t Rt S,并(续),R,S,RS,2.差(Difference),R和S具有相同的目n相应的属性取自同一个域R-S 仍为n目关系,由属于R而不属于S的所有元组组成 R-S=t|tR
16、tS,差(续),R,S,R-S,S-R?,3.交(Intersection),R和S具有相同的目n相应的属性取自同一个域RS仍为n目关系,由既属于R又属于S的元组组成 RS=t|t Rt S 思考:RS 用差能不能表示?,交(续),R,S,R S,4.广义笛卡尔积(Extended Cartesian Product),Rn目关系,k1个元组Sm目关系,k2个元组RS 列:(n+m)列的元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1k2个元组RS=tr ts|tr R tsS,广义笛卡尔积(续),R,S,R S,2.4 关系代数(Relational Algebra)
17、,概述传统的集合运算专门的关系运算综合应用,1.选择,记号:tR表示t是R的一个元组选择从关系R中选取使逻辑表达式F为真的元组,行选。记作逻辑表达式F由逻辑运算符连接算术表达式,算术表达式基本形式为X1 Y1 其中表示比较运算符,X1,Y1是属性名或常量或简单函数,属性名可以用它的序号来代替,例:学生课程数据库,包括Student,Course,SC三个关系,Sno Sname Ssex Sage Sdept95001 李勇 男 20 CS95002 刘晨 女 19 IS95003 王敏 女 18 MA95004 张立 男 19 IS,Student,Cno Cname Cpqo Ccredi
18、t1 数据库 5 42数学 2信息系统 1 44 操作系统 6 35 数据结构 7 4 6 数据处理 27 Pascal语言 6 4,Course,Sno Cno Grade95001 1 9295001 2 8595001 3 8895002 2 9095002 3 80,SC,查询信息系全体学生:Sdept=IS(Student)或=IS(Student)查询年龄小于20岁的学生:Sage(Student)或(Student)结果如下:,Sno Sname Ssex Sage Sdept95002 刘晨女 19 IS95004 张立男 19 IS,Sno Sname Ssex Sage S
19、dept95002 刘晨女 19 IS95003 王敏女 18 MA95004 张立男 19 IS,Example,课堂练习:1)查询CS系的所有女生2)查询先行课代号为6的所有课程,2.投影,定义:从关系R中选择出满足条件F的若干属性列并组成新的关系,列选 其中 表示元组t中相应于属性Ai的一个分量。注意:运算结果要去掉重复元组。,Example,查询学生的姓名和所在系:Sname,Sdept(Student)或2,5(Student)查询学生关系中有哪些系:Sdept(Student)或5(Student)结果如下:,Sname Sdept 李勇 CS 刘晨 IS 王敏 MA 张立 IS,
20、Sdept CS IS MA,3.连接,连接运算的含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R S=|tr Rts StrAtsB A和B:分别为R和S上度数相等且可比的属性组:比较运算符,连接(续),两类常用连接运算等值连接(equijoin)为“”的连接运算称为等值连接 自然连接(Natural join)自然连接是一种特殊的等值连接,自然连接(natural join),两个关系R和S的自然联结算过程如下:计算RS;设R和S的公共属性是A1,Ak,挑选RS中满足R.A1=S.A1,R.Ak=S.Ak的那些元组;去掉S.A1,S.Ak这些列,保留R.A1,R.Ak 举例,连接
21、运算例设有如图的关系和关系,A B Ca1 b1 5a1 b2 6a2 b3 8a2 b4 12,R,B E b1 3 b2 7 b3 10 b3 2 b5 2,S,A R.B C S.B E a1 b1 5 b2 7 a1 b1 5 b3 10 a1 b2 6 b2 7 a1 b2 6 b3 10 a2 b3 8 b3 10,R CE S,A R.B C S.B E a1 b1 5 b1 3 a1 b2 6 b2 7 a2 b3 8 b3 10 a2 b3 8 b3 2,等值连接,a1 b1 5 3 a1 b2 6 7 a2 b3 8 10 a2 b3 8 2,自然连接,R R.B=S.B
22、S,R S,4.除法(division),定义:给定关系R(X,Y)和S(Y,Z)。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。,R,S,X,Y,Y,Z,P,分析,1.前提:两个关系R(X,Y)和S(Y,Z)应该有公共属性列。2.运算的结果:为P(X),元组来自于R关系,只包含X属性列3.R关系中的哪些元组呢?对于tX的象集包含Y(S),Example,解:在关系R中,A可以为a1,a2,a3,a4a1的象集:(b1,c2),(b2,c3),(b2,c1)a2的象集:(b3,c7),(b2,c3)a3
23、的象集:(b4,c6)a4的象集:(b6,c6)S在(B,C)上的投影:(b1,c2),(b2,c3),(b2,c1),S,RS,S1,S2,S3,R,RS 1,RS 2,RS 3,S1、S2、S3表示课程情况,R表示选修课程,?,类似,X中谁的象集包含Y这张表,Example,R,RS,S,总结,一共八种运算:五种基本运算:并、差、笛卡尔积、选择、投影三种组合运算:交、连接、除,关系代数表达式:关系代数运算经有限次复合后形成的式子,2.4 关系代数(Relational Algebra),概述传统的集合运算专门的关系运算综合应用,综合应用,S(S#,SN,SD,SA)S1 A CS 20 S
24、2 B CS 21 S3 C MA 19 S4 D CI 19 S5 E MA 20 S6 F CS 22,C(C#,CN,PC#)C1 G C2 H C1 C3 I C1 C4 J C2 C5 K C4,SC(S#,C#,G)S1 C1 A S1 C2 A S1 C3 A S1 C5 B S2 C1 B S2 C2 C S2 C4 C S3 C2 B S3 C3 C S3 C4 B S4 C3 D S4 C5 A S5 C2 C S5 C3 B,综合练习,1.查询数学系(MA)全体学生2.查询学生的姓名和所在的系3.查询年龄小于20岁的学生的学号和姓名4.查询选修了C1的学生学号与成绩5.查
25、询选修了C1课的学生学号和姓名6.查询选修了数据库课的学生学号和姓名,综合练习,7.查询不学C2课的学生姓名和年龄8.检索选修课程“C2”或“C4”的学生学号9.检索至少选修课程“C2”和“C4”的学生学号。10.查询选修了全部课程的学生学号和姓名11.检索所学课程包含学生S3所学课程的学生学号12.查询至少选修了一门其直接先行课为C1课程的学生姓名,S(S#,SN,SD,SA)C(C#,CN,PC#)SC(S#,C#,G),1(1=4 2=C2 5=C4(SCSC),总结,查询语句的关系表达式一般形式是:(RS)或者(R S)但是当查询涉及到否定或全部值时,上述形式就不能表达了,就要用到差操
26、作或除操作。,思考题:,已知学生选课数据库模式:Student(Sno,Sname,Sage,Sdept)Course(Cno,Cname)SC(Sno,Cno,Score)用关系代数进行如下查询:选修了号课程的学生的姓名?计算机系有不及格课程的学生名单学生张林的“数据库原理”成绩,练习题,图书馆管理数据库读者(读者编号,姓名,单位)图书(书号,书名,作者,出版社,单价,类型)借阅记录(读者编号,书号,借阅日期,应还日期)还书记录(读者编号,书号,归还日期)用关系代数描述以下查询要求查询“人民邮电出版社”出版的所有图书的相关信息查询单价在15元以上的书名和作者查询8号读者2003年3月10日所
27、借图书的相关信息查询超期归还图书的读者姓名和单位查询借阅过天龙八部的读者的信息查询借阅过“金庸”所有著作的读者的姓名查询没有借阅过任何图书的读者的姓名,本讲简要总结,授课目的:掌握关系代数的五种基本运算与非基本运算,关系代数表达式。授课重点:关系代数的基本运算与重要的非基本运算,关系代数表达式的等价。授课难点:自然连接、除法、关系代数表达式的等价性。,2.5 关系演算,关系演算使用数理逻辑中的谓词演算概念来表达对数据库的操作按谓词变元的不同,关系演算可分为:元组关系演算(tuple relational calculus):以元组为变量,简称为元组演算-ALPHA;域关系演算(domain r
28、elational calculus):以域为变量,简称为域演算-QBE。,2.5.1 元组关系演算语言ALPHA,由E.F.Codd提出INGRES所用的QUEL语言参照ALPHA语言研制语句检索语句GET更新语句PUT,HOLD,UPDATE,DELETE,DROP,ALPHA语言语句基本格式,操作语句 工作空间名(表达式):操作条件 W 命令动词 投影表 条件(GET,PUT等)(输出结果),关系演算用谓词公式表达查询条件,指出“做什么”,而“怎么做”交给系统解决。前面介绍的关系代数语言,用户需指出方法步骤。相比之下,关系演算使用更方便,是一种高度非过程化的语言。,一、检索操作-GET语
29、句实现,简单检索(即不带条件的检索)限定检索(即带条件的检索)带排序的检索 带定额的检索 用元组变量的检索,用存在量词的检索带有多个关系的表达式的检索 用全称量词的检索 用两种量词的检索 用蕴函的检索 集函数,简单检索,格式:GET工作空间名(表达式1)例1、求所有被选修的课程的课程号码 GET W(SC.CNO)例2、查询所有学生的信息 GET W(S),S(SNO SN,SD,SA)C(CNO,CN,PCNO)SC(SNO,CNO,G),限定检索,格式:GET工作空间名(表达式1):操作条件例3、求数学系年龄小于20的学生的学号和年龄 GET W(S.SNO,S.SA):S.SD=MA S
30、.SA20,带排序的检索,格式GET工作空间名(表达式1):操作条件 DOWN/UP 表达式2例4、求计科系(CS)的学生的学号、年龄,并按年龄降序排列GET W(S.SNO,S.SA):S.SD=CS DOWN S.SA,带定额的检索,格式:GET工作空间名(定额)(表达式1):操作条件 DOWN/UP 表达式2 例5、取出一个计科系学生的学号 GET W(1)(S.SNO):S.SD=CS例6、查询计科系年龄最大的三个学生的学号及其年龄,结果按年龄降序排序GET W(3)(S.SNO,S.SA):S.SD=CS DOWN S.SA,用元组变量的检索(1 of 2),元组变量的含义表示可以在
31、某一关系范围内变化(也称为范围变量Range Variable)元组变量的用途 简化关系名:设一个较短名字的元组变量来代替较长的关系名。操作条件中使用量词时必须用元组变量。(存在量词):表示“存在一些”,“至少有一个”(全称量词):表示“对所有的”,“对任一个”,用元组变量的检索(2 of 2),定义元组变量格式:RANGE 关系名 变量名如:RANGE S X 则 s.sno等价于x.sno一个关系可以设多个元组变量如:允许有 RANGE S X,Y这种形式例7、查询计科系学生的姓名 RANGE S X GET W(X.SN):X.SD=CS,用存在量词的检索(1 of 2),例8、求选修C
32、2课程的学生姓名 RANGE SC X GET W(S.SN):X(X.Sno=S.SnoX.Cno=C2)例9、求选修了这样课程的学生学号,其直 接 先行课是C1。RANGE C CX GET W(SC.Sno):CX(CX.Cno=SC.CnoCX.Pcno=C1),用存在量词的检索(2 of 2),例10、查询至少选修一门其先行课为C1课程的学生名字 RANGE C CX SC SCX GET W(S.SN):SCX(SCX.SNO=S.SNO CX(CX.CNO=SCX.CNOCX.PCNO=C1)前束范式形式:GET W(S.SN):SCXCX(SCX.SNO=S.SNO CX.CN
33、O=SCX.CNOCX.PCNO=C1),带有多个关系的表达式的检索,例11、查询成绩为A的学生名字与课程名字 RANGE SC SCX GET W(S.SN,C.CN):SCX(SCX.SNO=S.SNO C.CNO=SCX.CNO SCX.G=A),用全称量词的检索,例12、查询不选C1课程的学生名字 RANGE SC SCX GET W(S.SN):SCX(SCX.SNOS.SNOSCX.CNOC1)用存在量词表示:RANGE SC SCX GET W(S.SN):SCX(SCX.SNO=S.SNOSCX.CNO=C1),等价规则,P1P2等价于(P1P2)P1P2等价于(P1P2)(s
34、)P1(s)等价于(s)(P1(s)(s)P1(s)等价于(s)(P1(s)P1P2等价于P1 P2,用两种量词的检索,例13、查询选修了全部课程的学生姓名。RANGE C CX SC SCX GET W(S.SN):CXSCX(SCX.SNO=S.SNO SCX.CNO=CX.CNO)或者:GET W(S.SN):SCX(SCX.SNO=S.SNO CX(SCX.CNO=CX.CNO),用蕴函的检索,例14、查询最少选修了S2所选课程的学生学号RANGE C CX SC SCX SC SCY GET W(S.Sno):CX(SCX(SCX.Sno=S2SCX.Cno=CX.Cno)SCY(S
35、CY.Sno=S.Sno SCY.Cno=CX.Cno)分析:,集函数(1of 2),常用集函数(Aggregation function)或内部函数(Build-in function),集函数(2 of 2),例15、查询学生所在系的数目。GET W(COUNT(S.SD)COUNT函数在计数时会自动排除重复值例16、查询计科系学生的平均年龄 GET W(AVG(S.SA):S.SD=CS)例17、查询C2这门课的最高分 GET W(MAX(SC.G):SC.CNO=C2),检索操作格式总结,语句格式:GET工作空间名(定额)(表达式1):操作条件 DOWN/UP 表达式2定额:规定检索的
36、元组个数格式:数字表达式1:指定语句的操作对象格式:关系名|关系名.属性名|元组变量.属性名|集函数,操作条件:将操作结果限定在满足条件的元组中格式:逻辑表达式表达式2:指定排序方式格式:关系名.属性名|元组变量.属性名,,二、更新操作,修改操作插入操作 删除操作,修改操作(1of 2),修改操作步骤用HOLD语句将要修改的元组从数据库中读到工作空间中HOLD 工作空间名(表达式1):操作条件 HOLD语句是带上并发控制的GET语句 用宿主语言修改工作空间中元组的属性 用UPDATE语句将修改后的元组送回数据库中 UPDATE 工作空间名,修改操作(2of 2),例18、把S2学生从计算机科学
37、系转到信息系。HOLD W(S.Sno,S.SD):S.Sno=S2(从S关系中读出S2学生的数据)MOVE IS TO W.SD(用宿主语言进行修改)UPDATE W(把修改后的元组送回S关系),插入操作(1of 2),步骤 用宿主语言在工作空间中建立新元组 用PUT语句把该元组存入指定关系中PUT 工作空间名(关系名)PUT语句只对一个关系操作,插入操作(2of 2),例19、学校新开设了一门课程“计算机组织与结构”,其课程号为C8,直接先行课为C6号课程。插入该课程元组MOVE C8 TO W.CNO MOVE 计算机组织与结构 TO W.CN MOVE C6 TO W.PCNO PUT
38、 W(Course),删除操作(1of 2),步骤 用HOLD语句把要删除的元组从数据库中读到工作空间中 用DELETE语句删除该元组DELETE 工作空间名,删除操作(2of 2),例20、删除全部学生。HOLD W(SC)DELETE W HOLD W(S)DELETE W在删除操作中保持参照完整性,小结:元组关系演算语言ALPHA,检索操作 GETGET工作空间名(定额)(表达式1):操作条件 DOWN/UP 表达式2插入操作建立新元组-PUT修改操作HOLD-修改-UPDATE删除操作HOLD-DELETE,2.5.2域关系演算,自学,小结,关系模型的基本概念关系模型的数据结构、关系操作和关系的三类完整性约束能用关系代数和关系演算表达关系操作,