《第2章 关系数据库.ppt》由会员分享,可在线阅读,更多相关《第2章 关系数据库.ppt(118页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 2.1 关系模型 2.2 关系代数*2.3 关系演算 2.4 查询优化 2.5 关系系统 22.1关系模型关系模型2.1.1关系数据结构关系的非形式化定义:满足一定条件的二维表。关系的非形式化定义:满足一定条件的二维表。基本术语基本术语1.域:一组具有相同数据类型的值的集合。域:一组具有相同数据类型的值的集合。32.笛卡尔积(笛卡尔积(CartesianProduct)给定一组域给定一组域D1,D2,Dn,这些域中可以,这些域中可以有相同的。有相同的。D1,D2,Dn的笛卡尔积为:的笛卡尔积为:D1D2Dn(d1,d2,dn)di Di,i1,2,n元组元组(Tuple):每一个元素(每一
2、个元素(d1,d2,dn)分量:元素中的每一个值分量:元素中的每一个值di若若Di(i1,2,n)为有限集,其基数()为有限集,其基数(Cardinalnumber)为)为mi(i1,2,n),则),则D1D2Dn的基数的基数为:为:nM=mii=12.1关系模型关系模型4例如:D1=孙悟空,宋江,林黛玉 D2=男,女 D3=西游记,水浒传,红楼梦D1D2D3=孙悟空,男,宋江,男,林黛玉,男,孙悟空,女,宋江,女,林黛玉,女 D3=孙悟空,男,西游记,宋江,男,西游记,林黛玉,男,西游记,孙悟空,女,西游记,宋江,女,西游记,林黛玉,女,西游记,孙悟空,男,水浒传,宋江,男,水浒传,林黛玉,
3、男,水浒传,孙悟空,女,水浒传,宋江,女,水浒传,林黛玉,女,水浒传,孙悟空,男,红楼梦,宋江,男,红楼梦,林黛玉,男,红楼梦,孙悟空,女,红楼梦,宋江,女,红楼梦,林黛玉,女,红楼梦 2.1关系模型关系模型53.关系(关系(Relation)的)的数学数学定义定义D1D2Dn的的子集子集叫作在域叫作在域D1、D2、Dn上的上的关系关系,用,用R(D1,D2,Dn)表示。表示。R:关系的名字:关系的名字n:关系的目或度(:关系的目或度(Degree)。)。单元关系(Unaryrelation)n=1二元关系(Binaryrelation)n=22.1关系模型关系模型6小说名小说名人物名人物名性
4、性别别西游记西游记孙悟空孙悟空男男水浒传水浒传宋江宋江男男红楼梦红楼梦林黛玉林黛玉女女对于一个笛卡尔积只有取它的子集才有意对于一个笛卡尔积只有取它的子集才有意义,这也和用户看待的二维表一样,只有义,这也和用户看待的二维表一样,只有满足一定条件的二维表才是研究的对象。满足一定条件的二维表才是研究的对象。2.1关系模型关系模型74.码候选码候选码(Candidate Key)(Candidate Key):在一个关系中,能惟一标:在一个关系中,能惟一标识元组的属性或最小属性集称为关系的候选码。识元组的属性或最小属性集称为关系的候选码。主码主码(Primary KeyPrimary Key):若一个
5、关系中有多个候选):若一个关系中有多个候选码,则选其中的一个为主码。码,则选其中的一个为主码。包含在任何一个候选码中的属性称为包含在任何一个候选码中的属性称为主属性主属性(Primary AttributePrimary Attribute),不包含在任何候选码中的),不包含在任何候选码中的属性称为属性称为非主属性非主属性(Non-primary AttributeNon-primary Attribute)或)或非非码属性码属性(Non-key AttributeNon-key Attribute)。)。2.1关系模型关系模型8外码外码(Foreign Key)(Foreign Key):设
6、:设F F是基本关系是基本关系R R的一个或一的一个或一组属性,但不是组属性,但不是R R的码。的码。KsKs是基本关系是基本关系S S的主码。的主码。如果如果F F与与KsKs相对应,则称相对应,则称F F是是R R的外码。并称基本的外码。并称基本关系关系R R为参照关系为参照关系(Referencing RelationReferencing Relation),基本),基本关系关系S S为被参照关系为被参照关系(Referenced RelationshipReferenced Relationship)。)。2.1关系模型关系模型4.码9例如:学生关系和专业关系分别为:学生(学生编号,
7、姓名,性别,年龄,专业编号,身份证号码)专业(专业编号,专业名称,专业负责人)在关系数据库中,表与表的联系就是通在关系数据库中,表与表的联系就是通过过公共属性公共属性实现的,这个公共属性是实现的,这个公共属性是一一个表的主码个表的主码和和另外一个表的外码另外一个表的外码 2.1关系模型关系模型4.码105.关系的性质关系的性质1)分量必须取原子值)分量必须取原子值2)列是同质的,即每一列的分量是同一类型的数)列是同质的,即每一列的分量是同一类型的数据,来自同一个域。据,来自同一个域。3)表中的列称为属性,给每列起一个名称即属性)表中的列称为属性,给每列起一个名称即属性名,不同属性要起不同的属性
8、名。名,不同属性要起不同的属性名。4)列的顺序无关)列的顺序无关5)关系中任意两行不能相同。)关系中任意两行不能相同。6)行的顺序无关。)行的顺序无关。2.1关系模型关系模型112.1.2 关系操作1操作对象是关系操作对象是关系2基本操作方式基本操作方式属性指定属性指定元祖选择元祖选择关系合并关系合并元组插入元组插入元组删除元组删除2.1关系模型关系模型12关系代数语言关系代数语言关系演算语言关系演算语言具有关系代数和关系具有关系代数和关系演算双重特点的语言演算双重特点的语言域关系数域关系数据语言据语言元组关系元组关系数据语言数据语言ISBLISBLAPLHAAPLHAQUELQUELQBEQ
9、BESQLSQL2.1关系模型关系模型132.1.3 关系完整性约束实体完整性实体完整性参照完整性参照完整性用户自定义完整性用户自定义完整性2.1关系模型关系模型14实体完整性实体完整性规则:若属性规则:若属性A是基本关系是基本关系R的主属性,的主属性,则属性则属性A不能取空值。不能取空值。2.1关系模型关系模型15导师编号导师编号姓名姓名性别性别职称职称1001刘易刘易男男副教授副教授1002张清枚张清枚男男教授教授1003王敏王敏女女教授教授研究生编号研究生编号 姓名姓名性别性别研究方向研究方向导师编号导师编号2004001李勇李勇男男网络安全网络安全10012004002刘晨刘晨女女IP
10、v610022004003张三张三男男数据仓库数据仓库10032004004李立李立男男数据挖掘数据挖掘10022004005赵兵赵兵男男网格安全网格安全导导师师研究生研究生2.1关系模型关系模型16外码:设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。规则:若F是基本关系R的外码,并与 S的主码Ks相对应,则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)等于S中某个元组的主码值参照完整性2.1关系模型关系模型参照完整性参照完整性17例如:例如:学生(学号、姓名、性别学生(学号、姓名、性别)课程(课程号、课程
11、名、学时课程(课程号、课程名、学时)学习学习(学号、课程号、成绩)(学号、课程号、成绩)思考:思考:每个关系的主码每个关系的主码哪个关系有外码哪个关系有外码2.1关系模型关系模型18某一具体应用所涉及的数据必须满足的语义要求。职称(助教,讲师,副教授,教授)职称(助教,讲师,副教授,教授)性别(男,女)性别(男,女)用户自定义的完整性用户自定义的完整性2.1关系模型关系模型 2.1 关系模型 2.2 关系代数*2.3 关系演算 2.4 查询优化 2.5 关系系统 概述 传统的集合运算 专门的关系运算2.2关系代数关系代数概述1.关系代数2.关系代数运算的三个要素3.关系代数运算的分类4.表示记
12、号2.2关系代数关系代数1.关系代数 用户对关系数据的操作通过关系代数表达式描述。2.关系代数运算的三个要素运算对象:关系运算结果:关系运算符:四类2.2关系代数关系代数概述集合运算符-并差交广义笛卡尔积比较运算符 大于大于等于小于小于等于等于不等于运算符含义运算符含义表表1关系代数运算符关系代数运算符2.2关系代数关系代数概述专门的关系运算符 选择投影连接除逻辑运算符 非与或运算符含义运算符含义表表2关系代数运算符(续)关系代数运算符(续)2.2关系代数关系代数概述集合运算将关系看成元组的集合运算是从关系的“水平”方向即行的角度来进行专门的关系运算不仅涉及行而且涉及列算术比较辅助专门的关系运
13、算符进行操作逻辑运算辅助专门的关系运算符进行操作2.2关系代数关系代数概述3.关系代数运算的分类 传统的集合运算 并、差、交、广义笛卡尔积专门的关系运算 选择、投影、连接、除2.2关系代数关系代数概述4.表示记号 设关系模式为R(A1,A2,An)R,tR,tAi它的一个关系设为R。tR表示t是R的一个元组tAi则表示元组t中相应于属性Ai的一个分量 2.2关系代数关系代数概述2.2 关系代数 概述传统的集合运算 专门的关系运算2.2.1 传统的集合运算并差交广义笛卡尔积1.并(Union)R和S(相容关系)具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域RS 仍为n目关系,由属
14、于R或属于S的元组组成 RS=t|t Rt S 2.2.1 传统的集合运算ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSRS1.并(Union)2.2.1 传统的集合运算R和S(相容关系)具有相同的目n相应的属性取自同一个域R-S 仍为n目关系,由属于R而不属于S的所有元组组成 R-S=t|tRtS 2.差(Difference)2.2.1 传统的集合运算ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S2.差(Difference)2.
15、2.1 传统的集合运算R和S(相容关系)具有相同的目n相应的属性取自同一个域RS仍为n目关系,由既属于R又属于S的元组组成 RS=t|t Rt S RS=R(R-S)3.交(Intersection)2.2.1 传统的集合运算ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S3.交(Intersection)2.2.1 传统的集合运算Rn目关系,k1个元组Sm目关系,k2个元组RS 列:(n+m)列的元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1k2个元组RS=tr ts|tr R tsS 4.
16、广义笛卡尔积(Extended Cartesian Product)2.2.1 传统的集合运算ABCa1 b1 c1a1 b2 c2a2 b2 c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1 b2 c2a1 b3 c2a2 b2 c1RSR SABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c14.广义笛卡尔积(Extended Cartesian Product)2.2.1 传统的集合运算2.2 关系代数概述传统的集合运算专门的关系运算选择投影连接除
17、2.2.2 专门的关系运算1)选择又称为限制(Restriction)2)选择运算符的含义在关系R中选择满足给定条件的元组组成一个新的关系 F(R)=t|tRF(t)=真F:选择条件,是由比较运算符和/或逻辑运算符组合构成的表达式选择运算是单目运算,运算符为“”2.2.2 专门的关系运算1.选择(Selection)3)选择运算是从行的角度进行的运算 4)举例设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。2.2.2 专门的关系运算1.选择(Selection)42学号学号姓名姓名性性别别籍籍贯贯出生年份出生年份学院学院091501091501王英王英
18、女女河北河北19971997计算机计算机091502091502王小梅王小梅女女江苏江苏20002000信电信电091503091503张小飞张小飞男男江西江西19961996计算机计算机091504091504孙志鹏孙志鹏男男海南海南19981998计算机计算机091505091505徐颖徐颖女女江苏江苏19971997信电信电091506091506钱易蒙钱易蒙男男河北河北20002000外文外文2.2.2 专门的关系运算43例1查询计算机全体学生情况学院学院=“计算机”(学生)6 6=“计算机”(学生)学号学号姓名姓名性性别别籍籍贯贯出生年份出生年份学院学院091501王英女河北1997
19、计算机091503张小飞男江西1996计算机091504孙志鹏男海南1998计算机2.2.2 专门的关系运算44选择运算的关键问题确定操作对象是哪个关系?确定操作对象是哪个关系?操作的条件是什么?操作的条件是什么?如何表示?如何表示?2.2.2 专门的关系运算45例2查询90年代出生的全体学生情况 出生年份出生年份=1990 出生年份出生年份=1999(学生学生)学号学号姓名姓名性性别别籍籍贯贯 出生年份出生年份学院学院091501 王英王英女女河北河北1997计计算机算机091503 张张小小飞飞 男男江西江西1996计计算机算机091504 孙孙志志鹏鹏 男男海南海南1998计计算机算机0
20、91505 徐徐颖颖女女江江苏苏1997信信电电.2.2.2 专门的关系运算46例3查询信电学院江苏籍全体学生情况 学院学院=“信电信电”籍贯籍贯=“江苏江苏”(学生学生)学号学号姓名姓名性性别别籍籍贯贯出生年份出生年份学院学院091502王小梅女江苏2000信电091505徐颖女江苏1997信电2.2.2 专门的关系运算47例4查询江苏或者河北全体学生情况 籍贯籍贯=“江苏江苏”籍贯籍贯=“河北河北”(学生学生)学号学号姓名姓名性性别别籍籍贯贯出生年份出生年份学院学院091501王英女河北1997计算机091502王小梅女江苏2000信电091505徐颖女江苏1997信电091506钱易蒙男
21、河北2000外文2.2.2 专门的关系运算1)投影运算符的含义从R中选择出若干属性列组成新的关系 A(R)=tA|t R A:R中的属性列2.2.2 专门的关系运算2.投影(Projection)2)投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)2.2.2 专门的关系运算2.投影(Projection)502.2.2 专门的关系运算学号学号姓名姓名性性别别籍籍贯贯出生年份出生年份学院学院091501091501王英王英女女河北河北19971997计算机计算机091502091502王小梅王小梅女女江苏江苏20002000信电信电091
22、503091503张小飞张小飞男男江西江西19961996计算机计算机091504091504孙志鹏孙志鹏男男海南海南19981998计算机计算机091505091505徐颖徐颖女女江苏江苏19971997信电信电091506091506钱易蒙钱易蒙男男河北河北20002000外文外文51例5查询所有学生的姓名和籍贯 姓名,籍贯姓名,籍贯(学生)2,4(学生)姓名姓名籍籍贯贯王英河北王小梅江苏张小飞江西孙志鹏海南徐颖江苏钱易蒙河北.2.2.2 专门的关系运算52例6查询学生生源来自哪些省份?籍贯籍贯(学生)籍籍贯贯河北江苏江西海南4(学生)投影之后不仅取消了原关系中的某些列,而且还取消了某些元
23、组。2.2.2 专门的关系运算53例7查找出生年份在1998年以前(不含1998年)的学生的姓名、籍贯及其出生年份情况。姓名,籍贯,出生年份(出生年份19801980查询所有学生的数据,结果按出生年份降序排序GET W(GET W(学生学生)DOWNDOWN 出生年份出生年份*2.3.1元组关系演算元组关系演算查询所有学生的数据GET W(GET W(学生学生)查询学生表中有哪些院系GET W(GET W(学生学生.学院学院)查询所有1980年以后出生的学生学号和籍贯GETGET W(W(学生学生.学号学号,学生学生.籍贯籍贯):):学生学生.出生年份出生年份19801980查询所有学生的数据
24、,结果按出生年份降序排序GET W(GET W(学生学生)DOWNDOWN 出生年份出生年份*2.3.1元组关系演算元组关系演算90域关系演算表达式的定义用域变量代替元组变域关系演算表达式的定义用域变量代替元组变量的每一个分量,域变量的变化范围是某个值量的每一个分量,域变量的变化范围是某个值域而不是一个关系域而不是一个关系域关系演算的查询表达式为:域关系演算的查询表达式为:t1,t2,tk|P(t1,t2,tk)其中其中t1,t2,tk代表域变量,代表域变量,P是域演算公式。是域演算公式。*2.3.1域关系演算域关系演算91用户输入查询用户输入查询查询的内部表示查询的内部表示执行查询步骤执行查
25、询步骤向用户报告查询结果向用户报告查询结果查询语句的句法分析查询优化处理查询1 1、响响应应用用户户查查询询的的一一般般过过程程 2.4查询优化查询优化92例:查询学号为091502的学生选修的课程名称。E1=课程名(课程.学号=学习.学号学习.学号=091502(课程学习)E2=课程名(课程.学号=学习.学号(课程学号=091502(学习)E3=课程名(课程学号=091502(学习)查询效率:E3E2E12.4.1查询优化的必要性查询优化的必要性93关系代数表达式的等价变换规则1)连接、笛卡尔积交换律)连接、笛卡尔积交换律E1E2E2E1E1E2E2E1E1E2E2E1FF2)连接、笛卡尔积
26、结合律)连接、笛卡尔积结合律(E1E2)E3E1(E2E3)(E1E2)E3E1(E2E3)(E1E2)E3E1(E2E3)F1F2F1F22.4.1查询优化的必要性查询优化的必要性943、投影的串接定律、投影的串接定律(注意条件注意条件)A1,A2,An(B1,B2,Bm(E)A1,A2,An(E)4、选择的串接定律、选择的串接定律F1(F2(E)F1F2(E)5、选择与投影的交换律(注意条件)、选择与投影的交换律(注意条件)F(A1,A2,An(E)A1,A2,An(F(E)(F只涉及A1,A2,An)A1,A2,An(F(E)A1,A2,An F(A1,An,B1,Bm(E)6、选择与笛
27、卡尔积的交换律、选择与笛卡尔积的交换律F(E1E2)F(E1)E2F(E1E2)F1(E1)F2(E2)F(E1E2)F 2(F 1(E1)E2)957、选择与并的交换、选择与并的交换F(E1E2)F(E1)F(E2)8、选择与差的交换、选择与差的交换F(E1-E2)F(E1)-F(E2)9、投影与笛卡尔积的交换律、投影与笛卡尔积的交换律A1,A2,An,B1,B2,Bm(E1E2)A1,A2,An(E1)B1,B2,Bm(E2)10、投影与并的交换、投影与并的交换A1,A2,An(E1E2)A1,A2,An(E1)A1,A2,An(E2)2.4.1查询优化的必要性查询优化的必要性965、关系
28、代数表达式的优化算法、关系代数表达式的优化算法输入:一个关系表达式的语法树输入:一个关系表达式的语法树输出:计算该表达式的程序输出:计算该表达式的程序方法:方法:1)把把F1 F2.Fn(E)变换为变换为F1(F2(Fn(E)2)对每一个选择尽可能把它移到树的叶端。对每一个选择尽可能把它移到树的叶端。3)对每一个投影尽可能把它移到树的叶端。对每一个投影尽可能把它移到树的叶端。4)合并选择和投影或一个选择后跟一个投影。合并选择和投影或一个选择后跟一个投影。5)将得到的语法树的内节点分组。将得到的语法树的内节点分组。(每一双目运算和它所每一双目运算和它所有的直接祖先为一组。有的直接祖先为一组。6)
29、生成一个程序,每组节点的计算是程序中的一步。求生成一个程序,每组节点的计算是程序中的一步。求值顺序为先子孙,后祖先。值顺序为先子孙,后祖先。规则4规则3,5,9,10规则4-8规则3-597 1、尽可能早地执行选择操作(减少中间运算结果)2、合并笛卡尔积和其后的选择操作,使之称为一个连接运算 3、合并连续的选择和投影操作,以免分开运算造成多次扫描文件,从而节省了操作时间 4、找出表达式里的公共子表达式。5、适当地对关系文件做预处理2.4.2查询优化的策略和算法查询优化的策略和算法98例:求例:求001001号学生所选修的课程名及成绩号学生所选修的课程名及成绩CN,G(SC.S#=001001
30、SC.C#=C.C#(SCC)CN,GSC.S#=001001SC.C#=C.C#SCC2.4.2查询优化的策略和算法查询优化的策略和算法99CN,GCN,GSC.C#=C.C#SC.C#=C.C#SCSCC C SC.S#=SC.S#=001001001001CN,GCN,GSC.C#=C.C#SC.C#=C.C#SCSCC C SC.S#=SC.S#=001001001001选择的串接选择的串接定律定律选择与笛卡选择与笛卡尔积的交换尔积的交换100 CN,GCN,GSC.C#=C.C#SC.C#=C.C#SCSCC CSC.S#=SC.S#=001001001001CN,G,SC.C#,C
31、.C#CN,G,SC.C#,C.C#5、选择与投影的交换律、选择与投影的交换律F(A1,A2,An(E)A1,A2,An(F(E)(F只涉及A1,A2,An)A1,A2,An(F(E)A1,A2,An F(A1,An,B1,Bm(E)101CN,GSC.C#=C.C#SCCSC.S#=001001C#,CNG,C#投影与笛卡尔投影与笛卡尔积的交换律积的交换律102CN,G(C#,G(SC.S#=001001(SC)CN,C#(C)优化后的表达式优化后的表达式103例:查询选修了数据库原理的学生姓名和成绩例:查询选修了数据库原理的学生姓名和成绩姓名姓名,成绩成绩(课程名课程名=数据库原理数据库原
32、理学生学生.学号学号=学习学习.学号学号学习学习.课程号课程号=课程课程.课程号课程号(学生(学生学习学习课程)课程)姓名姓名,成绩成绩(课程名课程名=数据库原理数据库原理(学生(学生学习学习课程)课程)104姓名姓名,成绩成绩课程名课程名=数据库原理数据库原理学生学生.学号学号=学习学习.学号学号学习学习.课程号课程号=课程课程.课程号课程号课程课程学生学生学习学习105姓名姓名,成绩成绩学习学习.课程号课程号=课程课程.课程号课程号课程课程学生学生学习学习课程名课程名=数据库原理数据库原理学生学生.学号学号=学习学习.学号学号规则4、6选择的串接选择和笛卡尔积交换106姓名姓名,成绩成绩学
33、习学习.课程号课程号=课程课程.课程号课程号课程课程学生学生学习学习课程名课程名=数据库原理数据库原理学生学生.学号学号=学习学习.学号学号姓名姓名,成绩成绩,学习学习.课程号课程号,课程课程.课程号课程号规则5选择和投影交换107姓名姓名,成绩成绩学习学习.课程号课程号=课程课程.课程号课程号课程课程学生学生学习学习课程名课程名=数据库原理数据库原理学生学生.学号学号=学习学习.学号学号姓名姓名,课程号,成绩课程号,成绩课程号课程号规则9投影和笛卡尔积交换108规则5选择和投影交换姓名姓名,成绩成绩学习学习.课程号课程号=课程课程.课程号课程号课程课程学生学生学习学习课程名课程名=数据库原理
34、数据库原理学生学生.学号学号=学习学习.学号学号课程号课程号姓名姓名,学生学生.学号学号,学习学习.学号学号,课程号,成绩课程号,成绩姓名姓名,课程号,成绩课程号,成绩109规则9投影和笛卡尔积交换姓名姓名,成绩成绩学习学习.课程号课程号=课程课程.课程号课程号课程课程学生学生学习学习课程名课程名=数据库原理数据库原理学生学生.学号学号=学习学习.学号学号课程号课程号姓名姓名,学号学号课程号课程号,学号学号,成绩成绩姓名姓名,课程号,成绩课程号,成绩110姓名姓名,成绩成绩学习学习.课程号课程号=课程课程.课程号课程号课程课程学生学生学习学习课程名课程名=数据库原理数据库原理学生学生.学号学号
35、=学习学习.学号学号课程号课程号姓名姓名,学号学号姓名姓名,课程号,成绩课程号,成绩111优化后的表达式姓名姓名,成绩成绩(课程号,成绩,姓名课程号,成绩,姓名(学号,姓名学号,姓名(学(学生)生)学习学习)课程号课程号(课程名课程名=数据库数据库原理原理(课程)(课程)112关系系统:关系系统:关系系统的定义关系系统的定义关系系统的分类关系系统的分类2.5关系系统关系系统113关系系统(关系数据库系统):支持关系模型的数据库管理系统。1 1关系系统的定义关系系统的定义一个系统可定义为关系系统,当且仅当它支持:(1)关系数据结构。(2)支持选择、投影和(自然)连接运算。对这些运算不必要求定义任
36、何物理存取路径。2.5.1关系系统定义关系系统定义1141)表式系统:表式系统:仅支持数据结构,不能算关系仅支持数据结构,不能算关系系统。系统。2)(最小最小)关系系统:关系系统:数据结构数据结构+三种关系操作。三种关系操作。3)关系完备的系统)关系完备的系统:数据结构数据结构+所有关系代数操作。所有关系代数操作。4)全关系系统:)全关系系统:支持关系模型的所有特征。支持关系模型的所有特征。S:数据结构数据结构M:数据操作数据操作I:完整性约束完整性约束SMIMISSIMSIM2.5.2关系系统分类关系系统分类115准则准则0 0:一个关系型的DBMS必须能完全通过它的关系能力来管理数据库。一
37、个关系型DBMS的关系能力包括属性指定、元组选择、插入和删除、关系合并以及数据完整性和并发控制等,准则0指出,一个RDBMS必须能完全通过这些关系能力来管理数据库,而不需要用户介入。*2.5.3全关系系统的全关系系统的12条基本准则条基本准则116 准则准则1 1:信息准则。准则准则2 2:保证访问准则。准则准则3 3:空值的系统化处理。准则准则4 4:基于关系模型的动态的联机数据字典。准则1-4 保证数据库完整性*2.5.3全关系系统的全关系系统的12条基本准则条基本准则117 准则准则5 5:统一的数据子语言。准则准则6 6:视图更新准则。准则准则7 7:高级的插入、修改和删除操作。准则5-7 保证数据库操作*2.5.3全关系系统的全关系系统的12条基本准则条基本准则118 准则准则8 8:数据物理独立性。准则准则9 9:数据逻辑独立性。准则准则1010:数据完整性的独立性。准则准则1111:分布独立性。准则准则1212:无破坏准则。准则8-11 保证数据库独立性*2.5.3全关系系统的全关系系统的12条基本准则条基本准则