数据库课堂笔记.doc_第1页
数据库课堂笔记.doc_第2页
数据库课堂笔记.doc_第3页
数据库课堂笔记.doc_第4页
数据库课堂笔记.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

b6fc3bbaf3a3515d408dc6cc4b984f3d.pdf 一、本门课的系统结构1.系统软件-DBMS(Data Base Manager System)2.应用软件-DBS二、本门课的授课内容第一篇 第一章 概论(基础) 第二章 关系数据库(RDBMS)-SQL30% 第三章 安全性/完整性 第二篇 原理(50%) DBS设计第三篇 DBMS(15-20%) 实现篇DBS 应用程序 DBMSOS 硬件1.1基本概念一、信息:关于现实世界新的事实的知识二、数据:用以载荷信息的物理符号三、数据处理四、数据原理数据库技术1.2数据管理进展一、人工管理(50年代中期)二、文件管理(50年代中期60年代中期)三、数据库管理(60年代末期至今)特点: 关系结构表1.数据结构化 层次结构树 网状结构图2.高度共享,冗余度低3.数据独立性高物理独立性逻辑独立性 安全性4.DBMS统一管理 完整性 并发控制1.3DBS的组成与结构一、DBS术语1.数据库:长期存放在计算机内有组织的相互关联的数据的集合2.DBMS:是一个系统软件,能够帮助用户建立,使用(检索、更新)管理和控制数据库的软件系统3.DBS:带有数据训的计算机应用系统二、DBS组成1.软件OS、DBMS、应用程序2.硬件 内存存放OS、DBMS、应用程序、缓冲区、工具 外存存放DB (1)系统分析员 (2)数据库管理员(DBA)3.人员 (3)数据库设计者 (4)应用程序员 (5)用户三、DBS的结构(三级模式)应用程序A应用程序E应用程序D应用程序C应用程序B 外模式2外模式1外模式3外模式/模式映射模式模式/内模式映射DBMS DB内模式1.外模式(子模式):关于数据库的局部逻辑结构的描述2.模式:关于数据库的全局逻辑结构的描述3.内模式:对数据库的存储结构的描述 模式和内模式各只有一个 外模式可以有多个,必须命名,不同名的外模式之间互相结论 覆盖一个外模式可以被多个应用程序所启用,但每个应用程序只能用一个外模式三级模式之间的两级映射由DBMS支持1.4数据模型定义:数据结构,完整性约束,数据操作组成数据模型分类 基于对象模型(独立于计算机)如ER图 基于记录模型(计算机) 1.关系模型 2.层次模型 3.网状模型1.5DBMS定义功能(DDL)操纵功能2.1关系数据模型 1.数据结构一、三要素 2.完整性约束规则 3.关系运算二、数据结构1.域:值的集合2.基数:域中元素的个数3.笛卡尔积:D1D2Dn=(d1.dn)|diDi,1in 例:D1=白,李 D2=丁,王,张 D3=白一,李一,李二4.关系:从笛卡尔积抽取的有意义的子集,构成关系R(U,D,DOM,I,F) 任何元组不能全同 行的顺序不重要,可以任意交换5.关系的性质 列的顺序不重要,可以任意交换 列是同质的 不同的列可出自相同的栈 每一分量是不可再分的,是原子的2.2关系运算 DDL 按表达查询方式不同 RDBMS DML 关系代数语言 DCL 关系演算语言关系代数语言:用对关系的代数运算来表达查询关系代数语言ISBL关系演算语言:用谓词演算公式表达查询关系演算语言 元组演算语言代表QUEL(已实现) 域演算语言代表QBE(已实现)介于关系代数与关系演算之间的语言SQL 传统集合运算并、交、差一、关系代数语言 选择 专门的关系运算 投影连接除法(一)传统集合运算(要求:两个关系相容,即属性个数相同,对应的列出自相同的域)1.并 公式:RS=t|tRtS 作用:由属于R或属于S的所有元组构成,但去掉重元组2.交 公式:RS=t|tRtS 作用:由属于R又属于S的所有元组构成3.差 公式:R-S=t|tRtS 作用:由属于R但不属于S的元组构成RS=R-(R-S)=S-(S-R)(二)专门的关系代数运算1.选择公式:F(R) 例:A4(R)作用:在关系的水平方向查找(选取)满足给定条件的子集2投影(1)公式:属性表(R)例:sn(P)例3:求CS年龄19的学生姓名PSD=csSA=19(S) sn(P)VF: SQL:CREAT S(新建) SELECT sno,sn或 USE a:s (打开) FROM SLIST for SD=CS .and. SA=19 WHERE SD=CS AND SA=19 Fields sno,sn例4:求选修c2课学号及成绩sno,GR(cno=CS(SC)例5:求选修c2课姓名及成绩作用:在关系的垂直方向查找(选取)满足给定条件的子集笛卡尔积3连接(有)条件连接区别等值连接自然连接笛卡尔积RStrts|trRtsS条件连接ABR S=trts| trRtsStrAtsB =R,AS.B(RS)(3)等值连接A=BR S=trts| trRtsStrA=tsB =R,A=S.B(RS)(4)自然连接R S=trtsB= trRtsStrA=tsB =R.*,S.*(B)(R,A=S.B(RS)解例5:sn,GR(sno,GR(cno=c2(SC) sno,sn(S)例6:求CS系选C1课的姓名及学号解:sno,sn(SD=cs(SC) sno(cno=c1(SC)例7:求CS系选C1课成绩优秀的姓名及学号解:sno,sn(SD=cs(SC) sno(cno=c1GR90(SC)例8:求刘老师所教课的课名及所选课学生姓名cn,sn(cno,cn(CT=刘(C) SC sno,sn(S)例9:求CS系年龄小于19岁的学生姓名及所选课的课名sn,cn(sno,sn(SD=cs SA19(S) SC cno,cn(S)例10:求无人选的谭号cno(c)-cno(SC)4除法(1)R(X,Y)S(Y)例13:求选全部课程的学生姓名sn(S(sno,cno(SC)cno(C)例12:求同时选C1和C2课的姓名sno,cno(SC)cno(cno=c1cno=c2(C)2.3SQL(结构化查询语言) 视图(外模式)DDL 基本表(模式) 存储文件(内模式) 查找selectSQL DML 插入insert 删除delete 修改update 安全性 DCL 完整性 并发控制加锁SQL特点一体化语言,也就是集DDL,DML,DCL为一体介于关系代数和关系演算之间的语言一个语法两种使用方式:交互使用;作为其它程序设计语言的子语言使用语法简单,易学易用SQL语句的查询结果是一张表DDL定义功能定义基本表语法格式:creat table S(sno char(5) not null, sn char(8) not null, SA integer,SD char(20); alter table S add drop 2视图:从一个或几个基本表中导出的表,是一个虚表三SQL的数据操纵功能1简单查询(一)查找2. 集合查询并,交,差union,intersect,minus 3连接查询4嵌套查询相关子查询使用exists(not exists) 不相关子查询使用in(not in)1Select的语法格式Select 目标列from关系表where 条件group byorder by省略where子句,查询化作投影运算说明当目标列包含了被选关系的全部属性时,查询化为选择运算连接查询当中要写明连接条件例1:select sn,SDfrom S sn,SD(S)例2:select sno,sn,SD,SA / from S where SA19 SA19(S)例3:select sn,SD from S where SA19sn,SD(SA=80 and S.sno=SC.cno and SC.cno=C.cnoin:例8:求选C2课的学生姓名select snfrom Swhere sno in(select snofrom SCwhere cno=C2)总结:当所查的目标涉及多个表时使用连接查询例9:求cs系选刘老师所教课的成绩优秀者的姓名select snfrom Swhere SD=cs and sno in(select snofrom SCwhere GR=90 and cno in(select cnofrom Cwhere CT=刘)例10:求CS系学生最小年龄select min(sn)from Swhere SD=CS库函数(只能在select中使用)count(*)对元组计数 count(列)对列计数sum(列)对列求和max(列)对列求最大值min(列)对列求最小值avg(列)对列求平均值例11:求选C2课的平均分select avg(GR)from SCwhere con=C2例12:求课名为DB课的平均分select avg(GR)from SCwhere con in(select confrom Cwhere cn=DB)例13:求CS系的人数select count(sno)/count(*)from Swhere SD=CS例14:求CS系年龄最小者选课的课号及分数select cno,GRfrom SCwhere sno in(select snofrom Swhere SA=(select min(SA)from Swhere SD=CS)Order:例15:求CS系学生姓名及年龄并将年龄降序select sno,GRfrom SCwhere cno=CSorder by GR DESC(降序) 升序可以不写例16:求选C2课的学号及成绩,将成绩降序排列select sno,GRfrom SCwhere con=C2order by GR DESCexists:例17:选修C2课的学生姓名select snfrom Swhere exists(select *from SCwhere con=C2 and sno=S.sno)例18:求选DB课的学生姓名select snfrom Swhere exists(select *from SCwhere sno=S.sno and exists(select *from Cwhere con=S.cno and cn=DB)例19:求CS系选课的课名select cnfrom Cwhere exists(select *from SCwhere cno=C.cno and exists(select *from Swhere sno=S.sno and SD=CS)例20:求不选C2课的学生姓名select snfrom Swhere not exists(select *from SCwhere cno=C2 and sno=S.sno)例21:选修全部课的学生姓名 sn(S sno,cno(SC)cno(C)select snfrom Swhere not exisits(select *from Cwhere not exists(select *from SCwhere S.sno=sno and C.cno=cno)注:不在C里的课没有被选 例22:选修S2学生所选全部课程的学号sno,cno(SC)con(sno-S2(SC)select distinct snofrom SC SCXwhere not exists(select *from SC SCYwhere SCY.sno=S2 and not exitsts(select *from SC SCZwhere SCZ.sno=SCX.sno and SCZ.cno=SCY.cno)集合:例23:求CS系或MA系学生姓名select snfrom Swhere SD=CS or SD=MAselect snfrom Swhere SD=CSunionselect snfrom Swhere SD=MA并交差:例24:求CS系年龄小于19的学生select *from Swhere SD=CSintersectselect *from Swhere SA3(二)更新命令1.插入insert into values/select2 .删除delete from where3.修改update set where四、视图1.定义视图create view 视图名()as (查询)五、SQL安全机制Grant 权限表On 对象To 用户ID表 元组演算如QUEL (可以设置元组变量) 2.4 关系演算语言表 域演算如QBE视图一、QUEL语言 定义操纵 查找插入删除 更新(维护)修改二、QBE1.特点(优点) 定义或法Sere SCZ.sno=SCX.sno and SCZ.cno=SCY.cno)o2.QBE功能 检索P.(print) 操纵 插入I.(insert) 删除D.(delete) 修改U.(update)3.操作步骤特点:对用户友好的查询语言是商品化关系数据库系统DB2的可选用户界面之一是一个基于域关系演算的数据库语言语法简单操作步骤:系统显示(一张或多张表)用户插入关系名用户填写查询条件与或多张表 写在一行的一定是与关系,写在两行以上示例元素不同是或写 在两行示例元素相同是与关系例:求不选C2课的学生姓名S sno sn SD SA SC sno cno GR S1 P.N S1 C2一、安全性1.定义:指数据库的任何部分都不允许受到恶意侵害或未经授权的存取和修改。2.机制:用户权限问题防止非授要授权用户使用系统的问题统计数据库的安全问题数据加密问题完整性1.定义:指数据库中的数据必须始终满足数据库的语义约束。2.机制:由数据模型确定的完整性约束由数据库应用确定的完整性约束变迁约束4.1 DBS设计概述 关系模型RDBMS现实 概念模型 计算机 网状模型DFD 层次模型活动图 需求分析 需求分析 概念设计(ER图) 总体设计(N-S,PAD,流程图)应用 外模式 逻辑设计(关系模型) 详细设计 物理设计 编码(程序设计) DB 测试 维护生命周期:生命周期可分为两个阶段:一是数据库设计阶段;二是数据库实现和操作阶段数据库的分析和设计阶段分为如下4个子阶段:需求分析概念设计逻辑设计物理设计数据库的实现和操作阶段由如下3个子阶段组成:数据库的实现操作和监督修改和调整4.2 需求分析需求分析的任务:调查应用领域,对应用领域中各种应用的信息要求和操作要求进行详细分析,形成需求分析说明书。5.1 ER图术语一、实体:现实世界中的人或物用矩形杠“ ”表示课程教师例: 二、属性:关于实体的特征,用“ ”表示三、联系:实体之间或实体内部的关系,用“ ”表示1学院1系m学生例 1对多(1:m) 领导聘用选课 分三类 多对多(m:n)1mn 1对1 (1:1)院长教师课程 实体型:具有相同属性的实体集合实体 实体集: 实体:现实世界中各种事物的抽象 弱实体:没有自己的键的实体 简单属性与复合属性:可以分为多个子属性的为复合属性属性 单值与多值属性:可能取多个值的属性为多值属性键属性:用来区别不同实体的属性体 GR 导出属性:可以由其他属性导出的属性5.2 ER图的描述5.3 概念设计一、任务概念数据库设计的任务包括两个方面:概念数据库模式设计和事务设计。事务设计的任务是考察需求分析阶段提出的数据库操作任务,形成数据库事物的高级说明。概念数据库模式设计的任务是以需求分析阶段所识别的数据项和应用领域的未来改变信息为基础,使用高级数据模型建立概念数据库模式。二、步骤设计实体型、实体型的属性和键确定实体型之间的联系及其相关的约束使用演绎或归纳方法确定实体型之间的超类/子类联系及其相关约束确定实体型之间的范畴联系及其相关约束形成概念数据库的EER图三、方法 集中式 视图综合设计四、策略(1)自顶向下的策略(2)自底向上的策略(3)混合策略6.1初始关系数据库模型普通实体的变换弱实体的变换多值属性的变换实例一、需求分析调研结果如下:某公司下设几个部门;每个部门有多个工程项目,而每个功程项目只属于一个部门;每个部门有多个员工,而每个员工属于一个部门;一名职工有可能参与多个项目,而每个项目可以有多个员工参加;每个部门有一名部门治理,它是职工中的一员;一名职工可能有多名亲属,也可能没有亲属;一名职工可能有多种技能,而一种技能可以多个职工具备;二概念设计11m有员工聘用部门1mm11领导承担n具有亲属mmn施工技能项目三、逻辑设计部门(部门号,名称,地址,电话,领导员工号)员工(员工号,姓名,性别,生日,部门号,月薪)项目(项目号,项目名,经费,部门号)技能(技能号,技能名)亲属(员工号,亲属名,关系)施工(项目号,员工号,工时)人材(员工号,技能号,年限)实施实现(SQL)Creat table 部门(部门号 char(3) not null unique,名称 char(10) not null,地址 char(30),电话 char(13),员工号 small int,Primary key(部门号),Foreign key(员工号),Reference(员工))6.2关系规范化理论键主键:从候选键中指定一个;候选键:唯一确定一个元组;替代键:除主键外余下的候选键称替代键;外部键:设X是关系R的属性子集合,如果X是另外一个关系模式的候选键则称X是R的外部键;全键:整个元组作为候选键;函数依赖定义:设R(U),X, Y U,对于R的任意实例r,r中人两个元组t1和t2,如果t1X= t2 X,则t1Y= t2 Y,我们称X函数地确定Y,或Y函数地依赖于X,记做XY。分类:完全函数依赖:设R(U),X、Y、ZU, 若XY,ZX,而ZY则Y完全函数依赖于X,记作XfY;部分函数依赖:设R(U),X、Y、ZU, 若 ZX,若XY, ZY则Y部分函数依赖于X,记作XpY;传递函数依赖:设R(U),X、Y、ZU, 若XY, YX,YZ则Z传递函数依赖于X,记作XtZ;范式与规范化范式:关系模式要满足一定的要求,满足不同程度要求的为不同的范式,满足最低要求的为范式,在此基础上进一步满足要求的为第二范式,以此类推。规范化:将一个低一级的范式转换成若干高一级范式的过程,称为规范化。定义几个范式:1NF:若R的每一个属性均为不可再分的数据项,则R1NF。2NF:若R1NF,且每一个非主属性完全函数依赖于键,则R2NF。3NF:若R2NF,且每个非主属性不传递函数依赖于键,则R3NFBCNF定义:若R1NF,且每一个决定因素均为候选键,则RBCNF。结论:所有非键属性都完全函数依赖于每个候选键。所有键属性都完全函数依赖于每个不包含它的候选键。没有任何属性敢完全函数依赖于非键的任何一组属性。若RBCNF,则R3NF,反之,未必尽然。6.3公理系统Amstrang公理系统自反律:若YXU,则XY成立。增广律:若XY成立,WU,XWYW。传递律:若XY成立,YZ,则XZ成立。:阿氏公理是正确的。:(1)合并规则:如果XY,XZ,则XYZ。 (2)伪传递规则:如果XY,YWZ,则XW Z。 (3)分解规则:如果XY,ZY,则XZ。四定义1XY成立称为F所逻辑蕴含。2F:由F逻辑蕴含的所有函数依赖称为F的闭包,记为F。3有效性和完备性阿氏公理的有效性是指由F出发根据阿氏公理推导出来的每个函数依赖一定在F中;完备性是指F中的每个函数依赖一定可以由F出发根据阿氏公理推导出来。X:设F为属性集U上的一组函数依赖,XU。XA|XA能由F根据阿氏公理导出,称为属性集合X关于函数依赖集F的闭包。5定义:设F和G是两个函数依赖集,若GF,则F和G等价。五、:XA1,A2,Ak成立,当且紧当XAi成立。六、:XY成立,当且仅当YXF。七:输入:X,F。输出:X。方法:X(1):=空集合;X(0):=X;B:=A|VWF,VX(0),AW;X(1):=BX(0);IF X(1)X(0) THEN X(0) := X(1);GOTO 2;ELSE X:=X(1) ENDIF。八:阿氏公理是有效的和完备的。九:G与F等价,当且仅当FG且GF。十:每一个函数依赖集F都等价于一个极小函数依赖集。6.4模式分解规范化原则无损连接分解函数依赖的保持性分解::输入:关系模式R(A1,A2,An),R的函数依赖集F,R的分解 R1,R2,Rk 。输出:分解是否具有无损连接性。方法:建立矩阵S,列j对应属性Aj,行i对应Ri;FOR i=1 TO k DOSi,j:=bijENDFOR;ENDFOR;FOR i=1 TO k DOFOR j=1 TO n DOIF Ri 包含属性Aj THEN Si,j:=ajENDFOR;ENDFOR;(4)DO UNTIL S 无改变FOR 每个XYF DO FOR S中所有在X对应的列上具有相同符号的行 DO按照下列规则修改Y所对应列的符号:1)FOR 每个具有“a”类符号的Y对应列DO把该列所有符号改为相同的“a”类符号;ENDFOR;2)FOR 每个不具有“a” 类符号的Y对应列DO在该列上选择一个“b”类符号;把该列的其他位置变为选中的“b”类符号;ENDFOR;ENDFOR;ENDFOR;ENDUNTIL;四定理:R1,R2是无损的,当且仅当U1U2U1U2F;或U1U2U2U1F。索引方法Hash方法Address=Hash(key);DD的内容: 与关系模式有关的信息:关系名、属性名、属性数据类型、 键属性等。与试图描述有关的信息。与关系的存储结构存取方法有关的信息。与完整性有关的信息。与安全性有关的信息,即各类用户对数据库的操作权限。二、DD的作用:数据字典来存储数据库中数据对象的描述、信息和数据库管理系统需要的控制信息。10.1查询处理的过程TR表示关系R中的元组数。BR表示关系R的磁盘块数。M表示主存缓冲区的块数(每块的容量等于一个磁盘的容量)。IR表示关系R的每个元组的字节数。b是每个磁盘块的字节数。10.2选择操作的实现算法线性搜索算法二元或插值搜索算法主索引或Hash搜索算法使用主索引查找多个满足条件的元组使用聚集索引查找多个满足条件的元组B树索引搜索算法合取选择算法使用复合索引的合取选择算法使用元组指针交集的合取选择算法10.3笛卡儿积的实现算法下面是本章经常使用的参数:TR 表示关系R中的元组数BR 表示关系R的磁盘块数M 表示主存缓冲区的块数IR 表示关系R的每个元组的字节数b 表示每个磁盘块的字节数一、算法分类简单算法主存算法半主存算法大关系算法二、算法实现:简单算法: FOR R中每个元组r DO FOR S中每个元组s DO 产生元组(rs),存入结果关系; ENDFOR; ENDFOR。磁盘块数:BR + BRBS + BRS主存算法: 读入R和S FOR 主存中R的每个元组r DO FOR 主存中S每个元组s DO 产生元组(rs),存入结果关系; ENDFOR; ENDFOR。磁盘块数:BR + BS + BRS3 半主存算法: 读入S到SB WHILE R中仍有元组待处理 DO 读R的元组到RB; FOR RB中每个R的元组r DO FOR SB中每个S的元组s DO 产生元组(rs),存入结果关系; ENDFOR; ENDFOR; ENDWHILE。磁盘块数:BR + BS + BRS4 大关系算法:Fori=1TOBs/(M-1)DO读S的第i个子集合到SB;FORj=1TOBrDO读R的第j块到RB;FORRB中每个R元组rDOFORSB中每个S元组sDO产生元组(rs),存入结果关系;ENDFOR;ENDFOR;ENDFOR;ENDFOR;磁盘块数:BR + BS + BRS10.4连接操作的实现算法1 循环嵌套算法:磁盘块数:BR+ BRBS+U (U是连接结果的数据块数) 输入:关系R(A1AiAn)、 S (B1BjBm)、连接条件R. Ai=S. Bj, ( R. Ai表示R的属性Ai,S. Bj表示S的属性Bj)输出:R与S的连接T。方法: FOR 每个tR DO FOR 每个sS DO IF tAi=sBj THEN (ts)写入T;ENDIF; ENDFOR; ENDFOR。磁盘存取块数BRBRBSU 2、SortMerge连接算法实现算法:输入:关系R(A1,A2,Ai,An),S(B1,B2,Bj,Bm),连接条件R.Ai=S.Bj。输出:R与S的连接T。方法:按属性R.Ai值排序R;按属性S.Bj值排序S;扫描R和S一遍,形成TR(k)S(m)|R(k)Ai=S(m)Bj。磁盘块数:O(BR logM BR + BS logM BS +BR +BS +U)Hash连接算法第一阶段:扫描R和S,使用定义在连接属性上的Hash函数把R和S的元组分别构造成Hash文件HR和HS。第二阶段:对于HR和HS的每对对应Hash桶,考察其中R和S的元组在连接属性上的值,产生R和S的连接结果。输入:关系R(A1, ., Ai, ., An),S(B1, ., Bj, ., Bm), 连接条件R.AiS.Bj, HASH函数H(X), 值域为1,2,N。输出:R与S的连接T。方法: FOR 每个tR DO t写入HR的第H(tAi)个HASH桶; ENDFOR; FOR 每个sS DO s写入HS的第H(sBj)个HASH桶; ENDFOR; FOR L=1 TO N DO 连接HR和HS的第L个HASH桶,结果写入T; ENDFOR4、索引连接算法仍然考虑关系R(A1, ., Ai, ., An)和S(B1, ., Bj, ., Bm)的连接,R.Ai=S.Bj是连接条件。若S在属性Bj上具有聚集索引,索引文件名为IS: FOR R的每一个数据块BLOCK DO FOR BLOCK中的每个元组t DO 用tAi搜索IS, 找到所有与tAi匹配的索引值对应的S元组指针, 送到P中; FOR P中每个指针p所对应的S元组s DO (ts)写入连接结果T; ENDFOR; ENDFOR; ENDFOR10.5集合的并、交、差的实现算法1并操作输入:关系R和S,R具有n个元组,S具有m个元组,K是R和S的键。输出:TRS。方法:按照键K值排序R和S;i:=1;j:=1;WHIE(i=n) AND (j=m) DOIF R(i)kS(j)k THEN 写S(j)到T;j:=j+1;ELSE IF R(i)kS(j)k THEN 写R(i)到T;i:=i+1;ELSE写R(i)到T;i:=i+1; j:=j+1;ENDIF;ENDIF;ENDWHILE;IF i=n THEN FOR k=I TO n DO 写R(k)到T;ENDIF;IF j=m THEN FOR k=j TO m DO 写 S(k)到T;ENDIF。2.交操作输入:关系R和S,R具有n个元组,S具有m个元组,K是R和S的键。输出:TRS。方法:按照键K值排序R和S;i:=1;j:=1;WHIE(i=n) AND (jS(j)k THEN j:=j+1;ELSE IF R(i)kS(j)k THEN i:=i+1;ELSE写R(i)到T;i:=i+1; j:=j+1;ENDIF;ENDIF;ENDWHILE;3.差操作输入:关系R和S,R具有n个元组,S具有m个元组,K是R和S的键。输出:TRS。方法:按照键K值排序R和S;i:=1;j:=1;WHIE(i=n) AND (jS(j)k THEN j:=j+1;ELSE IF R(i)kS(j)k THEN 写R(i)到i:=i+1;ELSE i:=i+1; j:=j+1;ENDIF;ENDIF;ENDWHILE;IF i=m THEN FOR k=i TO n DO 写R(k)到T;ENDFOR。11.3启发式关系代数优化算法等价变换规则:选择串接律 ANDAND cn (E)其中,E是关系代数表达式,Ci 是选择条件。选择交换律。其中,E是关系代数式,Ci 是选择条件。投影串接律。其中,E是关系代数表达式,Li是投影属性集合,而且。选择投影交换律(1)。其中,E是关系代数表达式,L是投影属性集合,C是选择条件,C只涉及L中的属性。(2)如果C还涉及L以外的属性B1,B2, Bm,则。连接和笛卡儿积的交换律,。其中,E1 和E2 是关系代数表达式,C是连接条件。集合操作的交换律。其中,E1 和E2 是关系代数表达式。连接、笛卡儿积和集合操作的结合律(1)(2)(3)(4)其中,E1、E2和E3是关系代数表达式,C是连接条件。8选择、连接和笛卡儿积的分配律(1)。其中,C1是选择条件,C2是连接条件E1、E2是关系代数表达式,是仅涉及的属性。(2)。其中,C1是选择条件, C2是连接条件E1、E2是关系代数表达式,,是仅涉及的属性,是仅涉及的属性。(3)用代替上面两个等价式中的,就可以得到选择与笛卡儿积的分配律。9、投影、连接和笛卡儿积的分配律(1)其中,C是连接条件,E1 和E2 是关系代数表达式。是投影集合属性,L1是仅涉及的属性,L2是仅涉及的属性。(2)。其中,C是连接条件,E1 和E2 是关系代数表达

温馨提示

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

最新文档

评论

0/150

提交评论