资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
中级数据库系统工程师下午试题分类模拟题1试题一 说明 设有三个关系: BOOK (BNO,BNAME,PUBLISH_YEAR,PRICE,PRESS) READ(RNO,RNAME,DUTY) BR(BNO,RNO,RETURN_DAY) 试用关系代数表达式表示下列查询语句:1、 问题1 检索读者号为01的读者所借的所有的书名。2、 问题2 检索读者DAVID没有借的书号。3、 问题3 检索在1988年以前出版的书名。4、 问题4 检索被DUTY为老师的读者借出的所有的书名。5、 问题5 检索借了书号为BOOKl这本书的读者号。试题二6、 将下面的SQL语句补充完整,完成“01号仓库所存储的原材料信息只能由管理员李劲松米维护,而采购员李强能够查询所有原材料的库存信息”的功能。 CREATE VIEW raws_in_wh01 AS SELECT (g) FROM 原材料 WHERE仓库号=01; GRANT (h) ON (i) TO 李劲松; GRANT (j) ON (k) TO 李强;试题三某制造企业厂商要求“入席单”如下: 7、试设计出与此“入库单”相关联的所有关系模式(不包括财务)。8、若此企业的数据库席用系统在运行一段时间后,出现了明显的数据访问和处理的变慢,试度分析可能的原冈,并简述应如何采取怎样的相应措旌来解决此问题。试题四9、 简述活锁和死锁的概念,死锁的测试,解除死锁的方法。试题五阅读下列说明,回答下列问题。 说明 某高速路不停车收费系统(ETC.的业务描述如下: 10车辆驶入高速路入口站点时,将驶入信息(ETC卡号,入口编号,驶入时间)写入登记表; 11车辆驶出高速路出口站点(收费口)时,将驶出信息(ETC卡号,出口编号,驶出时间)写入登记表;根据入口编号、出口编号及相关收费标准,清算应缴费用,并从绑定的信用卡中扣除费用。 一张ETC卡号只能绑定一张信用卡号,针对企业用户,一张信用卡号可以绑定多个ETC卡号。使用表绑定(ETC卡号,信用卡号)来描述绑定关系,从信用卡(信用卡号,余额)表中扣除费用。 针对上述业务描述,完成下列问题:10、在不修改登记表的结构和保留该表历史信息的前提下,当车辆驶入时,如何保证当前ETC卡已经清算过,而在驶出时又如何保证该卡已驶入而未驶出?请用100字以内文字简述处理方案。11、当车辆驶出收费口时,从绑定信用卡余额中扣除费用的伪指令如下:读取信用卡余额到变量x,记为x=RA.;扣除费用指令x=x-a;写信用卡余额指令记为W(A,x)。 (1)当两个绑定到同一信用卡号的车辆同时经过收费口时,可能的指令执行序列为:x1=RA.,x1=x1-a1,x2=RA.,x2=x2-a2,W(A,x1),W(A,x2)。此时会出现什么问题?(100字以内) (2)为了解决上述问题,引入独占锁指令XLoekA.对数据A进行加锁,解锁指令UnlockA.对数据A进行解锁。请补充上述执行序列,使其满足2PL协议。12、下面是用E-SQL实现的费用扣除业务程序的一部分,请补全空缺处的代码。 CREATE PROCEDURE 扣除 (IN ETC 卡号 VARCHAR(20),IN费用FLOAT) BEGIN UPDATE 信用卡 SET 余额=余额-费用 FROM 信用卡,绑定 WHERE 信用卡.信用卡号=绑定.信用卡号 AND (a) ; if error then ROLLBACK; else (b) ; END答案:试题一1、BNAME(RN0=01(BOOKDBR) 2、BNO(BOOK)-BNO(RNAME=DAVID(READBR) 3、RNAME(PUBLIJSH_YEAR1998(BOOK) 4、BNAME(BNO(BOOK) -BNO(DUTY=老师(READDBR)(BOOK) 5、RNO(BR)divideBNO(BSO=BOOKI(BOOK) 试题二6、 (g) *或编号,名称,数量,储备量,仓库号 (h) INSERT,DELETE,UPDATE (j) raws in wh01 (j) SELECT (k) 原材料解析 本问题考查应试者对SQL视图定义和授权语句的掌握。题干给出了通过视图和授权机制实现数据库安全性的方法:建立了01号仓库的视图,将对视图的更新权限赋给李劲松。题干同时要求对原材料的查询权限赋予李强,可以直接使用授权语句。授权的基本语法:GRANT 权限 ON 对象 TO用户名;试题三7、商品表(货品编码,货品名称,计量单位,入库价格.) 供应商(供应商代号,供应商名称,电话,地址.) 员工表(员工代号,员工名称,工资.) 入库单表头(入库单号,入库时间,供货单位,录入贝,审核员,金额总计.)入库单明细(入库单号,货品编码,入库数量,入库价格.)(2) 8、企业的数据库系统在运行一段时间后,山于数据量的急增和各业务的全而展开,会导致系统的响应速度变慢。可从以下几方面考虑此问题并采取相应的措施: 对硬盘进行碎片整理; 对大数据量表进行重新索引,对关联表的关联项进行索引: 根据事务监控数据机,判断是还有频繁,产生死锁的事务,对事务加以修改; 扩充数据文件和事务日志文件的容量,以增加剩余空间; 调整DBMS的各项参数,使之趋于更合理; 导出不再使用的历史数据; 系统硬件升级,包括增加内存、换用高速硬盘、更换服务器等。另外必要时,也可对最初的设计方案进行调整: ()可将一些前台的操作尽量州存储过程米实现。冈为存储过科可轻松地执行一系列复杂的操作,而不是那些传统的冗K的T-SQL语句。一个设计良好的存储过程可以显著减少客户端与服务器端的往返通讯,甚至可以压缩至一次调用。另外,使用远程调用(RPC)服务器端的存储过程可以提高执行序列的重用性,从而提高性能。 ()有些用于询的数据模式,甚至可以利用反规范化的策略来提高效率。如有选修关系模式:选修(学号,选修课程代号,成绩)。但是当丌学时期学生查分操作过多会导致系统处理速度变慢,这时可以考虑增加一个人冗余的模式米提高效率,如增加一个模式: (学号,选修课程1,成绩1,选修课程2,成绩2.,选修课程n,成绩n),通过增加冗余的手段来提高性能。 试题四9、活锁是指某个事务永远处于等待状态,得不到执行的现象死锁是指有两个以上:的事务处于等待状态,每个事务都在等待其中一个事务解除封锁,它才能继续执行下去,结果任何一个事务都尤法执行,这种现象叫死锁。死锁的测试:DDNS中有一个死锁测试程序,每隔一段时间检查并发的事务之间是否发生死锁。解除死锁的方法:选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁,使其他事务能继续运行下去。 试题五10、在车辆驶入时判定登记表上对应该ECT卡的所有记录,出口编号和驶出时间均不为空,表示该卡已清算过;在车辆驶出时判定该卡存在记录有驶入信息而出口编号和驶出时间为空。解析 本题考查事务概念及应用,属于比较传统的题目,考查点也与往年类似。 本问题考查应用需求。一次通过包含经过入口站点和经过出口站点,由于ETC卡存在反复使用,所以应将经过入口和出口严格配对。根据历史记录,进入站点时应该没有未配对的入口信息,即所有的经过信息均有配对的入口和出口记录;出口时仅有唯一的入口信息。 解决这些问题的最好办法是把入口和出口信息作为一条记录,用来记录每一次经过。经过入口站点时插入新记录,出口信息字段为空值,经过出口站点时再修改为相应的值。11、(1)出现问题:丢失修改,x1的费用扣除后写入的值被x2的覆盖,造成对x1并未扣费。 (2)加锁后的执行序列:XLock(A), x1=R(A), x1=x1-a1, W(A, x1), Unlock(A), XLock(A), x2=R(A), x2=x2-a2, W(A, x2), Unlock(A)。解析 本问题考查并发控制。两辆车同时经过收费口,会对信用卡的同一余额数据进行操作,可能会造成数据的不一致。根据给定的指令执行序列“x1=R(A), x1=x1-a1,x2=R(A), x2=x2-a2, W(A, x1),W(A, x2)”, W(A, x1)指令对数据对象A写入的x1值会被随后的x2值所覆盖,造成丢失修改的错误。 解决的办法是引入锁机制,在修改数据前加独占锁,写入数据后再释放锁,符合两段锁协议的规定,则会避免产生数据不一致性问题。12、(a)ETC卡号=:ETC卡号 (b)COMMIT解析 本问题考查存储过程及事务程序的实现。修改语句中条件部分的空缺为输入参数中的ETC卡号,判定语句中的空缺为事务的提交指令。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号