上海大学的数据库原理二《数据库原理(二)》试卷A卷答案

上传人:博****1 文档编号:507987517 上传时间:2023-10-15 格式:DOC 页数:4 大小:107.50KB
返回 下载 相关 举报
上海大学的数据库原理二《数据库原理(二)》试卷A卷答案_第1页
第1页 / 共4页
上海大学的数据库原理二《数据库原理(二)》试卷A卷答案_第2页
第2页 / 共4页
上海大学的数据库原理二《数据库原理(二)》试卷A卷答案_第3页
第3页 / 共4页
上海大学的数据库原理二《数据库原理(二)》试卷A卷答案_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《上海大学的数据库原理二《数据库原理(二)》试卷A卷答案》由会员分享,可在线阅读,更多相关《上海大学的数据库原理二《数据库原理(二)》试卷A卷答案(4页珍藏版)》请在金锄头文库上搜索。

1、上海大学20072008学年春季学期试卷(A卷)数据库原理(二)参考答案一、选择题(每小题分,共10分):1. C 2. A 3. B 4. C 5. D 6. C 7.D 8. A 9. C 10. B二、是非题(每小格分,共10分):1 2 3 4 5 6 7 8 9 10 三、简答题(本大题共4小题,每小题4分,共16分)1. 答: 局部ER模式(或初步ER图)(1分)、全局ER模式(或合并为一张ER图)(1分)、全局ER模式优化。(2分)2. 答:超表中每个元组最多可以与每个子表中的一个元组对应(2分),子表中每个元组在超表中恰有一个元组对应(2分)。3答:写一个修改到DB中和写一个表

2、示这个修改的登记记录到日志文件中是两个不同的操作,后者比前者重要,后者应先做。这就是运行记录优先原则(2分)。其作用是保证DBS具有可恢复性(或防止数据丢失)(2分)。4. 答:实体基数是指与一个实体有联系的另一端实体数目的最小最大值(2分)。重复度是指参与关联的这一端对象数目的最小最大值(2分)。(或能说明“他们表达的是相反的概念”的语句)四、计算题(本题共3小题,每小题4分,共12分)1. (4分)答:根据已知条件构造一张5行5列的表格如下:(1分)表一: A B C DEMABEa1a2b13b14a5b16ACDa1b22a3a4b25b26BEMb31a2b33b34a5a6根据AC

3、,对表一进行处理,将b13,改为a3,(2分)接着考虑CD,将b14改为a4。然后考虑DAB,将b22改为a2,再考虑ED, 将b34改为a4,修改后的表格如下: A B C DEMABEa1a2a3a4a5b16ACDa1a2a3a4b25b26BEMb31a2b33a4a5a6再考虑DAB,将b31改为a1,再考虑AC,将b33改为a3。 至此,第三行为全a ,所以r是无损分解 (1分)(2)(4分)答:pABE(F)=EAB, AB(1分)或:pABE(F)=EAB, AAB或:pABE(F)=EA, EB, AABpACD(F)=AC,CA,DA,AD,CD,DC(2分) pBEM(F

4、)=EB (1分)(3)(4分)答:pABE(F) pACD(F) pBEM(F) F (3分) r保持F. (1分)五、分析题(本大题共2小题,共22分)1.(共12分) (1)答: Film的FD集 F= FNOFName,(FName,Player)BNO (两个依赖各2分)(2) 答:由F知,(FNO,Player)和(FName,Player)都是Film的候选键,Film没有非主属性,故Film3NF。(2分)又,考虑F中的非平凡FD: FNOFName,其左部不包含Film的候选键,故Film没有达到BCNF定义中规定的条件。所以Film达到的最高范式级别是3NF。(2分)(3)

