数据库系统原理(同名12)课件_第1页
数据库系统原理(同名12)课件_第2页
数据库系统原理(同名12)课件_第3页
数据库系统原理(同名12)课件_第4页
数据库系统原理(同名12)课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章关系数据库 2.1关系数据库概述 2.2关系数据结构 2.3关系的完整性 2.4关系代数 2.5关系演算* 2.6关系数据库管理系统 2.1关系数据库概述 关系数据库系统是支持关系模型的数据库系统 关系理论是建立在集合代数理论基础上的,关系的定义和各种操作运算可以用集合代数给出 关系模型的三要素关系数据结构:二维表 关系操作:选择、投影、连接、除、并,交、差等查询以及增、删、改 完整性约束 :实体、参照、自定义关系数据语言关系代数语言 ISBL 关系演算语言 元组关系演算语言 ALPHA,QUEL 域关系演算语言 QBE 具有关系代数和关系演算双重特点的语言SQL 2.2关系数据结构 2

2、.2.1关系域:域是一组具有相同数据类型的值的集合。值的个数称为域的基数 笛卡儿乘积 :给定一组域:D1,D2,Dn,域可以相同,定义D1D2Dn的笛卡儿乘积为:D1D2Dn(d1,d2,dn) |diDi,i1,2,n ; (d1,d2,dn)称为一个元组 关系(Relation):笛卡儿乘积D1D2Dn的任一子集D,称作D1,D2,Dn上的关系。 用R(D1,D2Dn)来表示 D中的每个元素(d1,d2,dn)是关系的一个元组 实际应用中关系往往是笛卡儿乘积中有意义的子集构成 n1是单元关系/一元关系;n2是二元关系 举例域 性别集男、女。基数2 月份集1,2,3,4,5,6,7,8,9,

3、10,11,12,基数12 笛卡儿乘积 D1姓名集合赵一平,钱峰,孙英D2性别集合男,女D3年龄集合16,17,18关系姓名性别年龄赵一平男16钱峰男17孙英女172.2.2关系模式关系的描述称为关系模式(Relation schema),一般表示为R(U,D,DOM,F) 其中,R是关系名,U是组成该关系的属性集合,D为属性组U中属性所来自的域,DOM是属性向域的映象集合,F是属性间数据的依赖关系集合。2.2.3关系数据库 在一个给定的现实世界领域里,所有实体及实体间的联系的关系所构成的集合是一个关系数据库关系数据库有型和值之分:关系数据库的型也称关系数据库模式,是对关系数据库的描述它包括若

4、干域的定义以及在这些域上定义的若干关系模式;关系数据库的值也称为关系数据库,是这些关系模式在某一时刻对应的关系的集合 关系数据库的值与关系数据库模式通称为关系数据库 2.3关系的完整性 实体完整性 若属性A是基本关系R的主属性,则A不能取空值 参照完整性 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(关系R、S不一定是不同的关系),则对于R中的每一个元组在F上的取值必须:取空值(F的每个属性值均取空值) 等于S中某个元组的主码值 自定义完整性 2.4关系代数 关系代数由一组关系运算组成,是对于关系的操作集。关系运算以一个或多个关系作为操作的对象,运算结果是一个新的关系

5、。用关系运算实现查询 关系代数运算符 集合运算符:(并)(差)(交)(笛卡儿积) 专门运算符:选择 投影 连接 除 比较运算符: = 逻辑运算符: 非 与 或 常用的关系运算交、并、差、笛卡儿积、投影、选择、连接、除 基本关系运算有 并、差、笛卡儿积、投影、选择同类关系:具有相同的度,且两个关系每个属性属同一个域 2.4.1传统的集合运算假设: NameSexAgeZhangF22WangM25LuM37ChenF27RNameSexAgeZhangF22WangM25LuF30SunM28S并(Union):同类关系R和S的并记为RS,或R union S 定义:RS=t|tR tS注意去除

6、重复元组 NameSexAgeZhangF22WangM25LuM37ChenF27LuF30SunM28RS 交(Intersection)同类关系R和S的交记为RS,或R intersect S 定义:RS t|tR tS R(RS) NameSexAgeZhangF22WangM25RS 差(Minus/Difference)同类关系R和S的差记为RS或R minus S 定义:RS t|tR tS NameSexAgeLuM37ChenF27RS 笛卡儿积(Cartesian Product)关系R和S的笛卡儿积记为RS 定义:RS ts|tR, sS CNoCNC-11OSC-21D

