数据库系统工程师下午15_第1页
数据库系统工程师下午15_第2页
数据库系统工程师下午15_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 模拟 数据库系统工程师下午 15填空题试题一 说明 某工程数据库关系表如下:第 1 题: 问题 1 找出关系表“工程”和表“工作人员”所有可能的候选键及外键;参考答案: 表“工程”有两个候选键为 ( 工程号)或(负责人) ;表“工作人员”的候选键 为(工程号,姓名 ) 或( 工程号,人员编号 ) 其外键是“工程号”。详细解答:第 2 题: 问题 2关系表“工作人员”最高满足第几种范式 ?叙述其存在何种数据异常参考答案:表“工作人员”满足1NF但存在数据异常:若选用主键(“工程号,人员编 号”),则“人名编号”-“姓名”。详细解答: 第 3 题: 问题 3修改问题 2中的数据异常,使关系表“工

2、作人员”满足高一级范式参考答案:可改成 2NF: 工作人员 1(工程号, 人员编号, 所在部门, 工作天数) 工作人 员 2( 人员编号,姓名 )详细解答: 第 4 题: 问题 4问表“工程”最高可到达几级范式 ?并写出其最高级范式参考答案:“工程”表最高可到达BCNF范式,其分解成的关系模式为:工程1(工程号, 负责人 ) 工程 2( 工程号,工程所在地 )详细解答:试题二第 5 题:下面是创建项目关系的SQL语句。请实现相关的完整性约束。CREATE TABL项目(项目编号 CHAR(6),项目名称 VARCHAR(20,)状态 CHAR(1) CHECK _(c)_,城市 VARCHAR

3、(20,) 负责人编号 CHAR(6) _(d)_,FOREIGNKEY _(e)_REFERENCES _(f)_);参考答案:(c)(状态IN('O', 1')(d)NOT NULL(不区分人小写)(e)负责人编号 (f) 职工(职工编号 )详细解答:试题三 说明 已知某儿童医院的医疗数据库的模式如下:PATIENT (PNUM, PNAM,ESEX, AGE)DOCTOR (DNU,MDNAM,EDEPT)ORDER (PNU,MDNU,MNUMBER)其中PNUMfe示病人号,PNAM表示病人姓名,SEX表示病人的性别,AGE 表示病人的年龄,DNUM表示医生工

4、作号,DNAM表示医生的姓名,DEPT表示医 生所在的科室,NUMBE表示医生给病人所看病的次数。试定义下列完整性约束:第 6 题: 问题 1在PATIENT中插入病人的性别时必须为“男”或“女”,年龄在118岁之间。 参考答案:在定义 PREAT时使有检查子句:CREATETABLEPATIENT( PNUM CHAR(4), PNAMECHAR(S) NOT NULL, SEX CHAR (2),AGE SMALLINT, PRIMARYKEY( PNUM), CHECK( SEX:'男 OR SEX ='女;CHECK(AGE =0 AND AGE = 18) );详细解

5、答:第 7 题: 问题 2在ORDE中插入元组时,其中的 DNUM口 PNUM、须出现在 PATIENT和 DOCTO中。 参考答案:在定义ORDER寸使用权用外键约束 CREATETABLE ORDER(PNUMCHAR(4),DNUMCHAR(4),NUMBERREAL,PRIMARYKEY( PNUM, DNUM),PRIMARY KEY ( PNUM ) REFERENCES PATIENT( PNUM),PRIMARY KEY (DNUM) REFERENCES DOCTOR(DNUM), )详细解答:试题四 第 8 题: 简述数据库的运行维护阶段的主要工作是什么 ? 参考答案: 数

6、据库运行维护阶段的主要工作是: 维护数据库的安全性与完整性控制 及系统的转储和恢复性能的监督、分析和改进增加新功能发现错误, 修改错误详细解答:试题五 说明 某停车场有多个入口和出口, 车辆进入时从入口处由系统查询可用的停 车位,从出口驶出时系统将其刚使用的车位标记为空车位。假设实现停车场管理的伪指令如下表 1所示:根据上述描述,在入口处的伪代码程序为:x=Get() ;IF x=NULL THEN return 0 Writ(x,1) ; 第 9 题: 问题 1若两辆车在不同的入口处同时执行上述代码,会出现什么问题 ? (100 字以 内描述 ) 参考答案: 若两辆车在不同的入口处同时执行代

7、码,可能造成两辆车争用同一停车位。 即两车同时申请到一个停车位,并置为占用状态。详细解答:第 10 题: 问题 2 为保证入口处伪代码正确地并发执行,引入共享锁指令 SLock(T) 和独占锁 指令XLock(T)对表T进行加锁;Upgrade(T)对表T所加的共享锁升级为独占 锁;解锁指令Uniock(T)对表T进行解锁。(1) 请修改上述入口处的伪代码程序,使其满足 2PL 协议。(2) 满足2PL协议的入口处的伪代码程序,在并发执行时是否会产生死锁?若是,给出一个产生死锁的调度。 参考答案:满足 2PL协议的伪代码:SLock(T) ; x=Get() ; IF x=NULLTHENre

8、turn 0 ; Upgrade(T) Writ(x , 1) ; Uniock(T) ;(2) 会产生死锁,调度如下:注:调度次序不局限于本参考答案,但执行语句不能写在一行,必须是并发 而不能是串行,且在 Upgrade 后等待。详细解答: 第 11 题: 问题 3若停车位表的关系模式为: park(parkno,isused) ,其中 parkno 为停车位 号, isused 为停车位标志, 0 为空, 1为非空。下面是用E-SQL实现的查询空车位的函数 Get(),请补全空缺处的代码。SET TRANSACTION ISOLATION LEVEL SERIALIZABLEEXEC SQL DECLARE getblk CURSOR FOR_(a)_;EXEC SQL OPEN getblk;EXEC SQL FETCH getblk INTO:Hparkno;/Hparkno 为已声明的主 变量IF SQLCAsqlcode=100 THENEXEC SQL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论