5、答:现考虑Film的一个状态: 将其投影到F1和F2,则有:(2分)见下图;可见,对于多个演员合作拍摄一部影片F1和F2不会重复保存同一影片名。但F1和F2无法保证“同一演员参与拍摄的影片采用不同影片名”,因为这个分解未能保持(FName,Player)BNO。例如,无法限制将F1中的“AA”改为“BB”。(2分)StarsinFNOFNameF1f0001f0002AABBFNOFNameF2f0001f0001f0001f0002f0002张三李四王五李四赵六FNOPlayerPlayerf0001f0001f0001f0002f0002AAAAAABBBB张三李四王五李四赵六2(共10分

6、)答:恢复工作和理由如下:(1)事务T2不必恢复(1分),因为它的更新已在检查点时写到数据库中去了 。(1分)(A=700,B、C、D不受影响)(1分)(2)事务T3必须撤消(UNDO)(1分),因为T3还未做完,必须撤消事务T3已对DB的修改。(1分)即恢复D=80 (A,B,C)不受影响(1分)(3)事务T1必须重做(REDO)(1分)。因为T1已做完,但它的结束在下一个检查点之前,它们对DB的修改仍在内存缓冲区,还未写到磁盘。(1分)即重做A=710 (1分)(B=600已写磁盘,C、D不受影响:C=60,D=70) (1分)六、设计题(本题共2小题,共12分)1(5分)答案不是唯一的,

7、参考答案如下: CREAT ASSERTION ASSE1 CHECK (1分) (30000=ALL (SELECT SUM(Eexpend) (2分) FROM C (1分) GROUP BY ENO, Date) (1分)或:CREAT ASSERTION ASSE1 CHECK (1分) (NOT EXISTS (SELECT SUM(Eexpend) (2分) FROM C (1分)GROUP BY ENO, Date (1分)HAVING SUM(Eexpend)=30000) (1分)2(分)用SQL Server 2000触发器实现。答案不是唯一的,参考答案如下:CREATE

8、TRIGGER PAY ON dbo.C (1分)AFTER INSERTASdeclare Eexpend int, Balance int, Maxexpend intIF update(Eexpend) (1分)BEGINSELECT Eexpend = Eexpend FROM inserted (1分)SELECT Balance=Balance,Maxexpend=Maxexpend FROM E WHERE ENO=(select ENO from inserted)IF (Balance- Eexpend Maxexpend) (1分)ROLLBACK TRANSACTION

9、(1分)ELSE UPDATE E (1分)SET Balance = Balance - Eexpend WHERE ENO=(select ENO from inserted) (1分)END或用SQL3触发器实现。答案不是唯一的,参考答案如下:CREATE TRIGGER PAY (1分) AFTER INSERT ON C REFERENCINGNEW AS NEWTUPLE BEGIN ATOMIC DELETE FROM C (1分) where CNO=NEWTUPLE.CNO (1分) AND (NEWTUPLE.Eexpend(SELECT Maxexpend FROM E

10、(1分)WHERE ENO= NEWTUPLE.ENO)OR(NEWTUPLE. Eexpend (SELECT Balance FROM E (1分)WHERE ENO= NEWTUPLE.ENO) -1000) UPDATE E (1分)SET Balance = Balance - NEWTUPLE .Eexpend WHERE ENO=NEWTUPLE.ENO (1分) AND (Balance- NEWTUPLE.Eexpend-1000) AND (Maxexpend= NEWTUPLE.Eexpend) FOR EACH ROW七、综合题(本题共3小题,每小题6分,共18分)1.

11、(6分)答案不是唯一的,答题的基本原则如下:对象类型(超类型)有四个:仓库,连锁店,商品,职工(2分);对象类型(子类型)有两个:收银员,业务员(1分);泛化边有两条:业务员指向职工;收银员指向职工。(1分)对象之间的引用表示正确(2分)业务员职工收银员编号名称电话负责人连锁店仓库商品供应对象联系图参考答案:名称商品编号单价经理连锁店编号名称22.答案不是唯一的,答题的基本原则:必须定义嵌套关系,即包含:setof(ref();参考答案:用ORDB定义其中的嵌套关系“仓库”:CREATE TYPE MyString char varying;CREATE TABLE 仓库 (仓库号 MyString, (1分)名称 MyString, (1分)电话 MyString (1分),负责人ref(职工), (1分)供应 setof(ref(商品); (2分)3. 答案不是唯一的,参考答案:中文含义:检索各仓库的负责人的姓名。(2分)查询语句: (4分) SELECT A. 仓库号, A. 名称,B.姓名FROM 仓库 AS A,A. 职工AS B2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号