![[语言类考试复习资料大全]中级数据库系统工程师下午试题模拟26_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/1a44daa6-ebe8-43c5-8846-cc20c4102374/1a44daa6-ebe8-43c5-8846-cc20c41023741.gif)
![[语言类考试复习资料大全]中级数据库系统工程师下午试题模拟26_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/1a44daa6-ebe8-43c5-8846-cc20c4102374/1a44daa6-ebe8-43c5-8846-cc20c41023742.gif)
![[语言类考试复习资料大全]中级数据库系统工程师下午试题模拟26_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/1a44daa6-ebe8-43c5-8846-cc20c4102374/1a44daa6-ebe8-43c5-8846-cc20c41023743.gif)
![[语言类考试复习资料大全]中级数据库系统工程师下午试题模拟26_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/1a44daa6-ebe8-43c5-8846-cc20c4102374/1a44daa6-ebe8-43c5-8846-cc20c41023744.gif)
![[语言类考试复习资料大全]中级数据库系统工程师下午试题模拟26_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/1a44daa6-ebe8-43c5-8846-cc20c4102374/1a44daa6-ebe8-43c5-8846-cc20c41023745.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、书山有路勤为径,学海无涯苦作舟。祝愿天下莘莘学子:学业有成,金榜题名!语言类考试复习资料大全中级数据库系统工程师下午试题模拟26中级数据库系统工程师下午试题模拟26试题一下面是用E-SQL实现的机票销售程序的一部分,请补全空缺处的代码。 EXEC SQL SET TRANSACTION ISOLATION LEVEL SERIALIZABLE EXEC SQL SELECT balance INTO :x FROM tickets WHERE flight=A; printf(航班A当前剩余机票数为:%dn请输入购票数:,x); scanf(%d,a); x=x-a; if(x0) EXEC
2、SQL ROLLBACK WORK; printf(票数不够,购票失败!); else EXEC SQL UPDATE tickets SET (a) ; if(SQLCA.sqlcodeSUCCESS) EXEC SQL ROLLBACK WORK; else (b) ; 1.答案:(a)balance= :x WHERE flight=A2.答案:(b)EXEC SQL COMMIT WORK解析 本问题考查对2PL协议理论与SQL中的隔离级别,以及嵌入式SQL的编程实践。 本地给出的空缺(a)要补充的是嵌入式SQL的更新语句;空缺(b)要补充的是嵌入式SQL中的事务提交语句。 试题二在图
3、书馆数据库有三个基本表:书目表Cata(书号Cno、书名Cname、作者Cauthor、出版年Cdate、价格Cprice)、学生表Student(学号Sno、姓名Sname、性别Sgender、专业Sdept)和借书历史表Borrow(所借书号Cno、借书者学号Sno、借书日期Bbdate、还书日期Brdate)。1. 问题1 请用SQL语句来建立这三个基本表(请注意数据类型的选择)。 答案:CREATE TABLE Cata( Cno INT, Cname CHAR(40), Cauthor CHAR(10), Cdate INT, Cpriee float, ); CREATE TABL
4、E Student( Sno INT, Shame CHAR(20), Sgendcr CHAR(2), Sdept CHAR(20), ); CREATE TABLE BORROW( Cno INT, Sno INT, Bbdate INT: Brdate INT。 ); 2. 问题2 请用SQL实现如下操作: (1)图书馆里已有的鲁迅著作的名称 (2)按借书日期列出学生李明的所借书名 (3)往学生表Student中插入一个学生记录。(学号:132,姓名:张华,性别:男,系别:计算机) (4)把野火集的价格修改为15元 答案:SELECTCname FROM Cata WHEREauthor
5、=鲁迅; (2)SELECT Cname from Cata,Student,Borrow Where Student. Sno=Bom)w. Sno and Cata. Cno=BorrowCno and Snamc=李明 Group by Bbdate (3)INSERT INTO Student(Sno,Sname,Sgcn- der,Sdept) VALUES(132,张华,男,计算机); (4)UPDATE Cata SET Cprice=25 WHERE Cnarse=野火集; 3. 问题3 请用SQL语句来实现如下改变:为借书历史Borrow增加一个属性罚金Bfine,同时删去书
6、目表Cata中的属性价格Cprice。 答案:ALTER TABLE Borrow ADD Brine float; ALTER TABLE Cata drop Cprice Float; 解析 关系数据库标准语言SQL相关操作。 试题三说明 设某商业集团为仓库存储商品设计了三个基本表: 仓库STORE(S#,SNAME,SADDR),其属性是仓库编号、仓库名称和地址。 存储SG(S#,C#,QUANTITY),其属性是仓库编号、商品编号和数量。 商品GOODS(C#,GNAME,PRICE),其属性是商品编号、商品名称和单价。 现检索仓库名称为“莘庄”的仓库里存储的商品的编号和名称。 1.
7、问题1 试写出相应的关系代数表达式、元组表达式、关系逻辑规则和SELECT语句。 答案:关系代数表达式为: G#,GNAME(SNAME=莘庄(STORE SG GOODS) 元组表达式为: t |(u)(v)(w)(COODS(u)SC(v) STOBE(w) u1=v21:w1w2 =莘庄t1=u1t2=u2) 关系逻辑规则如下: W(x,y)(GOODS(x,y,a)SG(b,x,c) STORE(b,莘庄,d) SELECT语句为: SELECT AG#,GNAME FROM GOODS AS ASG AS B,STORE AS C WHERE AC#:BC# AND BS#=CS#
8、AND SNAME=莘庄:2. 问题2 在基本表中,检索存储全部种类商品的仓库的编号及名称。试写出相应的关系代数表达式、元组表达式、关系逻辑规则和SELECT语句。 答案:关系代数表达式为: S#.SNAME(STORE(S#,G#(SG)G#(GOODS) 元组表达式为: t(u)(v)(w)(STORE(u)GOODS(v)SG(w)w1 =u1)w2=v1t1=u1t 2=u2) 关系逻辑规则如下: W(x,y) STORE(x,y,a) GOODS(b,c, d) SG(x,b,e) SELECT 语句为: SELECT S#, SNAME FROM STORE WHERE NOT E
9、XISTS ( SELECT * FROM GOODS WHERE NOT EXISTS ( SELECT * FROM SG WHERE SG. S# = STORE. S# AND SG. G# = GOODS. G#) ); 3. 问题3 在基本表中,检索每个仓库存储商品的总价值。试写出相应的SELECT语句。要求显示(S#,SUM_VALUE),其属性为仓库编号及该库存储商品的总价值。 答案:SELECT 语句为: SELECT S#, SUM ( QUANTITY * PRICE) AS SUM_VALUE FROM SG,GOODS WHERE SG. G# = GOODS. G#
10、 GROUP BY S#; 4. 问题4 在基本表中,写一个断言,规定每个仓库存储商品的单价为1万元以上的商品种类最多为20种。 答案:CREATE ASSERTION ASSE6 CHECK (20 = ALL ( SELECT COUNT( SG. G#) FROM SG, GOODS WHERE SG. G# = GOODS. G# AND PRICE 10000 GROUP BY S#); 试题四阅读下列说明,回答下列问题。 说明 某健身俱乐部要开发一个信息管理系统,该信息系统的部分关系模式如下: 员工(员工身份证号,姓名,工种,电话,住址) 会员(会员手机号,姓名,折扣) 项目(项目
11、名称,项目经理,价格) 预约单(会员手机号,预约日期,使用时长) 消费(流水号,消费金额,消费日期) 有关关系模式的属性及相关说明如下: (1)俱乐部有多种健身项目,不同的项目每小时的价格不同。俱乐部实行会员制,且需要电话或在线提前预约。 (2)每个项目都有一个项目经理,一个经理只能负责一个项目。 (3)俱乐部对会员进行积分,达到一定积分可以进行升级,不同的等级具有不同的折扣。 根据以上描述,回答下列问题: 1. 请将下面创建消费关系的SQL语句的空缺部分补充完整,要求指定关系的主码、外码,以及消费金额大于零的约束。 CREATE TABLE 消费 ( 流水号 CHAR(12) (a) , 会
12、员手机号 CHAR(11), 项目名称 CHAR (8), 消费金额 NUMBER (b) , 消费日期 DATE, (c) , (e) , ); 答案:(a)PRIMARY KEY(或NOTNULL UNIQUE) (b)CHECK (消费金额0) (c)FOREIGN KEY (会员手机号) REFERENCES 会员 (会员手机号) (d)FOREIGN KEY (项目名称) REFERENCES 项目 (项目名称)解析 本题考查SQL的应用,属于比较传统的题目,考查点也与往年类似。 本问题考查数据定义语言DDL和完整性约束。根据题意,需要对“消费”表的“流水号”加主键(或非空)约束,考
13、查实体完整性约束,对应的语法为: PRIMARY KEY (或NOT NULL UNIQUE) “消费金额”需要大于0,所以需要加Check约束,对应的语法为: CHECK (消费金额0) “会员手机号”是“会员”关系的主键,是“消费”关系的外键,考查参照完整性约束,需要增加外键约束,对应的语法为: FOREICNKEY (会员手机号) REFERENCES 会员 (会员手机号) “项目名称”是“项目”关系的主键,是“消费”关系的外键,考查参照完整性约束,需要增加外键约束,对应的语法为: FOREIGN KEY (项目名称) REFERENCES 项目 (项目名称)、 2. (1)手机号为18
14、812345678的客户预约了2014年3月18日两个小时的羽毛球场地,消费流水号由系统自动生成。请将下面SQL语句的空缺部分补充完整。 INSERT INTO 消费(流水号,会员手机号,项目名称,消费金额,消费日期) SELECT201403180001羽毛球, (e) , 2014/3/18 FROM 会员, 项目, 预约单 WHERE 预约单项目名称=项目.项目名称 AND (f) AND 项目.项目名称=羽毛球 AND 会员.会员手机号 (2)需要用触发器来实现会员等级折扣的自动维护,函数float vip_value(char(11
15、)会员手机号)依据输入的手机号计算会员的折扣。请将下面SQL语句的空缺部分补充完整。 CREATE TRIGGER VIP_TRG AFTER (g) ON (h) REFERENCING new row AS nrow FOR EACH ROW BEGIN UPDATE 会员 SET (i) WHERE (j) ; END 答案:(1)(e)价格*使用时长*折扣 (f)预约单.会员手机号=会员.会员手机号 (2)(g)INSERT (h)消费 (i)折扣=vip_value(nrow.会员手机号) (j)会员.会员手机号=nrow.会员手机号解析 本问题考查数据操纵语言DML。 (1)本题考
16、查一个较完整的查询语句,需要向“消费”关系插入新元组。 SELECT子句缺少“消费金额”。消费金额=价格*使用时长*折扣。 WHERE子句缺少“预约单”关系和“会员”关系按照“会员手机号”的连接,因此应该增加“预约单.会员手机号=会员.会员手机号”。 (2)本题考查触发器,触发器是一个能由系统自动执行对数据库修改的语句。一个触发器由事件、条件和动态三部分组成:事件是指触发器将测试条件是否成立,若成立就执行相应的动作,否则就什么也不做;动态是指若触发器测试满足预定的条件,那么就由数据库管理系统执行这些动作。本题首先定义触发器的事件,用触发器来实现会员等级折扣的自动维护。 (g)和(h)缺少向“消
17、费”关系插入的语句,因此应该分别补充“INSERT”和“消费”。 (i)语句调用vip_value函数实现会员折扣的更新,函数参数为会员手机号,因此应该补充“折扣=vip_valeLe(nrow. 会员手机号)”。 (j)语句实现“会员”关系和“nrow”关系按照“会员手机号”的连接,因此应该补充“会员. 会员手机号=nrow. 会员手机号”。 3. 请将下面SQL语句的空缺部分补充完整。 (1)俱乐部年底对各种项目进行绩效考核,需要统计出所负责项目的消费总金额大于等于十万元的项目和项目经理,并按消费金额总和降序输出。 SELECT 项目.项目名称, 项目经理, SUM(消费金额) FROM
18、项目, 消费 WHERE (k) GROUP BY (l) ORDER BY (m) ; (2)查询所有手机号码以“888”结尾,姓“王”的员工姓名和电话。 SELECT 姓名, 电话 FROM 员工 WHERE 姓名 (n) AND 电话 (o) . 答案:(1)(k)项目.项目名称=消费.项目名称 (1)项目.项目名称,项目经理 HAVING SUM(消费金额)=100000 (m)SUM(消费金额) DESC (2)(n)LIKE王% (o)LIKE%888解析 本问题考查数据操纵语言DML。 (1)本题考查一个较完整的查询语句,知识点包括多表查询、集函数、查询分组、分组条件和排序查询结
19、果。查询涉及“项目”和“消费”关系模式。用集函数SUM(消费金额)求消费总金额,若有GROUP BY子句,则集函数作用在每个分组上,且GROUP BY之后应包含除了集函数之外的所有结果列。若GROUP BY之后跟有HAVING子句,则只有满足条件的分组才会输出。“ORDER BY列名ASCD|DESC”对输出结果进行升序或降序的排列,若不明确制定法升序或降序,则默认升序排列。 (2)本题考查用关键字LIKE进行字符匹配。 LIKE的语法为: NOT LIKE匹配串 其中,匹配串可以是一个完整的字符串,也可以含有通配符%和,其中%代表任意长度(包括0长度)的字符串, 代表单个字符。手机号码以“8
20、88”结尾,姓“王”的员工对用的表示为:姓名LIKE王%AND电话LIKE%888。 试题五阅读下列说明,根据要求回答问题。 说明 某银行的转账业务分为如下两类操作。 (1)读取账户A余额到变量x,记为x=R(A)。 (2)将变量x值写入账户A中的余额,记为W(A,x)。 从账户A向账户B转账金额x元的伪代码操作序列为:a=R(A),a=a-x,W(A,a),b=R(B),b=b+x,W(B,b)。 针对上述业务及规则,完成下列问题。 1. 根据业务规则,转账业务要么被全部执行,要么全部不执行,应如何保障? 假设参与转账的账户余额有大于等于0的约束,上述伪代码执行中可能出现什么情况?应如何处理
21、?请用100字以内的文字进行阐述。 答案:这是一道要求读者掌握事务基本概念及其应用的综合分析题,本题的解答思路如下。 根据银行业务规则,转账业务要么被全部执行,要么全部不执行。事务是一个完整的业务逻辑处理,原子性要求是为了保证现实业务的正确执行。若将转账业务作为一个完整的事务,则能保障其所有操作要么全部执行,要么全部不执行。 从账户A向账户B转账金额x元的伪代码操作序列为:a=R(A),a=a-x,W(A,a),b=R(B),b=b+x,W(B,b)。假设参与转账的账户余额有大于等于0的约束,当A账户金额小于转账金额x时,转账过程中会因为其余额小于0而违反该约束,不能被执行。此时需要回滚事务,
22、转账业务不能被执行。 2. 若允许对同一账号同时进行转账,要保证转账程序的并发执行,引入共享锁指令SLock(b)和独占锁指令xLock(A)对数据A进行加锁,解锁指令Unlock(A)对数据A进行解锁。 请补充上述转账业务的伪代码序列,使其满足2PL协议。 答案:这是一道要求读者掌握2PL协议实际应用的综合理解题,本题的解答思路如下。 在并发状态下,可能会相互干扰破坏事务的ACID属性,加锁机制是保障事务正确执行的一种机制。2PL协议能够保证事务并发状态下调度的正确性,即可串行化的调度。其内容: 在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁。 在释放一个封锁之后,事务不再申请和获得任何其他封锁。 若允许对同一账号同时进行转账,要保证转账程序的并发执行,引入共享锁指令SLock(B)和独占锁指令XLock(A)对数据A进行加锁,解锁指令Unlock(A)对数据A进行解锁。用伪代码描述,即在R()、W()操作之前分别加指令SLock()和XLock,不再使用数据之后再解锁,且第一个解锁指令后不能再有加锁指令。对于题干中转账业务的伪代码序列,使其满足2PL协议的伪代码程序如下。 XLock(A),a=R(A),a=a-x,W(A,a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西方政治制度对移民公民化的影响试题及答案
- 叉车全部考试题库及答案
- 2025年环境政策与地方实施考试题及答案
- 软件设计师考试团队项目展示与试题及答案
- 兔玩网java面试题及答案
- java程序员进bat面试题及答案
- 动画驾驶考试题及答案
- 人大哲学面试题及答案
- 华泰证券java面试题及答案
- 自我反思的抒情作文5篇
- 世界环境日主题课件
- 职业道德与法治 第13课《学会依法维权》第一框课件《依法理性维权》
- 邻近铁路营业线施工安全监测技术规程 (TB 10314-2021)
- 妇科常见病科普知识讲座
- 城市土壤主要类型及特点
- 宾馆财务安全管理制度
- 《康复护理学基础》期末考试复习题库(含答案)
- 宝钢武钢并购重组案例研究
- 胰岛素的种类及应用(共26张PPT)
- 眩晕诊疗方案总结优化
- 转让鱼塘股份合同范本
评论
0/150
提交评论