试卷代号:1060 座位号 中央广播电视大学2008一2009学年度第二学期“开放本科”期未考试 数据库系统概论 试题 2009年7月 题 号 三 四 五 六 总分 分 数 得分 评卷人 一、(本题16分) 设计一个适合大学里选课的数据库。该数据库应包括学生、系、教师、课程,哪个学生选了 哪门课,哪个教师教哪门课,学生的成绩,一个系提供哪些课程等信息。用E/R图说明学生选 课的数据库。 得 分 评卷人 二、(每小题4分,共16分) 假设学生选课数据库关系模式如下: Student (SNo,SName,SAge SDept Course (CNo,CName) SC (SNo,CNo,Score) 用关系代数进行如下查询: 1.学号为200500111的学生的系别和年龄; 2.有不及格(成绩<60)学生的课程名; 3.数学系有不及格课程的学生名单; 4.学生张林的“计算机组成原理”课成绩。 425
试卷代号:1060 座位号巨口 中央广播电视大学2008-2009学年度第二学期“开放本科”期末考试 数据库系统概论 试题 2009年 7月 题 号 四 五 六 总 分 分 数 得 分 评卷人 一、(本题 16分) 设计一个适合大学里选课的数据库。该数据库应包括学生、系、教师、课程,哪个学生选了 哪门课 ,哪个教师教哪门课,学生的成绩 ,一个系提供哪些课程等信息。用 E/R图说明学生选 课 的数据库。 得 分 评卷人 二、(每小题 4分,共 16分 ) 假设学生选课数据库关系模式如下: Student (SNo, SName,SAge,SDept) Course (CNo,CName) SC (SNo, CNo,Score) 用关系代数进行如下查询: 1.学号为 200500111的学生的系别和年龄; 2.有不及格(成绩<60)学生的课程名; 3.数学系有不及格课程的学生名单; 4.学生张林的“计算机组成原理”课成绩。 425
得分 评卷人 三、(前3个小题每题8分,第4个小题4分,共28分) 一个电影资料数据库假定有三个基本表:电影表Movi包括电影名、制作年份、长度;演 员表Actor包括演员姓名、地址、生日;电影主演表Acts包括电影名、制作年份、演员姓名。 1.用SQL的建表语句建立三个基本表,要注意合理地选择属性的数据类型。 用SQL实现如下查询或更新操作: 2.统计1999年制作电影的平均长度和最短长度; 3.所有同名电影各自的电影名和制作年份; 4.把电影“我的世界”的长度改为109分钟。 得分 评卷人 四、(本题10分) 设某航班某日尚有余票50张,甲预订10张,乙预订20张,若按如下顺序执行有何问题? 如何实现并发控制? 甲 乙 1)读余票A 2) 读余票A 3)A=A-10 4)写回A 5) A=A-20 6) 写回A 426
得 分 评卷人 三、(前 3个小题每题 8分,第 4个小题 4分,共 28分) 一个电影资料数据库假定有三个基本表:电影表 Movie包括电影名、制作年份、长度;演 员表 Actor包括演员姓名、地址、生 日;电影主演表 Acts包括电影名 、制作年份、演员姓名。 1.用 SQL的建表语句建立三个基本表,要注意合理地选择属性的数据类型。 用 SQL实现如下查询或更新操作: 2.统计 1999年制作电影的平均长度和最短长度; 3.所有同名电影各 自的电影名和制作年份; 4.把电影“我的世界”的长度改为 109分钟。 得 分 评卷人 四、(本题 10分) 设某航班某 日尚有余票 50张,甲预订 10张,乙预订 20张,若按如下顺序执行有何问题? 如何实现并发控制? 甲 乙 1)读余票 A 2) 读余票 A 3) A = A 一 10 4)写 回 A 5) A=A一 20 6) 写 回 A 426
得分 评卷人 五、(每小题6分,共18分)》 用SQL的有关语句定义 1.图书关系Book,包括图书编号BookID、图书名称Title、图书作者Author、.出版社Pub- lisher; 2.学生关系Student,包括学生编号ID、学生姓名Name、系Dept; 3.学生借书关系Lend,包括学生编号ID、图书编号BookID、借阅时间LDate。. 注意:说明主键码和外键码(如果有的话)。 得 分 评卷人 六、(每小题6分,共12分)】 关系模式如下: 商品 p (PNO,PN,COLOR,PRICE) 商店 (SNO,SN,CITY) 销售 SP (PNO,SNO,QTY) 用SQL写出查询程序: 1.查询与商品“TV”颜色相同的商品名PN; 2.不销售商品P2(商品号)的商店名SN。 427
得 分 评卷人 五、(每小题 6分,共 18分) 用 SQL的有关语句定义 1.图书关系 Book,包括图书编号 BookID、图书名称 Title、图书作者 Author、出版社 PubUsher; 2,学生关系Student,包括学生编号 ID、学生姓名Name、系Dept; 3.学生借书关系Lend,包括学生编号 ID、图书编号 BookID、借阅时间 LDate, 注意:说明主键码和外键码(如果 有的话)。 得 分 评卷人 六、《每小题 6分 ,共 12分 } 关系模式如下 : 商Pp P (PNO,PN,COLOR,PRICE) 商店 S (SNO,SN,CITY) 销售 SP (PNO,SNO,QTY) 用 SQL写出查询程序 : 1,查询与商品“TV"颜色相同的商品名 PN; 2.不销售商品 P2(商品号)的商店名 SN, 427
试卷代号:1060 中央广播电视大学2008一2009学年度第二学期“开放本科”期末考试 数据库系统概论 试题答案及评分标准 (供参考) 2009年7月 一、(本题16分) 参考答案: SNo SN Score CNo CN Student Choose Course Bclong Supply Teach Depart Teacher DNo DN TNo TN 二、(每小题4分,共16分)】 参考答案: (1)D(OsNo2(Student ) (2)cm(SC)KCourse) (3)元sn(omr<(SC)DX(osp¥累,(Student) (4)元sae(osae-'张#(Student)D☑SCX(oea-'#第超良原(Course)) 428
试卷代号:1060 中央广播电视大学2008-2009学年度第二学期“开放本科”期末考试 数据库系统概论 试题答案及评分标准 (供参考) 2009年 7月 一、(本题 16分) 参考答案 : 二、(每小题 4分 ,共 16分) 参考答案 : (1)7CSDcpt,Sage ( 6sNO=zoosooui (Student)) (2)7TC-me (6.o<0 (SC)冈 Course) (3)二SName (6.m"<0 (SC)冈 ( 6SOept= t,学,,(Student)) (4)二*。,(6SName=。张林,(Student)冈 SC冈 (6CName=,什算机组成原理,(Course))) 428
三、(前3个小题每题8分,第4个小题4分,共28分) 参考答案: 1.CREATE TABLE Movie( Title CHAR(30), Year INT, Length INT ); CREATE TABLE Actor( Name CHAR(20), Address VARCHAR(30), Birthdate DATE CREATE Acts( MovieTitle CHAR(30), Movie Year INT, ActorName CHAR(20) 2.SELECT AVG(Length),MIN(Length) FROM Movie WHERE Year=1999; 3.SELECT M1.Title,M1.Year,M2.Year FROM Movie AS M1,Movie AS M2 WHERE M1.Title=M2.Title AND M1.Year<M2.Year; 4.UPDATE Movie SET Lengthi=l09 WHERE Title=”我的世界” 429
三、(前 3个小题每题 8分,第 4个小题 4分,共 28分) 参考答案 : 1. CREATE TABLE Movie( Title CHAR(30) Year INT Length INT ); CREATE TABLE Actor( Name CHAR(20) Address VARCHAR(30) Birthdate DATE CREATE Acts( MovieTitle CHAR(30) M ovieYear INT ActorName CHAR(20) 2. SELECT AVG(Length),MIN (Length) FROM M ovie W HERE Year= 1999 3. SELECT Ml. Title, Ml. Year, M2. Year FROM Movie AS M1, Movie AS M2 WHERE Ml. Title= M2. Title AND Ml. Year<M2. Year; 4. UPDATE Movie SET Length= 109 WHERE Title=”我的世界” 429
四、(本题10分)】 参考答案: 若按上述顺序执行,则最后的余票为30,显然不对,因为正确结果应为20。这种错误属于 “丢失修改”,即把甲写回的数据丢失了。应采用封锁机制实现并发控制,具体修改如下: 甲 乙 LOCK-X(A) 读A=50 LOCK -X(A) A=A-10 等待 写回A=40 等待 COMMIT 等待 UNLOCK(A) 获得 读A=40 A=A-20 写回A=20 COMMIT UNLOCK(A) 五、(每小题6分,共18分) 参考答案: 1.CREATE TABLE Book BookID varchar(20)PRIMARY KEY, Title varchar(50), Author varchar(50), Publisher varchar(50) ; 2.CREATE TABLE Student{ ID CHAR(10)PRIMARY KEY, Name varchar (20), Dept varchar(20) }; 430
四、(本题 10分) 参考答案 : 若按上述顺序执行,则最后的余票为 30,显然不对 ,因为正确结果应为 20。这种错误属于 “丢失修改”,即把甲写回的数据丢失了。应采用封锁机制实现并发控制,具体修改如下 : 甲 乙 LOCK 一 X(A) 读 A = 50 LOCK 一 X(A) A 二 A 一 10 等待 写回 A = 40 等待 COMM IT 等待 UNLOCK(A) 获得 读 A “ 40 A = A 一 20 写回 A = 20 COMM IT UNLOCK(A) 五、(每小题 6分 ,共 18分} 参考答案 : 1. CREATE TABLE Book( BookID varchar(20) PRIMARY KEY Title varchar(50) Author varchar(50) Publisher varchar(50) }; 2. CREATE TABLE Student( ID CHAR(10) PRIMARY KEY Name varchar (20) Dept varchar (20) }; 430
3.CREATE TABLE Lend( ID CHAR(6), BookID varchar(20), LDate datetime, PRIMARY KEY(ID,BookID), FOREIGN KEY(ID)REFERENCES Student(ID), FOREIGN KEY(BookID)REFERENCES Book(BookID) 〉; 六、(每小题6分,共12分) 参考答案: 1.SELECT P.PN FROM P,P AS PX WHERE P.COLOR=PX.COLOR AND PX.PN=“TV”; 2.SELECT SN FROM S WHERE NOT EXISTS (SELECT FROM SP WHERE PNO=“P2'” AND SNO=S.SNO); 431
3. CREATE TABLE Lend( ID CHAR(6), BookID varchar(20), LDate datetime, PRIMARY KEY(ID, BookID), FOREIGN KEY(ID) REFERENCES Student(ID), FOREIGN KEY(BookID) REFERENCES Book(BookID) }; 六、(每小题 6分 ,共 12分 ) 参考答案: 1. SELECT P. PN FROM P,P AS PX WHERE P. COLOR二PX. COLOR AND PX. PN="TV" 2. SELECT SN FROM S W HERE NOT EXISTS (SELECT , FROM SP W HERE PNO="P2" AND SNO=S. SNO); 431