7、BSNoSNAgeS-01Huang21S-21Lin20S-30Shao22CNoCNSNoSNAgeC-11OSS-01Huang21C-11OSS-21Lin20C-11OSS-30Shao22C-21DBS-01Huang21C-21DBS-21Lin20C-21DBS-30Shao22R S RS 2.4.2专门的关系运算引入以下记号 : 设关系模式R(A1,A2,An),它的一个关系为Rt,tRt表示t是Rt的一个元组。tAi则表示元组t中相应于Ai的一个分量 若AAi1,Ai2,Aik是A1,A2,An的一部分,k=18(Student) 连接(Join)从两个关系的笛卡儿乘积中

8、选取属性满足一定条件的元组,组成新的关系 记做:R S trts| trR tsS trAtsB AB AB (RS) AB表示R上的属性A和S上的属性B满足条件,是比较运算符,A、B的度数相等且可比。这里假设AB分别在R、S关系的第i、j列,R度为r 等值连接(equijoin):为“”时称为等值连接记:R S trts| trR tsS trAtsB A=B 自然连接(Natioal Join):两个关系中具有相同的属性,并且在相同的属性上做等值连接。自然连接需要取消重复列,而等值连接不需要 。记:R S trts| trR tsS trAtsA BEF20E1F150E2F340E3F1

9、S ABCDEF3020C1D3E1F14020C2D3E1F15020C3D1E1F15040C3D1E3F1ACD30C1D340C2D350C3D110C4D1假设 R R S AB 除法(Division)给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组,R中的Y与S中的Y可以不同属性名,但必须有相同的域。记RS。令P(X)RS,则P是R中满足以下条件的元组在X属性列上的投影:元组在X上的分量值x的象集Yx包含S在Y上投影的集合记做:RStrX|trR YxY(S) RS X(R)X(X(R)Y(S)R) ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2

10、b2c3a1b2c1假设 R BCDb1c2d1b2c1d1b2c3d2S Aa1RS b1c2b2c1b2c3b2c3b3c7b4c6b6c6Yxa1Yxa2Yxa3Yxa4象集: 外连接(Outer Join)如果R和S在做自然连接时,把该舍弃的元组也保存在新关系中,在新增加的属性上填空值(null),这种操作称为“外连接”。如果把R中该舍弃的元组保留在新关系中称左连接;把S中该舍弃的元组保留在新关系中称右连接 外部并(Outer Union) 若关系R和S不同类,则新关系的属性由R和S的属性组成,公共属性只取一次,新关系的元组由属于R或S的元组构成,新增的属性上均填空(null) 半连接

11、(Semijoin) 关系R和S的半连接定义为R和S的自然连接在关系R的属性集上的投影 ABCabcbbfcadBCDbcdbceadbefg假设 R S ABCDabcdabcecadbbbfnullnullefgABCDabcdabcecadbbbfnullR Outer Join S R left Outer Join S ABCDabcdabcecadbnullefgABCDabcnullbbfnullcadnullnullbcdnullbcenulladbnullefgABCabcabccadBCDbcdbceadbR right Outer Join S R Outer Union

12、 S R Semijoin S R(R S) S Semijoin R S(R S) 2.4.3*关系代数运算应用举例 假设S(S,SN,SSEX,SAGE)C(C,CN,TEACHER)SC(S,C,GRADE)检索学习课程号为C2的学生学号与成绩 S#,GRADE( C#=C2(SC) 或1,3( 2=C2(SC) 检索学习课程号为C2的学生学号与姓名 S#,SN( C#=C2(S SC) 检索选修课程名为Maths的学生学号与姓名 S#,SN( CN=Maths(S SC C) 检索选修课程为C2或C4的学生学号 S#( C#=C2 C#=C4(SC) )检索至少选修课程为C2和C4的学

