• / 8
  • 下载费用:8 金币  

【可编辑】西安交大_数据库_练习卷答案.doc

关 键 词:
可编辑 编辑 西安 交大 数据库 练习 答案
资源描述:
复习题(一)1、设R是二元关系,请分别说明下列关系表达式的结果是什么?并将E1和E2转换为等价的关系代数表达式E1=参考答案:如果R只有1行,则结果为空;否则,结果为R本身。E2=参考答案:结果为R中第1分量和第2分量交换位置后仍然属于R的数据行。2、设有下列关系: R( A, B, C, D ) S( C, D, E) T( F, C, D) b b c d c d m e c d f a e f c d n c e f b b e f e f n f a d e d g e fd g c d(1) 试计算下列关系表达式的值:E1={t |(u)(v)(w)(R(u)∧S(v)∧T(w)∧u[3]>’c’∧v[2] ≠’d’∧w[3] ≠’f’∧u[4]=v[2]∧v[1]>w[2]∧t[1]=u[2]∧t[2]=u[3]∧t[3]=v[1]∧t[4]=w[3]∧t[5]=w[2])}参考答案:E1( B, R.C, S.C, T.D, T.C) a e e d c b e e d c g e e d cE2 =Õ A, B, R.C, R.D,E,F (sA < 'f'∧E<'n'∧F≠'c' (R⋈ S ⋈T))参考答案:E2(A, B, R.C, R.D, E, F) b b c d m e d g c d m eE3 = R÷Õ C,D(S)参考答案: E3(A B ) b b d g(2) 试将E1转换为等价的关系代数表达式参考答案: E1=Õ B, R.C, S.C,T.D, T.C(sC<’c'∧R.D≠'d'∧T.D≠'f'∧R.D=S.D∧S.C>T.C(RⅹSⅹT))(3) 试将E2转换为等价的关系元组演算表达式参考答案:E2={t|u)(v)(w)(R(u)∧S(v)∧T(w)∧u[1]<'f'∧v[3]<'n'∧w[1]≠'c'∧u[3]=v[1]∧u[4]=v[2]∧v[1]=w[2]∧v[2]=w[3]∧t[1]=u[1]∧t[2]=u[2]∧t[3]=u[3]∧t[4]=v[2]∧t[5]=v[3]∧t[6]=w[1])}(4) 对E2进行代数优化参考答案:3、设有下列关系:R( A, B, C, D) S( A, B, E) T( C, F, G) a2 b2 c2 d1 a1 b1 e2 c1 f1 g1 a3 b1 c2 d2 a1 b1 e3 c2 f2 g2 a3 b1 c3 d3 a1 b4 e2 c2 f3 g1 a3 b3 c1 d1 a2 b1 e2 a3 b4 c2 d2 a2 b2 e1 a3 b4 e3(1) 试计算下列关系表达式的值:E1={t|($u)($v)($w)(R(u)∧S(v)∧T(w)∧u[2]=’b1’∧v[1]>’a1’∧w[1]>’c1’∧u[1]>v[1] ∧u[2]=v[2]∧u[3]=w[1]∧t[1]=u[4]∧t[2]=v[3]∧t[3]=w[2])}参考答案:E1( D E F) d2 e2 f2 d2 e2 f3 E2=Õ R.B,R.C,S.A,F(sD>’d1’∧E=’e3’∧F>’f2’∧R.A=S.A∧R.B=S.B∧R.C=T.C(R×S×T))参考答案:E2( R.B R.C S.A F) b4 c2 a3 f3}E3=R÷S参考答案:E3(A,B)(2) 试将E1转换为等价的关系代数表达式参考答案:E1=Õ R.D,R.E,T.F(sB>’b1’∧S.A>’a1’∧T.C>’c1’∧R.A>S.A∧R.B=S.B(R×S×T))(2) 试将E2转换为等价的关系元组演算表达式参考答案:E2={t|($u)($v)($w)(R(u)∧S(v)∧T(w)∧u[4]>’d1’∧v[3]=’e3’∧w[2]>’f2’∧R.A=S.A∧R.B=S.B∧R.C=T.C∧t[1]=u[2]∧t[2]=u[3]∧t[3]=v[1]∧t[4]=w[2])}(4) 对E2进行代数优化4、设有下列关系:R( A, B, C) S( B, C, D, E) T( D, F, G) a1 b2 c1 b2 c2 d1 e1 d1 f1 g1 a1 b2 c2 b2 c2 d2 e1 d1 f2 g2 a2 b2 c1 b2 c1 d2 e2 d2 f1 g3 a2 b2 c2 b2 c1 d3 e3 d2 f3 g4 a2 b3 c1 b3 c4 d1 e1 d3 f1 g5 a3 b1 c2 d3 f2 g6 a3 b2 c4 a3 b3 c4(1) 试计算下列关系表达式的值:E1=ÕA,S.B,E,F(sA=’a2’∧E=’e1’∧G<’g4’(R⋈S⋈T))参考答案:E1( A , S.C, E, F) a2 c2 e1 f2a2 c2 e1 f1 E2={xyz|($quvw)∧(R(wqx)∧S(qxyu)∧T(yvz)∧w>’a2’∧u<’e2’∧v=’f1’)}参考答案:E2(C, D, G) c4 d1 g1(2) 试将E1转换为等价的关系元组演算表达式参考答案:E1={t|($u)( $v)( $w)(R(u) ∧S(v) ∧T(w) ∧u[2]=v[1] ∧u[3] =v[2]∧v[3]=w[1] ∧u[1]=’a2’ ∧v[4]=’e1’ ∧w[3]<’g4’ ∧t[1]=u[1]∧t[2]=v[2] ∧t[3]=v[3] ∧t[4]=w[2]}(3) 试将E2转换为等价的关系代数表达式参考答案:E2=ÕC,D,G(sA>’a2’∧E<’e1’∧G=’f1’ ∧R.B=S.B∧R.C=S.C∧S.D=T.D(R×S×T))E2=ÕC,D,G(sA>’a2’∧E<’e2’∧F=’f1’ (R⋈S⋈T))(4) 对E1进行代数优化5、以下定义的是某汽车修理厂管理系统数据库,其中加下划线的为关系模式主键,斜体字为外键。该修理厂雇用若干名修理工并划分为不同的班组,汽车维修以班组为单位进行,每个班组安排一名修理工作为组长负责分配给该组的汽车维修事宜。l 修理工(工号,姓名,年龄,参加工作时间,班组号)l 班组(班组号,人数,组长工号)l 汽车(车牌号,车主姓名,车型,联系电话)l 维修(维修记录编号,车牌号,班组号,维修时间,收费)试针对上述关系数据库写出如下SQL查询:(1)查询该修理厂划分的维修班组总数。(2)查询各维修班组的班组号及其组长姓名。(3)查询车牌号为“V0075”的汽车在“2011-01-01”至“2011-12-31”期间由修理工“E029”所在班组进行维修的费用总额。(4)将修理工“E010”所在分组编号调整为“T03”。参考答案:(1)SELECT COUNT(班组号)FROM 班组(2)SELECT 班组号,姓名 组长姓名 FROM 班组,修理工WHERE 组长工号=工号(3)SELECT SUM(收费)FROM 维修,班组,修理工WHERE 车牌号=’V0075’ AND维修时间>=’2011-01-01’ AND 维修时间<=’2011-12-31’ AND 工号=’E029’ AND 维修.班组号=班组.班组号AND班组.班组号=修理工.班组号(4)UPDATE 修理工SET 班组号=’T03’WHERE 工号=’E010’6、以下定义的是某手机话费充值卡管理系统数据库,其中加下划线的为关系模式主键,斜体字为外键。每张充值卡通过卡号及密码为手机号码充值,一张充值卡只能为一个手机号码充值且一次充值过程必须消费完卡上的所有金额。每个手机号码只属于一个机主,而每位机主可以拥有多个手机号码。l 充值卡(卡号,密码,面额,是否已售出)l 手机(手机号码,开户时间,开户地点,机主编号)l 充值(卡号,手机号码,充值时间)l 机主(机主编号,姓名,身份证号码,联系地址,联系方式)针对上述关系数据库写出如下SQL查询:(1)查询尚未售出(是否已售出属性取值为“否”)的充值卡张数。(2)查询“刘”姓手机机主的姓名及持有的手机号码。(3)查询开户地点为“西安交通大学”的所有手机号码在“2010-11-01”至“2010-11-30”期间的充值总额。(4)将卡号为“SX010323”的充值卡面额增加一百元。参考答案:(1)SELECT count(*)FROM 充值卡WHERE 是否已售出=’否’(2)SELECT 姓名,手机号码FROM 手机,机主WHERE 姓名 like ‘刘%’ and 手机.机主编号=机主.机主编号(3)SELECT sum(面额)FROM 充值卡,充值,手机WHERE 开户地点=’西安交通大学’ and 充值时间>’2010-11-01’ and充值时间<’2010-11-30’ and 充值卡.卡号=充值.卡号 and 手机.手记号码=充值.手机号码(4)UPDATE 充值卡SET 面额=面额+100WHERE 卡号=’SX010323’ 7、以下是某学生食堂就餐卡管理系统中的部分表,其中加下划线的属性为主键,斜体字属性为外键,每个学生只可办理一张就餐卡。l 学生(学号,姓名,性别,班级,出生年月,卡号)l 就餐卡(卡号,开户日期,失效日期,密码,余额,每日消费限额)l POS终端(POS编号,地理位置)l 消费(卡号,POS编号,消费日期,消费金额)l 充值(卡号,充值时间,金额)针对上述关系数据库写出如下SQL查询:(1)查询卡号为“053021”的就餐卡余额及每日消费限额。(2)查询编号为“018”的POS终端2010年12月的总收入。(3)查询“张蓓”同学2010年10月1日在编号为“029”的POS终端上的消费次数。(4)查询曾经在“西八食堂”(地理位置)就餐过的学生学号及姓名。(5)请为一名新入校同学增加其相关信息,学号:10054001,姓名:白杨,性别:女,班级:计算机01,出生日期:1992-11-08,该同学于2010-09-01办理的新就餐卡卡号为060567,失效日期:2014-08-31,默认密码:123456,每日消费限额:50元。参考答案: (1) SELECT 余额,每日消费限额FROM 就餐卡WHERE 卡号=’053021’(2)SELECT SUM(消费金额)FROM 消费WHERE POS编号=’029’ AND 消费日期>=’2012-12-01’ AND消费日期<=’2012-12-31’(3)SELECT COUNT(*)FROM 学生, 就餐卡,消费WHERE 学生.卡号=就餐卡.卡号 AND 姓名=’张蓓’ AND 消费日期=’2010-10-01’AND POS编号=’029’(4)SELECT 卡号FROM 消费WHERE消费日期>=’2008-10-01’ AND消费日期<=’2008-10-31’ GROUP BY 卡号HAVING SUM(消费金额)>=ALL (SELECT SUM(消费金额)FROM 消费WHERE消费日期>=’2008-10-01’ AND消费日期<=’2008-10-31’GROUP BY 卡号)(5)INSERT INTO 学生VALUES (‘08054001’, ‘白杨’, ‘女’, ‘计算机81’, ‘1990-11-08’, ‘020567’)INSERT INTO 就餐卡VALUES (‘020567’,’2008-09-01’, ‘2012-08-31’, ‘123456’, 0, 50)8、下面定义的是某网上书店的数据库,其中加下划线的是主键,斜体字的是外键l 图书(图书编号,书名,定价,库存册数,出版社)l 客户(客户编号,账号,口令,账户余额,客户类别,电话,送货地址)l 订单(订单编号,客户编号,下单时间,支付金额)l 订单明细(订单编号,图书编号,单价,定购册数)针对上述关系数据库写出如下SQL查询:(1)查询书名以“数据库系统”开头的所有图书编号及库存册数。(2)查询2010年01月22日所有订单支付金额的总额。(3)查询编号为“0323”的客户购买过的所有图书名称及各种图书的定购册数。(4)将科学出版社出版的《数据库系统教程》库存册数增加100册。参考答案:(1)SELECT 图书编号,库存册数FROM 图书WHERE 书名 LIKE ‘数据库系统%’(2)SELECT SUM(支付金额)FROM 订单WHERE 下单时间=’ 2010-01-22’(3)SELECT 书名,定购册数FROM 图书,订单,订单明细WHERE 图书.图书编号=订单明细.图书编号 AND 订单.订单编号=订单明细.订单编号 AND 客户编号=’0323’(4)UPDATE 图书SET 库存册数=库存册数+100WHERE 书名=’数据库系统教程’ AND 出版社=’科学出版社’9、设有关系模式 R(A, B, C, D, E, G) 函数依赖集F={BàE, DàG, AàB, EàA,DEàC} 及R的一个分解р={R1(D, G), R2(B, E), R3(C, D, E), R4(A, B)}(1) 试判断р是否无损联结?(构造M矩阵判断)(2) 试判断р是否保持函数依赖集F?并说明为什么?参考答案:(1)р的初始符号表:(A, B, C, D, E, G) R1 b11 b12 b13 a4 b15 a6R2 b21 a2 b23 b24 a5 b26R3 b31 b32 a3 a4 a5 b36R4 a1 a2 b43 b44 b45 b46р经过F变换后的终止符号表: (A, B, C, D, E, G) R1 b11 b12 b13 a4 b15 a6 R2 a1 a2 b23 b24 a5 b26 R3 a1 a2 a3 a4 a5 a6R4 a1 a2 b43 b44 a5 b46р是无损联结分解,因为р经过F变换后的终止符号表中出现了全’a’行10、设有关系模式R(A,B,C,D,E,G,H),F={CDàB,CDEàA,AàB,BàE,GàAEH,HàEG}(1)试求F的最小函数依赖集FMIN;(2)试求R的所有候选键;(3)试将R分解成3NF模式集,要求分解无损连接且保持函数依赖;参考答案:(1)Fmin ={CDàA,AàB,BàE,GàA,GàH,HàG} 或 {CDàA,AàB,BàE,HàA,GàH,HàG}(2)KEY1 = CDG KEY2 = CDH(3)R可分解为:{R1(C,D,A),R2(A,B),R3(B,E),R4(H,A),R5(G,H),R6(C,D,G)} 或 {R1(C,D,A),R2(A,B),R3(B,E),R4(H,A),R5(G,H),R6(C,D,H)} 或 {R1(C,D,A),R2(A,B),R3(B,E),R4(G,A),R5(G,H),R6(C,D,H)} 或 {R1(C,D,A),R2(A,B),R3(B,E),R4(G,A),R5(G,H),R6(C,D,G)}11、判断下列关系模式最高属于第几范式,并解释原因R1(ABCDE),F= F={EàD,DàA,AàE,BàA}R2(EXGH),F ={ E→H, E→G, GHX→E }R3(XYZ),F ={ X→Y, Y→Z, Z→X }R4(ABCD),F ={ A→B, CD→A }R5(XYZ), F={X→→Y|Z}参考答案:R1的候选键是{BC},最高属于1NF。R2的候选键是{GHX,EX},最高属于3NFR3的候选键是{X,Y,Z},最高属于BCNFR4的候选键是{CD},最高属于2NF R5的候选键是{XYZ},最高属于BCNF12、下面是用ORDB的定义语言定义的数据库:CREATE TYPE MyString char varying;CREATE TABLE university(uname MyString, city MyString, president ref(faculty), staff setof(ref(faculty)), edit setof(ref(coursetext)));CREATE TABLE faculty(fno integer, fname MyString, age integer, salary integer, works_for ref(university), teach setof(ref(coursetext)));CREATE TABLE coursetext(cname MyString, textname MyString, teacher ref(faculty), editor ref(university));(1)试画出上述数据库的对象联系图参考答案:(2)试用ORDB的查询语言写出下列查询:(i) 检索采用“Mathematical Analysis"教材讲授”MATHS”课的教师工号和姓名。参考答案:SELECT F.fno,F.fname FROM faculty as FWHERE F.teach IN (‘MATHS’,’Mathematical Analysis’) ;(ii) 检索西安地区各大学超过年龄50岁的教师姓名参考答案:Select B.fnameFrom university as A, A.staff as BWhere A.city = ‘xian’ And B.age > 50(iii) 检索西安交大每位老师上课所用教材及其编写学校参考答案:Select B.fname, C.textname, C.editor.unameFrom university as A, A.staff as B, B.teach as CWhere A.uname =‘西安交大’
展开阅读全文
  语墨文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:【可编辑】西安交大_数据库_练习卷答案.doc
链接地址:http://www.wenku38.com/p-82187.html

                                            站长QQ:1002732220      手机号:18710392703    


                                                          copyright@ 2008-2020 语墨网站版权所有

                                                             经营许可证编号:蜀ICP备18034126号

网站客服微信
收起
展开