欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPTX文档下载  

    数据库系统课后习题ppt课件.pptx

    • 资源ID:1921808       资源大小:1.44MB        全文页数:77页
    • 资源格式: PPTX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库系统课后习题ppt课件.pptx

    数据库系统课后习题,山东科技大学 信息学院 数据库教学团队崔宾阁副教授,http:/ 访问密码 4be4,1,t课件,供应商表:S(SNO, SNAME, STATUS, CITY);零件表:P(PNO, PNAME, COLOR, WEIGHT);工程项目表:J(JNO, JNAME, CITY);供应情况表:SPJ(SNO, PNO, JNO, QTY);,关系模式定义,2,t课件,(1)求供应工程J1零件的供应商号码SNO;(2)求供应工程J1零件P1的供应商号码SNO;(3)求供应工程J1零件为红色的供应商号码SNO;(4)求没有使用天津供应商生产的红色零件的工程号JNO;(5)求至少用了供应商S1所供应的全部零件的工程号JNO。,第二章习题6使用关系代数和ALPHA语言完成查询:,3,t课件,(1)求供应工程J1零件的供应商号码SNO;关系代数:ALPHA:GET W (SPJ.SNO): SPJ.JNO = J1(2)求供应工程J1零件P1的供应商号码SNO;关系代数:ALPHA:GET W (SPJ.SNO): SPJ.JNO = J1 SPJ.PNO=P1(3)求供应工程J1零件为红色的供应商号码SNO;关系代数:ALPHA:RANGE P PX GET W (SPJ.SNO): SPJ.JNO = J1 PX(PX.PNO=SPJ.PNO PX.COLOR=红),第二章习题6,4,t课件,(4)求没有使用天津供应商生产的红色零件的工程号JNO;关系代数:ALPHA语言:RANGE S SXRANGE P PXRANGE SPJ SPJXGET W (J.JNO): SPJX( SPJX.JNO=J.JNO SX(SX.SNO=SPJX.SNO SX.CITY=天津) PX(PX.PNO=SPJX.PNO PX.COLOR=红) ),第二章习题6,5,t课件,(5)求至少用了供应商S1所供应的全部零件的工程号JNO。关系代数:ALPHA语言:RANGE SPJ SPJXRANGE SPJ SPJYRANGE P PXGET W (J.JNO): PX( SPJX(SPJX.SNO=S1 SPJX.PNO=PX.PNO) SPJY(SPJY.JNO=J.JNO SPJY.PNO=PX.PNO) ),第二章习题6,6,t课件,有两个关系S(A,B,C,D)和T(C,D,E,F),写出与下列查询等价的SQL表达式:(1) =10 ;SELECT * FROM S WHERE A=10(2) , ;SELECT A,B FROM S(3)SELECT A,B,S.C,S.D,E,FFROM S,TWHERE S.C=T.C AND S.D=T.D,第三章 习题3,7,t课件,(4)SELECT S.*,T.*FROM S,TWHERE S.C=T.C(5)SELECT S.*,T.*FROM S,TWHERE AE(6)SELECT S.C,S.D,T.*FROM S,T,第三章 习题3,8,t课件,(1)求供应工程J1零件的供应商号码SNO;(2)求供应工程J1零件P1的供应商号码SNO;(3)求供应工程J1零件为红色的供应商号码SNO;(4)求没有使用天津供应商生产的红色零件的工程号JNO;(5)求至少用了供应商S1所供应的全部零件的工程号JNO。,第三章习题4使用SQL语句建立4个表,并完成查询:,9,t课件,创建供应商表S:CREATE TABLE S (SNO CHAR(2) PRIMARY KEY,SNAME VARCHAR(10),STATUS CHAR(2),CITY VARCHAR(10) );创建零件表P:CREATE TABLE P (PNO CHAR(2) PRIMARY KEY,PNAME VARCHAR(10),COLOR CHAR(2),WEIGHT INT );,创建表,10,t课件,创建工程项目表J:CREATE TABLE J (JNO CHAR(2) PRIMARY KEY,JNAME VARCHAR(10),CITY VARCHAR(10);,创建表,11,t课件,创建供应情况表SPJ:CREATE TABLE SPJ(SNO CHAR(2),PNO CHAR(2),JNO CHAR(2),QTY INT,PRIMARY KEY (SNO, PNO, JNO),FOREIGN KEY (SNO) REFERENCES S(SNO),FOREIGN KEY (PNO) REFERENCES P(PNO),FOREIGN KEY (JNO) REFERENCES J(JNO);,创建表,12,t课件,(1)求供应工程J1零件的供应商号码SNO;SELECT SNOFROM SWHERE JNO = J1(2)求供应工程J1零件P1的供应商号码SNO;SELECT SNOFROM SWHERE JNO = J1 AND PNO = P1第(3)-(5)题的答案参照“SQL难题解疑”。,第三章习题4,13,t课件,(1)查询所有供应商的姓名和所在城市;SELECT SNAME, CITYFROM S(2)查询所有零件的名称、颜色和重量;SELECT PNAME, COLOR, WEIGHTFROM P(3)查询使用供应商S1所供应零件的工程号码;SELECT JNOFROM SPJWHERE SNO=S1,第三章习题5,14,t课件,(4)查询工程项目J2使用的零件的名称及其数量;SELECT PNAME, QTYFROM SPJ, PWHERE SPJ.PNO=P.PNO AND SPJ.JNO=J2(5)找出上海厂商供应的所有零件号码;SELECT DISTINCT PNOFROM SPJ, SWHERE SPJ.SNO=S.SNO AND S.CITY=上海,第三章习题5,15,t课件,(6)找出使用上海产的零件的工程名称;SELECT DISTINCT JNAMEFROM SPJ, S, JWHERE SPJ.SNO=S.SNO AND SPJ.JNO=J.JNO AND S.CITY=上海(7)找出没有使用天津产的零件的工程号码;SELECT JNOFROM JWHERE JNO NOT IN (SELECT JNOFROM SPJ, SWHERE SPJ.SNO = S.SNO AND S.CITY = 天津 ),第三章习题5,16,t课件,(8)把全部红色零件的颜色改成蓝色;UPDATE PSET COLOR=蓝WHERE COLOR=红(9)将供应商S5供给工程J4的零件P6改成由供应商S3供应,请做必要的修改;UPDATE SPJSET SNO=S3WHERE SNO=S5 AND JNO=J4 AND PNO=P6,第三章习题5,17,t课件,(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;DELETE FROM SPJ WHERE SNO=S2;DELETE FROM S WHERE SNO=S2;(11)将(S2, J6, P4, 200)插入SPJ表中。INSERTINTO SPJ(SNO,JNO,PNO,QTY)VALUES(S2,J6,P4,200);,第三章习题5,18,t课件,请为“三建”工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。CREATE VIEW SANJIAN_SPJ(SNO,PNO,QTY)ASSELECT SNO,PNO,QTYFROM SPJ, JWHERE SPJ.JNO=J.JNO AND J.JNAME=三建,第三章 习题9,19,t课件,针对该视图完成下列查询:(1)找出“三建”工程项目使用的各种零件代码及其数量;SELECT PNO, QTY FROM SANJIAN_SPJ;SELECT PNO, SUM(QTY) AS QTY FROM SANJIAN_SPJ GROUP BY PNO;(2)找出供应商S1的供应情况。SELECT *FROM SANJIAN_SPJWHERE SNO=S1,第三章 习题9,20,t课件,(1)授予用户U1对两个表的所有权限,并可给其他用户授权。GRANT ALL PRIVILEGESON TABLE 学生, 班级TO U1WITH GRANT OPTION(2)授予用户U2对学生表具有查询权限,对家庭住址具有更新权限。GRANT SELECT, UPDATE(家庭住址)ON TABLE 学生TO U2,第四章习题6,21,t课件,(3)将对班级表的查询权限授予所有用户。GRANT SELECTON TABLE 班级TO PUBLIC(4)将对学生表的查询、更新权限授予角色R1。GRANT SELECT, UPDATEON TABLE 学生TO R1(5)将角色R1授予用户U1,U1可继续授权给其他用户。GRANT R1TO U1WITH ADMIN OPTION,第四章习题6,22,t课件,(1)用户王明对两个表有SELECT权限。GRANT SELECTON TABLE 部门, 职工TO 王明(2)用户李勇对两个表有INSERT和DELETE权限。GRANT INSERT, DELETEON TABLE 部门, 职工TO 李勇(3)每个职工只对自己的记录有SELECT权限。无答案,仅仅使用GRANT语句无法做到,第四章习题7,23,t课件,(4)用户刘星对职工表有SELECT权限,对工资字段有更新权限。GRANT SELECT, UPDATE(工资)ON TABLE 职工TO 刘星(5)用户张新具有修改这两个表的结构的权限。GRANT ALTERON TABLE 职工, 部门TO 张新,第四章习题7,24,t课件,(6)用户周平具有对这两个表的所有权限(读、插、改、删数据),并具有给其他用户授权的权限;GRANT SELECT, INSERT, UPDATE, DELETEON TABLE 职工, 部门TO 周平WITH GRANT OPTION,第四章习题7,25,t课件,(7)用户杨兰具有查询每个部门职工的最高工资、最低工资、平均工资的权限,他不能查看每个人的工资;CREATE VIEW 部门工资统计(部门号, 部门名, 最高工资, 最低工资, 平均工资)ASSELECT 部门.部门号, 部门名, MAX(工资), MIN(工资), AVG(工资)FROM 部门, 职工WHERE 部门.部门号 = 职工.部门号GROUP BY 部门.部门号, 部门名GRANT SELECTON 部门工资统计TO 杨兰,第四章习题7,26,t课件,假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,部门名,经理名,电话),部门号为主码。用SQL语言定义这两个关系模式,要求:1)定义每个关系模式的主码;2)定义参照完整性约束;3)定义职工年龄不得超过60岁。,第五章 习题6,27,t课件,CREATE TABLE 部门(部门号 CHAR(4) PRIMARY KEY,部门名 VARCHAR(40),经理名 VARCHAR(10),电话 VARCHAR(11);CREATE TABLE 职工(职工号 CHAR(10) PRIMARY KEY,姓名 VARCHAR(10),年龄 INT CHECK(年龄 = 60),职务 VARCHAR(10),工资 FLOAT,部门号 CHAR(4),FOREIGN KEY (部门号) REFERENCES 部门(部门号);,第五章 习题6,28,t课件,某单位想举行一个小型的联谊会,关系Male记录注册的男宾信息,关系Female记录注册的女宾信息。建立一个断言,将来宾的人数限制在50人以内。CREATE ASSERTION 人数限制CHECK (50=SELECT COUNT(*)FROM (SELECT * FROM MaleUNIONSELECT * FROM Female)AS Guest );,第五章 习题8,29,t课件,学生(学号,姓名,出生年月,系名,班号,宿舍区)班级(班号,专业名,系名,人数,入校年份)系(系名,洗好,系办公室地点,人数)学会(学会名,成立年份,地点,人数)函数依赖:学号姓名,学号出生年月,学号系名,学号班号,学号宿舍区。班号专业名,班号系名,班号人数,班号入校年份。系名系号,系号系名,系名办公地点,系名人数。学会名成立年份,学会名地点,学会名人数。专业名系名,(专业名,入校年份)班号,系名宿舍区,(学号,学会名)入会年份,第六章 习题2,30,t课件,学生关系模式的极小函数依赖集为:学号姓名,学号出生年月,学号班号,班号系名,系名宿舍区。 学号班号,班号系名, 存在学号系名的传递函数依赖。 学号系名,系名宿舍区, 存在学号宿舍区的传递函数依赖。 班号系名,系名宿舍区, 存在班号宿舍区的传递函数依赖。候选码:学号,外部码:班号,系名。,极小函数依赖集及关系的码,31,t课件,班级关系模式的极小函数依赖集为:班号专业名,班号系名,班号人数,班号入校年份,专业名系名,(专业名,入校年份)班号。 班号专业名,专业名系名, 存在班号系名的传递函数依赖。候选码:班号,(专业名,入校年份),外部码:系名。,极小函数依赖集及关系的码,32,t课件,系关系模式的极小函数依赖集为:系名系号,系号系名,系名办公地点,系名人数。不存在传递函数依赖。候选码:系名,系号,无外部码。学会关系模式的极小函数依赖集为:学会名成立年份,学会名地点,学会名人数。不存在传递函数依赖。候选码:学会名,无外部码。,极小函数依赖集及关系的码,33,t课件,试由ArmStrong公理系统推导出下面三条推理规则:(1)合并规则:若X Y,X Z,则有X YZ;设R的任一关系r中任意的两个元组t、s:若tX = sX,由X Y,可得tY = sY;由X Z,可得tZ = sZ;因为tY = sY,tZ = sZ,所以tYZ = sYZ。所以X YZ成立,合并规则得证。,第六章 习题3,34,t课件,(2)伪传递规则:若X Y,WYZ,则有XWZ;设R的任一关系r中任意的两个元组t、s:若tXW = sXW,则有tX = sX,tW = sW; 由X Y,可得tY = sY;因为tW = sW,tY=sY ,所以tWY=sWY。由WYZ,可得tZ = sZ;所以XWZ成立,伪传递规则得证。,第六章 习题3,35,t课件,(3)分解规则:XY,Z Y,有XZ。设R的任一关系r中任意的两个元组t、s:若tX = sX,由X Y,可得tY = sY;由Z Y,可得tZ = sZ;所以XZ成立,分解规则得证。,第六章 习题3,36,t课件,假设有关系模式R(A, B, C, D, E),回答下面问题:(1)若A是R的候选码,具有函数依赖BCDE,那么在什么条件下R是BCNF? 当属性组BC也是关系模式R的候选码时,R是BCNF。此时有:A BC,BC A成立。(2)如果存在函数依赖A B,BC D,DE A,列出R的所有码。 R的候选码包括:ACE,BCE,CDE。(3)如果(2)中的函数依赖成立,R属于3NF还是BCNF? 因为不存在传递函数依赖,所以R属于3NF。因为每个函数依赖的决定因素都不包含码,所以R不属于BCNF。,第六章 习题6,37,t课件,(1)任何一个二目关系是属于3NF的。(2)任何一个二目关系是属于BCNF的。(3)任何一个二目关系是属于4NF的。(4)当且仅当函数依赖AB在R上成立,关系R(A, B, C)等于其投影R1(A, B)和R2(A, C)的连接。X(5)若R.AR.B, R.BR.C,则R.AR.C 。(6)若R.AR.B, R.AR.C,则R.AR.(B, C) 。(7)若R.BR.A, R.CR.A,则R.(B, C)R.A。(8)若R.(B, C)R.A,则R.BR.A, R.CR.A。X,第六章 习题7,判错,38,t课件,(1)如果R是BCNF关系模式,则R是3NF关系模式,反之则不然。 证明RBCNF,则R3NF(反证法)假设RBCNF,但R3NF。根据3NF的定义,可以得出:R中存在码X,属性组Y和非主属性Z,YX,ZY,使得XY,YZ成立。 YX, Y不是R的候选码。(R的任一候选码都能够完全函数确定R的每个属性) R中存在函数依赖YZ,ZY,而Y不包含码, RBCNF,与已知RBCNF矛盾,故假设不成立,R3NF。,第六章 习题8,证明,39,t课件, 证明R3NF,但R不一定属于BCNF。如果R中存在主属性对码的部分函数依赖或传递函数依赖,则R3NF, 但RBCNF。举例:教材185页中例6.8,在关系模式STJ(S, T, J)中,(S, J) T, (S, T) J, T J。 (S, J)F+ = S, J, T, (S, J)是STJ的候选码; (S, T)F+ = S, T, J, (S, T)是STJ的候选码; S、T、J都是STJ的主属性。 T J, STJ中存在部分函数依赖(S, T) J。然而, J是主属性, STJ仍然属于2NF; STJ中不存在传递函数依赖, STJ3NF。但是函数依赖T J中的决定因素T不包含码, STJ BCNF。,第六章 习题8,证明,40,t课件,(2)如果R是3NF关系模式,则R一定是2NF关系模式。证明:反证法。假设R3NF,但R2NF。根据2NF的定义,可以得出:R中存在非主属性Z部分函数依赖于候选码X,即根据部分函数依赖的定义,R中存在X的真子集X X,使得X Z成立。 R中存在码X,属性组X及非主属性Z, X X,ZX ,使得XX , XZ成立, R3NF,与已知R3NF矛盾,故假设不成立,R2NF。,第六章 习题8,证明,41,t课件,已知关系模式R中,U = A, B, C, D, E, G,F=ABC, CA, BCD, ACDB, DEG, BEC, CGBD, CEAG,求属性组BD关于函数依赖集F的闭包(BD)F+,并判断BDAC是否属于F+。 令X(0)=AB; 计算X(1):逐一扫描F集合中的各个函数依赖,找左部为A、B或AB的函数依赖,得到一个:ABC。于是X(1)=ABC=ABC。 因为X(0) X(1),再找出左部为ABC子集的那些函数依赖,得到:CA, BCD。于是X(2)=ABCAD=ABCD。 因为X(1) X(2),再找出左部为ABCD子集的那些函数依赖,得到: ACDB, DEG。于是X(3)=ABCDBEG=ABCDEG。 因为X(3)已等于全部属性集合U,所以(BD)F+ =ABCDEG。 AC (BD)F+, BDAC属于F+。,第六章 附加题1,42,t课件,已知关系模式R中,U=A, B, C, D, E, F=ABC, DE, CD,R的第一个分解为:R1(A, B, C),R2(C, D, E),第二个分解为:R1(A, B),R2(A, C, D, E)。判断这两个分解是否具有无损连接性。针对第一个分解,构造初始表,如下图所示。使用ABC:因为两个元组第一列的分量不相同,所以表不改变。使用DE :因为两个元组第四列的分量不相同,所以表不改变。由CD,可以把b14改成a4。再次使用DE :可以把b15改成a5。表中第一行已经全部变成a,所以此分解具有无损连接性。,第六章 附加题2,a4,a5,43,t课件,已知关系模式R中,U=A, B, C, D, E, F=ABC, DE, CD,R的第一个分解为:R1(A, B, C),R2(C, D, E),第二个分解为:R1(A, B),R2(A, C, D, E)。判断这两个分解是否具有无损连接性。针对第二个分解,构造初始表,如下图所示。由ABC,可以把b22改成a2,把b13改成a3。表中第二行已经全部变成a,所以此分解具有无损连接性。,第六章 附加题2,a2,a3,44,t课件,系,包含,班级,包含,学生,包含,教研室,包含,教员,选修,课程,指导,学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可以由若干学生选修。请用E-R图画出此学校的概念模型。,第七章 习题7,1,1,1,1,n,n,n,n,n,n,m,1,45,t课件,教员,学生,选修,课程,n,m,教授,副教授,研究生,本科生,指导,指导,系,包含,班级,包含,教研室,1,1,n,n,包含,包含,1,n,1,n,扩展的E-R图,1,1,n,n,46,t课件,产品,组成,零件,存放,仓库,制成,原材料,某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按照所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂产品、零件、材料、仓库的概念模型。,第七章 习题8,m,n,n,m,存放,m,n,m,1,47,t课件,试把习题7和习题8中的E-R图转换为关系模型。习题7:关系模式系(系号,系名,);班级(班号,班名,系号,);教研室(教研室号,教研室名,系号,);教员(教员号,教员名,职称,教研室号,);研究生(研究生号,研究生名,教员号,);学生(学号,姓名,班号,);课程(课程号,课程名,先修课,学分);选修(学号,课程号,成绩);实体的主码用下划线标出,实体的外码用深红色字体标出。,第七章 习题10,48,t课件,试把习题7和习题8中的E-R图转换为关系模型。习题8:关系模式产品(产品号,产品名,);零件(零件号,零件名,);组成(产品号,零件号,数量);原材料(材料号,材料名,仓库号);制成(零件号,材料号,数量);仓库(仓库号,仓库名,);零件存放(零件号,仓库号,数量);实体的主码用下划线标出,实体的外码用深红色字体标出。,第七章 习题10,49,t课件,使用嵌入式SQL对学生-课程数据库中的表完成下述功能:(1)查询某一门课程的信息。要查询的课程由用户在程序运行过程中指定,放在主变量中。(2)查询选修某一门课程的选课信息,要查询的课程号由用户在程序运行过程中指定,放在主变量中,然后根据用户的要求修改其中某些记录的成绩字段。答案参照“嵌入式SQL.c”文件。,第八章 习题1,50,t课件,对学生课程数据库编写存储过程,完成下述功能:(1)统计离散数学的成绩分布情况,即按照各分数段统计人数。CREATE PROCEDURE GradeStatistics(outA INT, outB INT, outC INT, outD INT, outE INT)BEGINSELECT COUNT(*)INTO outAFROM SC, CourseWHERE SC.Cno=Course.Cno AND Cname=离散数学 AND Grade=90 AND Grade=100END,第八章 习题2,完整代码参照GradeStatistics.sql,51,t课件,(2)统计任意一门课的平均成绩。CREATE PROCEDURE AvgGrade(inCno CHAR(4), outAvgGrade FLOAT)BEGINSELECT AVG(Grade)INTO outAvgGradeFROM SCWHERE Cno=inCno;END,第八章 习题2,52,t课件,(3)将学生选课成绩从百分制改为等级制(即A、B、C、D、E)。说明:因为成绩属性的数据类型是整型,所以没有办法直接改成字符型的值。按照题目的语义,给出参考答案如下:CREATE PROCEDURE ChangeGrade()BEGINUPDATE SC SET Grade = AWHERE Grade=90 AND Grade=100END,第八章 习题2,完整代码参照ChangeGrade.sql,53,t课件,假设关系R(A, B)和S(B, C, D)的数据分布情况如下:R有20 000个元组,S有1200个元组,一个块能装40个R的元组,能装30个S的元组,估算下列操作需要多少次磁盘块读写。(1)R上没有索引,SELECT *FROM R;500块(2)R中A为主码,A有3层B+树索引,SELECT * FROM R WHERE A = 10;3+1=4块(3)嵌套循环连接 ;因为不知道内存缓冲区的块数K和存放连接结果的块因子Mrs,所以此题无解。,第九章 习题2,54,t课件,(4)排序合并连接 ,区分R和S在B属性上已经有序和无序两种情况。假设存放连接结果的块因子Mrs=20,即一个块能装20个连接后的元组。如果R和S在B属性上已经有序,则需要读写20000/40+1200/30+20000/20=1540块。如果R和S在B属性上无序,则需要加上排序的代价:2*540+(2*540* log 2 540 )=10882块。,第九章 习题2,55,t课件,对学生课程数据库,查询信息系学生选修了的所有课程名称。SELECT CnameFROM Student, Course, SCWHERE Student.Sno = SC.Sno AND SC.Cno = Course.Cno AND Student.Sdept = IS试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。,第九章 习题3,56,t课件,关系代数语法树优化选择与选择的交换选择与笛卡尔积的交换选择与选择的交换选择与笛卡尔积的交换,57,t课件,关系代数语法树优化投影与选择操作的交换投影与笛卡尔积的分配投影与选择操作的交换投影与笛卡尔积的分配选择与笛卡尔积的组合,58,t课件,优化后的关系代数语法树,59,t课件,说明下列查询语句的一种较优的处理方法(1)SELECT * FROM Teacher WHERE Tsex=女最优策略:全表扫描(2)SELECT * FROM Department WHERE Dno2000最优策略:全表扫描(4)SELECT * FROM Work WHERE Year 2000 AND Salary 5000最优策略:利用Year属性上的B+树索引(5)SELECT * FROM Work WHERE Year 2000 AND Salary 5000最优策略:全表扫描,第九章 习题4,60,t课件,对于下面的数据库模式:Teacher(Tno, Tname, Tage, Tsex),Department(Dno, Dname, Tno),Work(Tno, Dno, Year, Salary),有如下查询:SELECT TnameFROM Teacher, Department, WorkWHERE Teacher.Tno = Work.Tno AND Department.Dno = Work.Dno AND Department.Dname= 计算机系 AND Salary 5000 画出查询语法树及用关系代数表示的语法树,并对关系代数语法树进行优化,画出优化后的语法树。,第九章 习题5,61,t课件,查询语法树,62,t课件,初始的关系代数语法树,63,t课件,优化后的关系代数语法树,64,t课件,考虑下图所示的日志记录:,第十章 习题4,65,t课件,(1)如果系统故障发生在14之后,说明那些事务需要重做,那些事务需要回滚。T1和T3需要重做,T4需要回滚;(2)如果系统故障发生在10之后呢?T1需要重做,T3需要回滚;(3)如果系统故障发生在9之后呢?T1需要重做,T2和T3需要回滚;(4)如果系统故障发生在7之后呢?T1需要重做,T2需要回滚。,第十章 习题4,66,t课件,假设开始时A、B、C的值都是0;(1)如果系统故障发生在14之后,写出系统恢复后A、B、C的值。A = 8,B = 7,C = 11;(2)如果系统故障发生在12之后呢?A = 10,B = 0,C = 11;(3)如果系统故障发生在10之后呢?A = 10,B = 0,C = 11;,第十章 习题5,67,t课件,(4)如果系统故障发生在9之后呢?A = 10,B = 0,C = 11;(5)如果系统故障发生在7之后呢?A = 10,B = 0,C = 11;(6)如果系统故障发生在5之后呢?A = 0,B = 0,C = 0。,第十章 习题5,68,t课件,设T1、T2和T3是如下的三个事务,设A的初值为0。T1:A:=A+2;T2:A:=A*2;T3:A:=A*2;(即AA2)(1)若这三个事务允许并发执行,则有多少种可能的正确结果?请一一列举出来。答:可能的正确结果有:2、4、8、16。因为串行执行次序有:T1T2T3、T1T3T2、T2T1T3、T2T3T1、T3T1T2、T3T2T1,对应的执行结果是:16、8、4、2、4、2。,第十一章 习题9,69,t课件,T1SLock AY=A=0Unlock AXLock AA=Y+2写回A(=2)Unlock A,T2SLock A等待等待等待Y=A=2Unlock AXLock AA=Y*2写回A(=4)Unlock A,T3SLock A等待等待等待Y=A=4Unlock AXLock AA=Y*2写回A(=16)Unlock A,最后结果:A=16,2请给出一个可串行化的调度,70,t课件,3请给出一个非串行化的调度,T1SLock AY=A=0Unlock AXLock A等待A=Y+2写回A(=2)Unlock A,T2SLock AY=A=0Unlock AXLock A等待等待等待A=Y*2写回A(=0)Unlock A,T3SLock A等待Y=A=2Unlock AXLock AA=Y*2写回A(=4)Unlock A,最后结果:A=0,71,t课件,(4)若这3个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度。,T1SLock AY=A=0XLock AA=Y+2写回A(=2)Unlock A,T2SLock A等待等待Y=A=2XLock AA=Y*2写回A(=4)Unlock A,T3SLock A等待等待等待Y=A=4XLock AA=Y*2写回A(=16)Unlock A,最后结果:A=16,72,t课件,(5)若这3个事务都遵守两段锁协议,请给出一个会产生死锁的调度。,T1SLock AY=A=0XLock A等待,T2SLock AY=A=0XLock A等待,T3SLock AY=A=0XLock A等待,73,t课件,今有三个事务的一个调度:r3(B)r1(A)w3(B)r2(B)r2(A)w2(B)r1(B)w1(A),该调度是冲突可串行化的调度吗?为什么?该调度是冲突可串行化的调度。证明如下:(1)交换r1(A)和其后若干操作的顺序,得到:r3(B)w3(B)r2(B)r2(A)w2(B)r1(B)r1(A)w1(A);(2)三个事务执行顺序变为:T3T2T1,这是一个串行调度,因此原调度是冲突可串行化调度。,第十一章 习题10,74,t课件,考虑如下的调度,说明这些调度之间的包含关系。(1)正确的调度;(2)可串行化的调度;(3)遵守两阶段封锁(2PL)的调度;(4)串行调度。包含关系如下:串行调度 遵守两阶段封锁的调度 可串行化的调度 正确的调度。,第十一章 习题13,75,t课件,考虑T1和T2两个事务:T1:R(A);R(B);B=A+B;W(B)T2:R(B);R(A);A=A+B;W(A)(1)改写T1和T2,增加加锁操作和解锁操作,并要求遵守两阶段封锁协议。T1:Slock A; R(A); Slock B; R(B); B=A+B; Xlock B; W(B); Unlock A; Unlock B;T2:Slock B; R(B); Slock A; R(A); A=A+B; Xlock A; W(A); Unlock B; Unlock A。,第十一章 习题14,76,t课件,(2)说明T1和T2的执行是否会引起死锁,给出T1和T2的一个调度并说明之。会的,示例如下:,T1SLock AR(A)Slock BR(B)B=A+BXLock B等待等待,T2SLock BR(B)Slock AR(A)A=A+BXLock A等待,77,t课件,

    注意事项

    本文(数据库系统课后习题ppt课件.pptx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开