1、 科目代码:834 科目名称:数据库原理及应用 第 1 页 共 2 页 南京航空航天大学南京航空航天大学 2012017 7 年年硕士硕士研究生入学考试初试试题研究生入学考试初试试题( A A 卷卷 ) 科目代码: 834 满分: 150 分 科目名称: 数据库原理及应用 注意: 认真阅读答题纸上的注意事项;认真阅读答题纸上的注意事项;所有答案必须写在所有答案必须写在答题纸答题纸上,写在本试题纸或草稿纸上均无上,写在本试题纸或草稿纸上均无效;效;本试题纸须随答题纸一起装入试题袋中交回!本试题纸须随答题纸一起装入试题袋中交回! 一、简答题(一、简答题(10 题,每题题,每题 6 分,共分,共 6
2、0 分)分) 1、什么是实体、属性、码、联系,并各举一例。 2、简述数据库的逻辑独立性和物理独立性,并各举一例。 3、试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?并举例说明。 4、简述第二范式,并举例说明。 5、什么是数据库中的自主存取控制方法和强制存取控制方法?各举一例说明。 6、什么是数据库的逻辑结构设计?试述其设计步骤。 7、什么是活锁?什么是死锁?举例说明两者的区别。 8、为什么事务非正常结束时会影响数据库数据的正确性?举例说明。 9、什么样的并发调度是正确的调度?举例说明。 10、什么是数据模型?当前最常用的数据模型是什么?并举例说
3、明。 二、应用分析题(二、应用分析题(2 题,共题,共 90 分)分) 1、学生课程管理系统(、学生课程管理系统(1 题总题总 40 分)分) 学 生 课 程 管 理 系 统 包 含 有 3 张 基 本 表 : 学 生 表 S(Sno,Sname,Sage,Ssex,Sdept) , 课 程 表C(Cno,Cname,Teacher,Ccredit),选课表 SC(Sno,Cno,Grade)。按要求完成下列数据操作要求。 1) 用 SQL 语句创建选课表 SC(Sno,Cno,Grade) ,其中主码为(Sno,Cno) ,外码为 Sno,Cno,并规定成绩 Grade 的取值应该在 0 到
4、 100 之间。 (6 分) 2) 用 SQL 语句表示“将交通运输系全体学生的成绩置零” 。 (6 分) 3)用 SQL 语句表示“查询选修并且成绩及格的课程总数大于 3 门(包括 3 门)的学生的学号和姓名” 。(6 分) 4) 用 SQL 语句创建视图 VSC(Sno,Sname,Cno,Cname,Grade) ,并将对学生表 S 的修改权限授权给用户 U1。 (6 分) 5) 用关系代数表达式表示“查询选修了全部课程的学生学号和姓名” 。 (6 分) 6) 对学生有如下的查询: Select Sno FROM S, C,SC WHERE S.Sno = SC.Sno AND SC.C
5、no= C.Cno AND S.Sdept = IS AND C.Cname=交通运输概论 ; 此查询要求信息系学生选修了交通运输概论的学生名单。 (5 分) 7) 对于问题 6 中要求写出的语法树进行优化处理,画出优化后的标准语法树。 (5 分) 科目代码:834 科目名称:数据库原理及应用 第 2 页 共 2 页 2、图书馆信息管理系统、图书馆信息管理系统 (1 题共题共 50 分)分) 南京市需要设计一个数据库管理系统。系统需求如下: 1)图书馆有若干管理员 librarian,各自有员工号 empid、姓名 name、身份证号 idno、等属性。 2)图书馆中备有若干种图书 bookt
6、ype,每种图书有 ISBN、名称 title、出版社 publisher、作者 writers、价格 price 等属性,每种图书有唯一的 ISBN 号,同种图书可购入多本。 3 每一本图书 book 有唯一标记 bookid 和种类 booktype。 4)读者 reader 在办理借书证后方可借阅。一个读者有唯一的借书证号 cardno,还有姓名 name、身份证号 idno、住址 address、注销标记 logoff 等。读者在注销之前,须归还所有已借图书或报失。 5)需处理以下基本业务: 借书:在某时刻某读者通过某管理员借阅某一本书。 还书:在某时刻通过某管理员归还某一本书。 报失
7、:在某时刻某读者向某管理员报失某一本书;报失之后该书不能再借。 每一次还书和报失记录都须对应某一次借书记录,且可由不同管理员处理。 按次序回答下列问题: 用 E/R 图建立该系统的数据库模型。为每个实体集确定键属性,并确定每个联系的多重性。 (10) 由 E/R 模型建立该系统的关系模式,并确定每个关系的主键和可能的外键。注意各关系中的函数依赖和多值依赖,并使关系满足第三范式要求。(10) 写出创建数据表的语句(根据 E/R 模型得到数据库的表,表名自己给定) 。 (10 分) 使用 SQL 语言完成下面的计算:(20) (1) 增加借书记录: 借书证号为A001,通过管理员E002于当前日期借到图书B003。(5 分) (2)还书记录:通过管理员E002于当前日期归还图书B003。 (5 分) (3)计算借书次数最多的读者的姓名和身份证号。 (5 分) (4)计算所有图书的 ISBN、书名、借阅次数,并按借阅次数从大到小排列。 (5 分)