1、软件水平考试(中级)数据库系统工程师下午(应用技术)试题-试卷 5 及答案解析(总分:52.00,做题时间:90 分钟)一、试题一(总题数:2,分数:12.00)1.试题一()(分数:6.00)_阅读以下说明和关系表,回答问题 13。 说明 设 T1,T2,T3 是如下三个事务,其中 S 为数据库中某个数据项,设 S 的初值为 1。 T1: S:= S * S T2: S:= S + 3 T3: S:= 6(分数:6.00)(1).若允许三个事务并行执行,请列出所有可能的正确结果。(分数:2.00)_(2).采用什么手段,可以解决并行调度的不一致问题?请简要回答。(分数:2.00)_(3).一
2、个事务应该具有哪些属性?请具体说明。(分数:2.00)_二、试题二(总题数:2,分数:20.00)2.试题二()(分数:10.00)_阅读以下说明和关系表,回答问题 15,将解答填入对应的解答栏内。说明 试用 SQL 查询语句表达下列对教学数据库中的 3 个基本表 STUDENT,COURSE,SC 的查询关系表 (分数:10.00)(1).查询全体学生的姓名和年龄。(分数:2.00)_(2).如果学生选修了某门课后,但没有参加考试,就没有考试成绩记录。查询缺少成绩的学生的学号和相应的课程号。(分数:2.00)_(3).查询选修 2 号课程且成绩在 90 分以上的所有学生。(分数:2.00)_
3、(4).查询没有选修 1 号课程的学生的姓名。(分数:2.00)_(5).查询家在其他地方的学生中比家在北京的所有学生年龄都小的学生名单。(分数:2.00)_三、试题三(总题数:2,分数:8.00)3.试题三()(分数:4.00)_阅读以下说明和关系表,回答问题 1-2,将解答填入对应的解答栏内。说明 下图是飞机票预定的数据库,售票员的顾客编号是指每个售票员自己接收过哪些顾客的订单,用顾客编号来表示。 (分数:4.00)(1).请用 SQL 语句来建立这三个基本表:飞机票 Ticket、售票员 Seller 和顾客 Customer(请注意数据类型的选择)其中各表属性如下: Ticket:Tn
4、o,Tflidltno,Tdate,Tseat,TPrice,Tdest,Tdepart Seller:Sno,Sname,Ssex,Scustomerno Customer:Cno,Cname,Caddr,Cflightno,Cdate(分数:2.00)_(2).请用 SQL 实现如下操作: (1) 查询预定 11 月 13 日,班次为 1202 的所有顾客姓名 (2) 查询给顾客王军预定机票的售票员姓名 (3) 查询顾客王军的住址、所订机票班次、日期和目的地 (4) 添加顾客记录:张华,编号:2005110912,地址:北京,班次:2203,日期 11 月 22 日 (5) 调整班次为 1
5、401 的所有飞机价格,下调 10 (6) 给表 Customer 添加一列:姓别 Ssex。(分数:2.00)_四、试题四(总题数:2,分数:12.00)4.试题四()(分数:6.00)_阅读以下说明,回答问题 1-3。说明 某鲜花订购网站有鲜花、顾客、员工三个实体集,其之间的联系是订货。并要求能提供下述服务: (1)可查询现存鲜花的名称、代号、数量和每支花的单价。其中,所有鲜花的代号是唯一标识的。 (2)可查询顾客订货情况,包括订单号、顾客名、所订鲜花代号、订购数量、包装方式、联系方式、送货地。所有订单号唯一。 (3)可查询员工的送货情况,包括员工号、送货日期、接受订单号。一个订单只由一名
6、员工送货。根据以上要求,完成如下任务:(分数:6.00)(1).根据以上语义设计出 E-R 模型。(分数:2.00)_(2).将该 E-R 模型转换为一组等价的关系模式。(分数:2.00)_(3).对问题 2 的关系模型注明主键和外键。(分数:2.00)_软件水平考试(中级)数据库系统工程师下午(应用技术)试题-试卷 5 答案解析(总分:52.00,做题时间:90 分钟)一、试题一(总题数:2,分数:12.00)1.试题一()(分数:6.00)_解析:阅读以下说明和关系表,回答问题 13。 说明 设 T1,T2,T3 是如下三个事务,其中 S 为数据库中某个数据项,设 S 的初值为 1。 T1
7、: S:= S * S T2: S:= S + 3 T3: S:= 6(分数:6.00)(1).若允许三个事务并行执行,请列出所有可能的正确结果。(分数:2.00)_正确答案:(正确答案:有 6 种可能的情况: (1)T1-T2-T3: S=6 (2)T1-T3-T2:S=9 (3)T2-T1-T3:S=6 (4)T2-T3-T1:S=36 (5)T3-T1-T2:S=39 (6)T3-T2-T1:S=81)解析:(2).采用什么手段,可以解决并行调度的不一致问题?请简要回答。(分数:2.00)_正确答案:(正确答案:采用封锁,可以解决并行调度的不一致问题。)解析:(3).一个事务应该具有哪些
8、属性?请具体说明。(分数:2.00)_正确答案:(正确答案:事务的四个性质是:原子性、一致性、隔离性和持久性。 原子性:是保证数据库系统完整性的基础。一个事务中所有对数据库的操作是一个不可分割的操作序列。 一致性:一个事务独立执行的结果将保证数据库的 一致性,即数据不会因事务的执行而遭受破坏。 隔离性:隔离性要求在并发事务被执行时,系统应保证与这些事务先后单独执行时结果一样,使事务如同在单用户环境下执行一样。持久性:要求对数据库的全部操作完成后,事务对数据库的所有更新应永久地反映在数据库中。)解析:二、试题二(总题数:2,分数:20.00)2.试题二()(分数:10.00)_解析:阅读以下说明
9、和关系表,回答问题 15,将解答填入对应的解答栏内。说明 试用 SQL 查询语句表达下列对教学数据库中的 3 个基本表 STUDENT,COURSE,SC 的查询关系表 (分数:10.00)(1).查询全体学生的姓名和年龄。(分数:2.00)_正确答案:(正确答案:SELECT SNAME, 2005BIRTH _ YEAR FROM STUDENT;)解析:(2).如果学生选修了某门课后,但没有参加考试,就没有考试成绩记录。查询缺少成绩的学生的学号和相应的课程号。(分数:2.00)_正确答案:(正确答案:SELECT SNO, CNO FROM SC WHERE GRADE IS NULL;
10、)解析:(3).查询选修 2 号课程且成绩在 90 分以上的所有学生。(分数:2.00)_正确答案:(正确答案:SELECT STUDENT.SNO, SNAME FROM STUDENT, SC WHERE STUDENT.SNO = SC. SNO AND SC. CNO = 2AND SC.GRADE=90;)解析:(4).查询没有选修 1 号课程的学生的姓名。(分数:2.00)_正确答案:(正确答案:SELECT SNAME FROM STUDENT WHERE NOT EX - ISTS (SELECT * FROM SC WHERE SNO = STUDENT.SNO AND CN
11、O = 1)解析:(5).查询家在其他地方的学生中比家在北京的所有学生年龄都小的学生名单。(分数:2.00)_正确答案:(正确答案:SELECT SNAME, 2005-BIRTH _ YEAR FROM STUDENT WHERE BIRTH_YEAR ALL (SELECT BIRTH_YEAR FROM STUDENT WHEREADDRESS=北京) AND ADDRESS北京 ORDER BY 2005BIRTH_EAR DESC;)解析:三、试题三(总题数:2,分数:8.00)3.试题三()(分数:4.00)_解析:阅读以下说明和关系表,回答问题 1-2,将解答填入对应的解答栏内。
12、说明 下图是飞机票预定的数据库,售票员的顾客编号是指每个售票员自己接收过哪些顾客的订单,用顾客编号来表示。 (分数:4.00)(1).请用 SQL 语句来建立这三个基本表:飞机票 Ticket、售票员 Seller 和顾客 Customer(请注意数据类型的选择)其中各表属性如下: Ticket:Tno,Tflidltno,Tdate,Tseat,TPrice,Tdest,Tdepart Seller:Sno,Sname,Ssex,Scustomerno Customer:Cno,Cname,Caddr,Cflightno,Cdate(分数:2.00)_正确答案:(正确答案:CREATE TA
13、BLE Ticket( Tno int, Tflightno int, Tdate date, Tseat int, Tprice float, Tdest char(20 ), Tdepart char( 20), ); CREATE TABLE Seller( Sno int, Sname char(20), Ssex char( 2), Scustomemo iht , ); CREATE TABLE Customer( Cno int, Cname int, Caddr char(20), Cflightno int, Cdate date );)解析:(2).请用 SQL 实现如下操
14、作: (1) 查询预定 11 月 13 日,班次为 1202 的所有顾客姓名 (2) 查询给顾客王军预定机票的售票员姓名 (3) 查询顾客王军的住址、所订机票班次、日期和目的地 (4) 添加顾客记录:张华,编号:2005110912,地址:北京,班次:2203,日期 11 月 22 日 (5) 调整班次为 1401 的所有飞机价格,下调 10 (6) 给表 Customer 添加一列:姓别 Ssex。(分数:2.00)_正确答案:(正确答案:(1)SELECT Cname FROM Cumtomer WHERE Cdate = 2005 - 11 - 13 and Cflightno = 12
15、02; (2)SELECT Sname from Seller, Cumtomer Where Seller. Seustomerno = Customer. Cno (3) SELECT Caddr, Cflightno, Cdate, Tdest from Ticket, Cumtomer Where Ticket. Cnightno = Customer. Cflightno and Ticket. Tdate = Customer. Cdate (4) INSERT INTO Customer (Cno, Cname, Caddr, Cflightno, Cdate) VALUES (
16、 2005110912, 张华, 北京, 2203, 2005 - 11 - 22 ); (5) UPDATE Tprice SET Tprice = 0.9 * Tprice WHERE Tflightno = 1401; (6) ALTER TABLE Customer ADD Csex char(2)解析:四、试题四(总题数:2,分数:12.00)4.试题四()(分数:6.00)_解析:阅读以下说明,回答问题 1-3。说明 某鲜花订购网站有鲜花、顾客、员工三个实体集,其之间的联系是订货。并要求能提供下述服务: (1)可查询现存鲜花的名称、代号、数量和每支花的单价。其中,所有鲜花的代号是唯
17、一标识的。 (2)可查询顾客订货情况,包括订单号、顾客名、所订鲜花代号、订购数量、包装方式、联系方式、送货地。所有订单号唯一。 (3)可查询员工的送货情况,包括员工号、送货日期、接受订单号。一个订单只由一名员工送货。根据以上要求,完成如下任务:(分数:6.00)(1).根据以上语义设计出 E-R 模型。(分数:2.00)_正确答案:(正确答案: )解析:(2).将该 E-R 模型转换为一组等价的关系模式。(分数:2.00)_正确答案:(正确答案:其等价的关系模式为: 鲜花(名称,代号,数量,单价) 顾客(订单号,顾客名,所订鲜花代号,订购数量,包装方式,联系方式,送货地) 员工(员工号,送货日期,接受订单号)解析:(3).对问题 2 的关系模型注明主键和外键。(分数:2.00)_正确答案:(正确答案:“鲜花”中的“名称”“代号”分别可作为主键;“顾客”中的“订单号”可作为主键;“员工”中的“接受订单号”可作为主键,也是外键:)解析: