当前位置:首页 > 四川大学数据库系统原理期末考试试题
四川大学期末考试试题(闭卷)A
(2011—2012学年第1学期) 课程名称:数据库系统原理
一.选择题。(每小题2分,共12分) 1. 以下不是事物性质的是() A.持久性
B.原子性
C.可串行性
D.一致性
2.以下封解锁序列中,满足两段锁协议的是()
A.Lock-X(U)…Lock-S(V)…Lock-S(W)…Unlock(U)…Unlock(W)…Unlock(V) B.Lock-X(U)…Unlock(U)…Lock-S(V)…Unlock(V)…Lock-S(W)…Unlock(W) C.Lock-X(U)…Lock-S(V)…Unlock(U)…Unlock(V)…Lock-S(W)…Unlock(W) D.Lock-X(U)…Unlock(U)…Lock-S(V)…Lock-S(V)…Unlock(W)…Unlock(W) 3.以下关于死锁的说法中正确的是() A.两段锁协议可避免死锁
B.DBMS一般采用超时法检查死锁
C.死锁是由于持锁事务重启后造成的 D.系统中至少有两个并发事务才可能发生死锁
4.当事务获得数据项Q的排他锁后,该事务() A.只能读Q
B. 只能写Q
C. 既能读Q,又能写Q
D.既不能读Q,也不能写Q
5. 如果一个系统关系模式仅有两个属性,则该关系模式至少满足() A. INF
B.2NF
C.3NF
D.BCNF
6.在数据局设计中,画ER图是()的主要任务 A.需求分析阶段
B.概念结构设计阶段 D.物理结构设计阶段
C.逻辑结构设计阶段
二.简答题。(每小题6分,共12分)
1.什么是数据库系统的三级模式结构?它是如何保证数据独立性的?
2.某校一数据库系统在运行过程中由于电源故障而停机,经检查,包括存储介质在内的硬件系统均未损坏。对于DBMS来说,这属于什么类型的故障?应该如何恢复?
三.查询题。(每小题6分,共36分)
1.考虑如下某公司HR(人力资源)系统的关系模式,其中主码下标有下划线:
Employee(employee-id,name,address) //员工(员工编号,姓名,住址)
Department(department-id,name) //部门(部门编号,部门名) Works(employee-id,department-id,begin-date,end-date) //工作(员工编号,部门编号,开始工作日期,离职日期)
请注意:Works表记录了员工在不同时间段在公司各部门工作的履历,如果离职日期(end-date)为空,表明该员工目前仍在此部门工作。 以下1-2要求写出关系代数查询。
1. 查询“t1003”号员工工作过的各部门部门编号和部门名; 2. 查询在“t1003”号员工工作过的所有部门都工作过的员工的编号
及其姓名;
以下3-6要求写出SQL查询:
3. 查询“t1003”号员工工作过的各部门部门编号和部门名; 4. 查询所有姓名为“王勇”的员工工作过的部门编号和部门名; 5. 查询在“t1003”号员工工作过的所有部门都工作过的员工的编号及其姓名;
6. 查询目前在职员工人数最多的部门编号。
四.判断下面的关系模式最高处于第几范式(直至BCNF)?要求说明理由。(每小题5分,共10分) 1.R1U={U,V,W},F={(U,V)→W,W→V}
2.学院(学院编号,学院名,院长,学院联系电话),一个学院有且仅有一位院长,但有多部联系电话。 五.设计题(共20分)
请为一家社保医院设计数据库管理系统,管理如下信息: ① 医生,包括编号,姓名,出生日期,职称等信息。
② 病人,包括身份证号,姓名,性别,出生日期,住址等。系统还应管理参加了医疗保险的病人的医保账户信息,包括医保号、账户余额等。
③ 一位医生可以为多位病人分别进行多次治疗,包括治疗的开始日期,结束日期,描述和产生的费用等。每次治疗只仅由一位医生负责。如果医保账户的余额足够的话,参加了医疗保险的病人的治疗产生的费用可直接用账户余额支付。因此,治疗还应关联相
关的医保账户。
根据上述描述,充分利用常识,完成以下要求:
1. 划出此系统的E-R图。(8分)
2. 根据ER图,设计一组至少满足3NF的关系模式,且要求描述相应的主码和外码约束。(8分)
3. 在你设计的关系模式下用SQL完成查询:找出姓名为“王大明”的医疗参保人员在该医院所进行的全部治疗的开始日期,结束日期,费用和主治医生姓名。(4分)
六.查询优化题(共10分) 设有下面的关系模式: Student(sno,sname,sdept) Course(cno,cname,credit) SC(sno,cno,grade)
请写出如下SQL查询的关系代数表示,并用关系代数表达式的优化算法对其进行优化,要求画出初始语法树和优化后的语法树。 SELECT sname
FROM Student,Course,SC WHERE Student.sno=SC.no AND SC.no=Course.cno AND cname=’DB’ AND sdept=’MA’;
共分享92篇相关文档