13、生学号 S#( 14 2=C2 5=C4(SCSC)检索不选修C2课程的学生姓名与年龄 SN,SAGE (S)SN,SAGE( C#=C2(SC S) 检索选修全部课程的学生姓名 SN(S (S#,C#(SC) C#(C) ) ) 检索所学课程包含学生S3所学课程的学生学号 S#,C#(SC) C# ( S#=S3(SC) 2.4.4关系代数式的等价规则1.连接、笛卡尔积交换律E1E2 E2E1E1 E2 E2 E1E1 F E2 E2 F E12.连接、笛卡尔积结合律(E1E2) E3 E1(E2E3)(E1 E2) E3 E1 (E2 E3)(E1 F1 E2) F2 E3 E1 F1 (

14、E2 F2 E3) 3.投影的串接定律A1,A2,An(Ak1,Ak2,Akm (R) A1,A2,An (R) A1,A2,An是Ak1,Ak2,Akm 的子集4.选择的串接定律 F1( F2(R) F1F2(R)5.选择与投影的交换律 A1,A2,An (F(R) F(A1,A2,An (R)A1,A2,An (F(R) A1,A2,An (F(A1,A2,An,B1,B2,.Bn (R)例: A ( R.A=S.B(RS) A ( R.A=S.B( A,B (RS) A ( R.A=S.B( A(R)B(S)6.选择对笛卡尔积的分配率 F ( E1E2) F1 ( E1) F2 ( E2

15、)F=F1F2,F1只涉及E1,F2只涉及E2 F ( E1E2) F ( E1) E2F只涉及E1 F ( E1E2) F2( F1 ( E1) E2)F1只涉及E1,F2涉及E1,E27.选择对并的分配率 F ( E1E2) F1 ( E1) F2 ( E2)8.选择对差的分配率 F ( E1 - E2) F1 ( E1) - F2 ( E2)9.投影对笛卡尔积的分配率A1,A2,An,B1,B2,.Bn (E1E2) A1,A2,An(E1) B1,B2,.Bn (E2) A1,A2,An是E1属性,B1,B2,.Bn是E2 属性10.投影对并的分配率 A1,A2,An(E1E2) A1

16、,A2,An(E1)A1,A2,An(E2) 11.选择对自然连接的分配率 F ( E1 E2) F1 ( E1) F2 ( E2)F=F1F2,F1只涉及E1,F2只涉及E212.选择与连接操作的结合率 F ( E1E2) E1 F E2 F形如E1.A E2.B F1 ( E1 F2 E2) E1 F1F2 E2 F1,F2形如E1.A E2.B利用规则优化查询例:设学生选课系统中,学生关系S有1000条记录,每个学生平均选课10门,则SC关系有10000条记录,课程关系C有1000条记录。若需要查询学生“王芳”所选修课程的成绩在85分以上的课程名。设 F1表示S.sno=SC.sno F

17、2表示SC.cno=C.cno F3表示S.sn=王芳 F4表示SC.grade=85 cn(F1F2F3F4(SSCC) 1010条连接记录O(1010) cn(F3F4(S F1SC F2C) 104条记录,运算O(1010) cn(F3(S)F4(SC) C) =10条记录,运算O(104) 优化过程 cn (F1F2F3F4(SSCC) /式 = cn (F3F4F2(F1(SSC)C) /规则4,2 = cn (F3F4F2(F1(SSC)C) /规则6 = cn (F3F4 F2 (S SC)C) /规则12 = cn (F3F4 (S SC) C) /规则12 式 = cn (F

18、3(S) F4(SC) C) /规则11 式基于语法树优化检索选修DB课程的女生学号及姓名。 sno,sname(cname=dbsex=F(S.sno=SC.snoSC.cno=C.no (SSCC) sno,snamecname=dbsex=FS.sno=SC.snoSC.cno=C.noSCCS初始语法树 sno,snamecname=dbsex=FS.sno=SC.snoSC.cno=C.noSCCS条件分解条件下移 sno,snamesex=FS.sno=SC.snoSCCScname=dbSC.cno=C.no sno,snamesex=FS.sno=SC.snoSCCScname=dbSC.cno=C.no投影前移 sno,sname sno cno sno,cno sno,snamesex=FS.sno=SC.snoSCCScname=dbSC.cno=C.no笛卡尔积和选择合成连接 sno,sname sno sno,cno cno sno,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论