西安交大-数据库-练习卷的答案
.wd.复习题一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 ed g e fd g c d(1) 试计算以下关系表达式的值:E1=t |(u)(v)(w)(R(u)S(v)T(w)u3>cv2dw3fu4=v2v1>w2t1=u2t2=u3t3=v1t4=w3t5=w2)参考答案: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,DS参考答案: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.DS.C>T.C(RST)(3) 试将E2转换为等价的关系元组演算表达式参考答案:E2=t|u)(v)(w)(R(u)S(v)T(w)u1<'f'v3<'n'w1'c'u3=v1u4=v2v1=w2v2=w3t1=u1t2=u2t3=u3t4=v2t5=v3t6=w1)(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 e2a3 b4 c2 d2 a2 b2 e1 a3 b4 e3(1) 试计算以下关系表达式的值:E1=t|($u)($v)($w)(R(u)S(v)T(w)u2=b1v1>a1w1>c1u1>v1u2=v2u3=w1t1=u4t2=v3t3=w2)参考答案:E1(D EF)d2e2f2 d2 e2 f3 E2=Õ R.B,R.C,S.A,F(sD>d1E=e3F>f2R.A=S.AR.B=S.BR.C=T.C(R×S×T)参考答案:E2( R.B R.CS.A F)b4c2 a3 f3E3=R÷S参考答案:E3(A,B)(2) 试将E1转换为等价的关系代数表达式参考答案:E1=Õ R.D,R.E,T.F(sB>b1S.A>a1T.C>c1R.A>S.AR.B=S.B(R×S×T)(2) 试将E2转换为等价的关系元组演算表达式参考答案:E2=t|($u)($v)($w)(R(u)S(v)T(w)u4>d1v3=e3w2>f2R.A=S.AR.B=S.BR.C=T.Ct1=u2t2=u3t3=v1t4=w2)(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=a2E=e1G<g4(RST)参考答案:E1(A , S.C, E, F)a2 c2 e1 f2a2 c2 e1 f1 E2=xyz|($quvw)(R(wqx)S(qxyu)T(yvz)w>a2u<e2v=f1)参考答案:E2(C, D, G) c4 d1 g1(2) 试将E1转换为等价的关系元组演算表达式参考答案:E1=t|($u)($v)($w)(R(u) S(v) T(w) u2=v1 u3=v2v3=w1 u1=a2 v4=e1 w3<g4 t1=u1t2=v2 t3=v3 t4=w2(3) 试将E2转换为等价的关系代数表达式参考答案:E2=ÕC,D,G(sA>a2E<e1G=f1 R.B=S.BR.C=S.CS.D=T.D(R×S×T)E2=ÕC,D,G(sA>a2E<e2F=f1 (RST)(4) 对E1进展代数优化5、以下定义的是某汽车修理厂管理系统数据库,其中加下划线的为关系模式主键,斜体字为外键。该修理厂雇用假设干名修理工并划分为不同的班组,汽车维修以班组为单位进展,每个班组安排一名修理工作为组长负责分配给该组的汽车维修事宜。l 修理工工号,姓名,年龄,参加工作时间,班组号l 班组班组号,人数,组长工号l 汽车车牌号,车主姓名,车型,联系 l 维修维修记录编号,车牌号,班组号,维修时间,收费试针对上述关系数据库写出如下SQL查询:1查询该修理厂划分的维修班组总数。2查询各维修班组的班组号及其组长姓名。3查询车牌号为“V0075的汽车在“2011-01-01至“2011-12-31期间由修理工“E029所在班组进展维修的费用总额。4将修理工“E010所在分组编号调整为“T03。参考答案:1SELECT COUNT(班组号)FROM 班组2SELECT 班组号,姓名 组长姓名 FROM 班组,修理工WHERE 组长工号=工号3SELECT SUM(收费)FROM 维修,班组,修理工WHERE 车牌号V0075 AND维修时间>=2011-01-01 AND 维修时间<=2011-12-31 AND 工号E029 AND维修.班组号=班组.班组号AND班组.班组号=修理工.班组号4UPDATE 修理工SET 班组号=T03WHERE 工号=E0106、以下定义的是某手机话费充值卡管理系统数据库,其中加下划线的为关系模式主键,斜体字为外键。每张充值卡通过卡号及密码为手机号码充值,一张充值卡只能为一个手机号码充值且一次充值过程必须消费完卡上的所有金额。每个手机号码只属于一个机主,而每位机主可以拥有多个手机号码。l 充值卡卡号,密码,面额,是否已售出l 手机手机号码,开户时间,开户地点,机主编号l 充值卡号,手机号码,充值时间l 机主机主编号,姓名,身份证号码, ,联系方式针对上述关系数据库写出如下SQL查询:1查询尚未售出是否已售出属性取值为“否的充值卡张数。2查询“刘姓手机机主的姓名及持有的手机号码。3查询开户地点为“西安交通大学的所有手机号码在“2010-11-01至“2010-11-30期间的充值总额。4将卡号为“SX010323的充值卡面额增加一百元。参考答案:1SELECT count(*)FROM 充值卡WHERE 是否已售出否2SELECT 姓名,手机号码FROM 手机,机主WHERE 姓名 like 刘% and 手机.机主编号机主.机主编号3SELECT sum(面额)FROM 充值卡,充值,手机WHERE 开户地点西安交通大学 and 充值时间>2010-11-01 and充值时间<2010-11-30 and 充值卡.卡号充值.卡号 and 手机.手记号码充值.手机号码4UPDATE 充值卡SET 面额面额100WHERE 卡号SX0103237、以下是某学生食堂就餐卡管理系统中的局部表,其中加下划线的属性为主键,斜体字属性为外键,每个学生只可办理一张就餐卡。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元。参考答案: