1、(3) 查找商品品牌名字的第二个字是“兰”的所有商品。 SELECT * FROM T_Goods WHERE G_pp LIKE _ _兰%;(4) 统计显示每种商品发货的总数量,包括商品名称、品牌、总数量、单位、发货单号等。 SELECT G_mc,G_pp,SUM(D_sl) FROM T_Goods,T_sale WHERE T_sale.G_spdm = T_Goods.G_spdm GROUP BY T_sale.G_spdm,G_mc,G_pp;(5) 将商品代码为“s2”的商品的单价上浮20%。 UPDATE T_sale SET D_dj = D_dj + D_dj*0.2
2、WHERE G_spdm = s2;(6) 向库存表中插入一商品信息( s11,红色,165/88A,100)。 INSERT INTO T_stock VALUES(s11,红色,165/88A,100);(7) 删除青岛市的所有客户信息。 DELETE FROM T_client WHERE c_dz= 青岛市; (8) 将商品代码为“s11”的商品的库存量减少10。 UPDATE T_stock SET kc_sl=kc_sl-10 WHERE G_spdm= s11;3.7 在习题3.1的关系数据库上实现下列各题:(1) 创建一个包含客户代码、名称、联系人和手机号的视图。 CREATE
3、 VIEW V_client AS SELECT C_dm,C_mc,C_lxr,C_sjh FROM T_client;(2) 创建一个能完整反映发货情况的视图,包括发货单号、商品代码、商品名称、客户代码、客户名称、发货数量、总金额等。 CREATE VIEW V_sale AS SELECT D_fhdh,t_sale.G_spdm,G_mc,t_sale.C_dm,C_mc,D_sl,D_je FROM T_client,T_Goods,T_sale WHERE T_client.C_dm = T_sale.C_dm AND T_Goods.G_spdm= T_sale .G_spdm;
4、3.8 创建一触发器,实现当删除商品表中的某商品时,自动删除库存表中对应商品的信息。 CREATE TRIGGER del_stock AFTER DELETE ON T_Goods FOR EACH ROW BEGIN, DELETE FROM T_stock WHERE G_spdm=:OLD. G_spdm; END;P1915.7 有3个事务的一个调度r3(B)r1(A)w3(B)r2(B)r2(A)w2(B)r1(B)w1(A),该调度是冲突可串行化的调度吗?为什么?解答:该调度是冲突可串行化调度。r3(B)r1(A)w3(B)r2(B)r2(A)w2(B)r1(B)w1(A)可以把
5、r1(A)和w3(B)交换得到: r3(B) w3(B) r1(A) r2(B) r2(A) w2(B )r1(B) w1(A) 再把r1(A)依次和r2(B) 、r2(A) 、w2(B )交换得到: r3(B) w3(B) r2(B) r2(A) w2(B ) r1(A) r1(B) w1(A) 最后得到的调度等价于串行调度T3 T2 T1,所以该调度室冲突可串行化调度。5.8 设T1,T2是如下的两个事务:T1:读A;B=A+3;写回BT2:读B;A=B+2;写回A设A、B的初值均为1:(1) 若允许这两个事务并发执行,有多少可能的正确结果,请一一列举并给出一个可串行化调度,同时给出执行结
6、果。(2) 若这两个事务遵守两段锁协议,请给出一个产生死锁的调度。 (1)串行执行次序有:T1 T2 ,其结果为:A=6,B=4T2 T1 ,其结果为:A=3,B=6可串行化的调度如下:T1T2SLOCK(A)Y=R(A)=1UNLOCK(A)XLOCK(B)B=Y+3=4W(B)UNLOCK(B)SLOCK(B)WAITX=R(B)=4XLOCK(A)A=X+2=6W(A) 其结果为A=6,B=4。(2) 遵守两段锁协议的事务调度产生死锁。P2566.7 指出下列关系模式是第几范式?并说明理由。(1) R(X,Y,Z),F=(X,Y) Z(2) R(X,Y,Z),F=YZ,YX,X(Y,Z)
7、(3) R(X,Y,Z),F=XY,XZ(1) 该关系模式满足第三范式,因为在函数依赖中不存在部分依赖,也不存在传递依赖。(2) 该关系模式满足第三范式(BCNF),因为在函数依赖中不存在部分依赖,也不存在传递依赖。(3) 该关系模式满足第三范式(BCNF),因为在函数依赖中不存在部分依赖,也不存在传递依赖。6.8 设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作,每个部门只有一个经理。试回答下列问题:(1)根据上述规定,写出模式R的基本FD和关键码;(
8、2)说明R不是2NF的理由,并把R分解成2NF模式集;(3)进而分解成3NF模式集。(1) 模式R的FD(函数依赖)集:(职工编号,日期)日营业额,职工编号部门名,部门名部门经理,关键码为:(职工编号,日期)。(2) 在函数依赖中,部门名部分依赖于关键码:(职工编号,日期),因此R不满足2NF。可以将R分解如下:R1(职工编号,日期,日营业额)R2(职工编号,部门名,部门经理)则R1和R2都满足2NF。(3) 由于R2中有函数依赖:职工编号部门名,部门名部门经理,即存在传递依赖,故不满足3NF,对R2再分解,结果如下: R2(职工编号,部门名)R3(部门名,部门经理)显然三个关系模式都满足3N
9、F。6.9 设有一商务数据库用以处理销售记帐,它涉及的信息包括:顾客姓名,所在单位及电话号码;商品名称,型号及单价,某顾客购买某商品的数量和日期;假设无同名顾客,无同名商品,电话公用(指同一单位的顾客使用同一电话),顾客可在不同日期购买同一商品。要求完成该数据库的逻辑设计。 根据题意,其ER图如下: 由ER图得到初始关系模式为: 顾客(姓名,单位,电话) 商品(商品名称,型号,单价) 购买表单(姓名,商品名称,购买数量,购买日期) 模式求精: 分析关系模式:顾客(姓名,单位,电话),其中有函数依赖:姓名单位,单位电话,即出现了传递依赖,故不满足3NF,分解得到: 顾客单位(姓名,单位) 单位电
10、话(单位,电话)6.10 设一个海军基地要建立一个舰队管理信息系统,它包括如下两个方面的信息: 舰队方面: 舰队:舰队名称,基地地点,舰艇数量 舰艇:编号,舰艇名称,舰队名称 舰艇方面:舰艇编号,舰艇名称,武器名称 武器:武器名称,武器生产时间,舰艇编号 官兵:官兵证号,姓名,舰艇编号其中,一个舰队拥有多艘舰艇,一艘舰艇属于一个舰队;一艘舰艇安装多种武器,一种武器可安装与多艘舰艇上;一艘舰艇有多名官兵,一名官兵只属于一艘舰艇。请完成如下设计:(1) 分别设计舰队和舰艇两个局部ER图。(2) 将上述两个局部ER图合并为一个全局ER图。(3) 将该全局ER图转换为关系模式。(4) 合并时是否存在命名冲突?如何处理?(1) 舰队局部ER图: 舰艇局部ER图:(2) 全局ER图:(3) 关系模式如下:舰艇(舰艇编号,舰艇名称,舰队名称)舰队(舰队名称,基地地点)武器(武器名称,生产时间)官兵(官兵证号,姓名,舰艇编号)安装(舰艇编号,武器名称,武器数量)(4) 合并时存在命名冲突,舰艇在两个局部ER图中有不同的命名:编号和舰艇编号,采用折中统一的方法,最后命名为舰艇编
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1