题库 题库
🏘️ 爱查询 > 题库 > 数据库系统工程师应用技术

数据库系统工程师应用技术

简答题 试题一(15分)
    阅读下列说明和数据流图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入读者文件。
    系统的图书管理功能分为四个方面:购入新书、读者借书、读者还书以及图书注销。
    1.购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为
止,购入此种图书的数量)。
    2.读者借书时需填写借书单。借书单内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过5本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。
    3.读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。
    4.注销图书时,需填写注销单并修改图书目录文件中的库存总量。
    系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。
    图书管理系统的顶层图如图1-1所示;图书管理系统的第0层DFD图如图1-2所示,其中,加工2的细化图如图1-3所示。
【数据流图1-1】

【数据流图1-2】
 
【数据流图1-3】
 
【问题1】(2分)
    数据流图1-2中有两条数据流是错误的,请指出这两条数据流的起点和终点。
【问题2】(6分)
    数据流图1-3中缺少三条数据流,请指出这三条数据流的起点和终点。
【问题3】(7分)
    根据系统功能和数据流图填充下列数据字典条目中的(1)和(2):
    查询请求信息=[查询读者请求信息| 查询图书请求信息]
    读者情况=读者号+姓名+所在单位+{借书情况}
    管理工作请求单= (1)
    入库单= (2)
查看答案
简答题 试题二(20分)
    阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
【说明】
    某工厂的信息管理数据库的部分关系模式如下所示:
    职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)
    部门(部门号,部门名,负责人代码,任职时间)
    关系模式的主要属性、含义及约束如表2-1所示,“职工”和“部门”的关系示例分别如表2-2和表2-3所示。
 
 

 
【问题1】根据上述说明,由SQL定义的“职工”和“部门”的关系模式,以及统计各部门的人数C、工资总数Totals、平均工资Averages的D_S视图如下所示,请在空缺处填入正确的内容。(6分)
Create Table部门( 部门号 CHAR(1) (a) ,
    部门名 CHAR(16),
    负责人代码 CHAR(4),
    任职时间 DATE,
    (b)(职工号));
    Create Table 职工( 职工号 CHAR(4),
                    姓名 CHAR(8),
                    年龄 NUMBER(3),
                    月工资 NUMBER(4),
                    部门号 CHAR(1),
                    电话 CHAR(8),
                    办公室 CHAR(8),
    (a)(职工号),
    (b)(部门号),
                    CHECK ( (d) ));
    Create View D_S(D,C,Totals,Averages) As
                    ( Select 部门号, (e)
                    from 职工
(f))

【问题2】对于表2-2、表2-3所示的“职工”和“部门”关系,请指出下列各行是否可以插入,为什么?(3分)
 
【问题3】在问题1定义的视图D_S上,下面哪个查询或更新是允许执行的,为什么?(3分)
    (1)Update D_S set D=3 where D=4;
    (2)Delete from D_S where C>4;
    (3)Select D, Averages from D_S
    where C>(Select C from D_S where D=:dept);
    (4)Select D,C From D_S
    where Totals>10000;
    (5)Select * from D_S;
【问题4】查询每个部门中月工资最高的“职工号”的SQL查询语句如下:
    Select 职工号 from 职工 E
    where 月工资=(Select Max(月工资)
                    from 职工 as M
                    where M. 部门号=E. 部门号)
    (1)请用30字以内文字简要说明该查询语句对查询效率的影响。(3分)
    (2)对该查询语句进行修改,使它既可以完成相同功能,又可以提高查询效率。(3分)
【问题5】假定分别在“职工”关系中的“年龄”和“月工资”字段上创建了索引,如下的Select查询语句可能不会促使查询优化器使用索引,从而降低查询效率,请写出既可以完成相同功能又可以提高查询效率的SQL语句。(2分)
    Select 姓名,年龄,月工资 from 职工
    where 年龄>45 or 月工资<1000;
查看答案
简答题 试题三(20分)
    阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
【说明】
    某仓储超市采用POS(Point of Sale)收银机负责前台的销售收款,为及时掌握销售信息,并依此指导进货,拟建立商品进、销、存数据库管理系统。该系统的需求分析已经基本完成,下面将进入概念模型的设计。
【需求分析结果】
    1. 销售业务由POS收银机来辅助实现。POS机外接条码阅读器,结帐时收银员将商品的条码通过阅读器输入POS机中。所售商品数量默认值为1,可以由收银员修改。POS机根据输入的商品信息,打印出图3-1所示的购物清单。
 
    2. 将经销的商品分为直销商品和库存商品两大类。直销商品的保质期较短,如食品类,由供应商直接送达超市,管理员将过期的商品返还给供应商处理;库存商品由采购员向供应商提交订购单,供应商根据订购单送货。超市会不定期对库存商品按照折扣率进行打折优惠。
    直销商品和库存商品的送货单样表分别如图3-2、图3-3所示,其中直销商品生产批号的前六位表示生产日期。
 
 
    3.超市的硬件拓扑结构如图3-4所示。
 
    4.业务处理过程:由POS机存储每一笔销售记录,在每个工作日结束前汇总当日各商品的销售量至中心数据库(销售日汇总);根据当日的销售日汇总更新存货表;每笔进货记入进货表中,并及时更新存货表。
【概念模型设计】根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:
1.实体联系图
 
2.关系模式
    销售详单(销售流水号,商品编码,数量,金额,收银员,时间)
    销售日汇总(日期,商品编码,数量)
    存货表(商品编码,数量)
    进货表(送货号码,商品编码,数量,日期)
    商品( (b) )

【问题1】
    对直销商品和库存商品进行概括,给出超类和子类,填入图3-5中(a)处所示的虚线框内,并补充联系。(5分)
【问题2】
    根据你的实体联系图,完成(b)处的商品关系模式,并增加子类型的实体关系模式。(3分)
【问题3】
    对所有关系模式,以下划线指出各关系模式的主键。(4分)
【问题4】
    如果将商品信息只存储在中心数据库中,与在各POS机上存储其备份相比,从前台销售效率和更新商品库两方面论述各自的优缺点(不超过300字)。(4分)
【问题5】
    如果考虑引入积分卡,根据累积消费金额计算积分点,再根据积分点在顾客购物时进行现金返还,并修改顾客的累积消费金额和积分点。请给出新增加的积分卡关系模式,并对销售详单关系模式进行修正,指出修正后关系模式和新增关系模式的候选键和外键。(4分)
查看答案
简答题 试题四(20分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    M公司为某旅游公司设计机票销售专用数据库,其关系模式如图4-1所示。
 
    图4-1机票销售专用数据库
    关系模式的主要属性、含义及约束如表4-1所示,属性间的函数依赖关系如图4-2所示,属性间函数依赖的标记方法如图4-3所示。
    表4-1 主要属性、含义及约束
 
    旅客旅行前需要向旅行社提出申请,说明要参加的旅行团队。旅行社建立的旅行申请包括,旅行出发日期和到达日期的机票预订、购票等信息。旅行社还需要为每个团队制定“旅程”和“搭乘航班”表。有关“旅程”和“搭乘航班”的示例如表4-2、表4-3所示。
 
【问题1】对关系“航班”,请回答以下问题:(6分)
    (1)列举出所有不属于任何候选键的属性(非键属性)。
    (2)关系“航班”可达到第几范式,用不超过60个字的内容叙述理由。
【问题2】对关系“旅客”,请回答以下的问题:(6分)
    (1)针对“旅客”关系,用100字以内文字简要说明会产生什么问题,并加以修正。
    (2)列出修正后的关系模式的所有候选键。
    (3)把“旅客”分解为第三范式,并用图4-1所示的关系模式的形式表示,分解后的关系名依次取旅客1、旅客2、…。
【问题3】对关系“搭乘航班”,请回答以下的问题:(8分)
    (1)把非平凡的多值依赖属性(图4-2中没有表示)的例子用满足图4-3的方式表示出来。
    (2)关系“搭乘航班”是boyce codd范式而不是第四范式,请用200字以内文字阐述理由。
    (3)把“搭乘航班”关系分解成第四范式,并采用图4-1所示的关系模式的形式表示,分解后的关系名依次取搭乘航班1、搭乘航班2、…。
查看答案
简答题 试题一(15分)
    阅读以下说明和数据流图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
  学生住宿服务系统帮助学生在就学的城市内找到所需的住房,系统对出租的房屋信息、房主信息、需要租房的学生信息以及学生和房主的会面信息进行管理和维护。
  房主信息包括姓名、地址、电话号码以及系统分配的唯一身份标识(ID)和密码;房屋信息包括房屋地址、类型(单间/套间)、适合住宿的人数、房租、房主的ID以及现在是否可以出租(例如由于装修原因,需等到装修后才可出租或者房屋已被租出)。每当房屋信息发生变化时,房主须通知系统,系统将更新房屋文件以便学生能够获得准确的可租用房屋信息。房主向系统中加入可租用的房屋信息时,需交纳一定的费用,由系统自动给出费用信息。房主可随时更新房屋的各种属性。
  学生可通过系统查询现有的可租用的房屋,但必须先在系统中注册。学生信息包括姓名、现住址、电话号码、出生日期、性别以及系统分配的唯一身份标识(ID)和密码。若学生希望租用某房屋,则需要发出租房请求,请求中包含房屋的详细信息,系统将安排学生与房主会面的时间和地点,并将会面信息通知学生和房主。会面信息包括会面时间、地点以及会面双方的基本信息,系统将记录会面信息。
  学生住宿服务系统的顶层图如数据流图1-1 所示;学生住宿服务系统的第0层DFD图如数据流图1-2所示,其中,加工3的细化图如数据流图1-3所示。

【问题1】(6分)
    (1)数据流图1-1缺少了一条数据流(在图1-2中也未给出该数据流),请给出此数据流的起点和终点,并采用说明中的词汇给出此数据流名。

    (2)数据流图1-2中缺少了与“查询房屋”加工相关的数据流,请指出此数据流的起点和终点。
【问题2】(4分)
    “安排会面”加工除需要写入会面文件外,还需要访问哪些文件?
【问题3】(5分)
    请补齐下列数据字典条目:
    登录信息 = 学生ID + 密码
    注册信息 = ___________

[数据流图1-1]
 
[数据流图1-2]
 
[数据流图1-3]
 
查看答案
简答题 试题二(20分)
    阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
【说明】
    某工厂的仓库管理数据库的部分关系模式如下所示:
    仓库(仓库号,面积,负责人,电话)
    原材料(编号,名称,数量,储备量,仓库号)
    要求一种原材料只能存放在同一仓库中。“仓库”和“原材料”的关系实例分别如表2-1和表2-2所示。
 
【问题1】根据上述说明,用SQL定义“原材料”和“仓库”的关系模式如下,请在空缺处填入正确的内容。(4分)
    CREATE  TABLE  仓库( 仓库号  CHAR(4),
                            面积  INT,     
                            负责人  CHAR(8),
                            电话  CHAR(8),
                            (a)        ) ;    //主键定义
    CREATE  TABLE  原材料( 编号  CHAR(4)    (b)    ,  //主键定义
                            名称  CHAR(16),
                            数量  INT,
                            储备量  INT,
                            仓库号    (c)  ,
                            (d)            ) ;    //外键定义
【问题2】将下面的SQL语句补充完整,完成“查询存放原材料数量最多的仓库号” 的功能。(3分)
    SELECT  仓库号
    FROM  (e)
    (f)          ;
【问题3】将下面的SQL语句补充完整,完成“01号仓库所存储的原材料信息只能由管理员李劲松来维护,而采购员李强能够查询所有原材料的库存信息”的功能。(5分)
    CREATE  VIEW  raws_in_wh01  AS
          SELECT  (g)
          FROM  原材料
          WHERE  仓库号 = “01” ;
    GRANT  (h)  ON  (i)  TO 李劲松;
    GRANT  (j)  ON  (k)  TO 李强;
【问题4】仓库管理数据库的订购计划关系模式为:订购计划(原材料编号,订购数量)。采用下面的触发器程序可以实现“当仓库中的任一原材料的数量小于其储备量时,向订购计划表中插入该原材料的订购记录,其订购数量为储备量的三倍”的功能。请将该程序的空缺部分补充完整。(3分)
    CREATE TRIGGER ins_order_trigger AFTER  (l)  ON 原材料
          REFERENCING NEW ROW AS nrow
          FOR EACH ROW
          WHEN nrow.数量< nrow.储备量
          INSERT INTO 订购计划 VALUES
          (  (m)  ,  (n)  );
【问题5】 如果一种原材料可以在多个仓库中存放,则问题4中的触发器程序存在什么问题,如何修改?(5分)
查看答案
简答题 试题三 (20分)
    阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
【说明】
  某市人才交流中心为促进当地人力资源的合理配置,加强当地企业与人才的沟通,拟建立人才信息交流网。

【需求分析结果】
    1. 每个前来登记的个人需填写《人才入库登记表》(如表3-1所示),并出示相关证件,经工作人员审核后录入个人信息。
    2. 每个前来登记的企业需填写《企业信息登记表》(如表3-2所示),并出示相关证明及复印件,经工作人员核实后录入企业信息。
    3. 个人和企业的基本信息只需在第一次登记时填写,个人编号和企业编号由系统自动生成。个人和企业的基本信息由电脑长期存储,以后个人只需提供个人编号和求职意向信息,企业只需提供企业编号和岗位需求信息。
    4. 个人的求职意向信息和企业的岗位需求信息在两个工作日内由工作人员录入数据库并发布。
 
【概念模型设计】
  根据需求阶段收集的信息,设计人才、岗位和企业的实体联系图(不完整)如图3-1所示:
 
【逻辑结构设计】
    1.将概念模型设计的实体联系图转换为以下关系模式:
    人才(个人编号,姓名,性别,出生日期,身份证号,毕业院校,专业,学历,证书名称,证书编号,联系电话,电子邮件,个人简历及特长)
    企业(企业编号,企业名称,联系人,联系电话,地址,企业网址,电子邮件,企业简介)
    求职意向(    (b)    )
    岗位需求(    (c)    )
    2.由于一个人可能持有多个证书,对“人才”关系模式进行优化,得到如下两个新的关系模式:
    人才(    (d)    )
    证书(    (e)    )
根据上述的设计过程,回答以下问题:

【问题1】在(a)处填入所需的实体、联系及其属性,完成概念模型设计。(4分)
【问题2】在(b)、(c)、(d)、(e)处填入对应关系的属性,完成逻辑结构设计。(4分)
【问题3】对最终的各关系模式,以下划线指出其主键和外键。(5分)
【问题4】张工设计的实体联系图如图3-2所示,请用200字以内的文字分析这样设计存在的问题。(4分)
 
【问题 5】如果允许企业通过互联网修改本企业的基本信息,应对数据库的设计做何种修改?请用200字以内的文字叙述实现方案。(3分)
查看答案
简答题 试题四(20分)
    阅读下面关于项目工作管理系统的数据库设计说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    E软件开发公司,决定开发设计本公司的项目工作管理系统,由王先生承担数据库的设计工作。公司项目管理的需求分析如下:
1)  组织机构:E 公司有多个部门,每个部门有多个职员、多个办公室,每个办公室有一部电话。当部门变更时更换新的部门代码。职员辞职后,若再次被聘用仍使用辞职前的代码。被聘用职员担任某职务,职务用职务代码来标识。职务分为:工程师、高级工程师、经理助理、经理等。职员的工资根据等级区分,共分为S、A、B、C、D五个等级。一个职务对应某个等级,一个等级对应多个职务。职员月工资等于职员月工作时间(小时)乘以小时工资。职员的人事变动以及职位变更(升级、降级)在月初进行。
2)  项目管理:项目用项目代码标识,使用过的项目代码不能重复使用。一个部门可承担多个项目,但一个项目仅由一个部门承担。一个项目有一名项目主管和多个职员;一个职员可参加多个项目。项目代码由系统自动生成,一旦项目建立,项目名、部门代码以及起始年月日不能再变更。
3)  项目的工作管理流程为:项目工作计划输入(初始计划)→工作业绩输入→业绩生成(每月一次)→计划修正(每月一次)。
  (1)  项目工作计划输入:项目主管使用如图 4-1所示的工作计划输入界面,输入项目代码、职员代码、职员参加某个项目的月工作时间(计划)。图中白色部分为可输入项。
 
  (2)  工作业绩输入:输入职员每天参加各个项目的工作时间。图4-2为工作业绩输入界面,图中白色部分为可输入项。其中,出勤时间由考勤系统管理,指定项目代码的顺序可以不同,并且一天可以输入多个项目代码,但同一个项目代码不能重复输入。
  (3)  业绩生成:月底汇总职员的当月工作业绩,生成月工作业绩表。
  (4)  计划修正:项目主管根据项目进度修改以后的工作计划。
 
【问题1】请使用“关系模式标记规则”,给出部门、等级、项目、工作计划关系模式的主键和外键,以及基本函数依赖集F1、F2、F3和 F4。(9分)
【问题2】请将下面关系模式中的(a)和(b)处填入属性名称,要求使用说明中已有的属性名称。(3分)
    (1)王先生设计的关系模式不能管理职务和等级之间的关系,可以通过修改“职务”关系模式实现,修改后的关系模式为:
    职务(              (a)                  )
    (2)为了管理公司职员参加各项目每天的工作业绩,需设计工作业绩关系模式为:
    工作业绩(              (b)                    )
【问题3】
    (1)部门关系模式存在什么问题?请用100字以内的文字阐述原因。为了解决这个问题可将关系模式分解,分解后的关系模式的关系名依次取部门_A、部门_B、…。(4分)
    (2)假定月工作业绩关系模式为:月工作业绩(职员代码,年月,工作时间),请给出“查询职员代码、职员名、年月、月工资”的SQL语句。(4分)
查看答案
简答题 试题一(15分)
    阅读下列说明以及数据流图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某学校建立了一个网上作业提交与管理系统,基本功能描述如下:
    (1) 帐号和密码。任课老师用帐号和密码登录系统后,提交所有选课学生的名单。系统自动为每个选课学生创建登录系统的帐号和密码。
    (2) 作业提交。学生使用帐号和密码登录系统后,可以向系统申请所选课程的作业。系统首先检查学生的当前状态,如果该学生还没有做过作业,则从数据库服务器申请一份作业。若申请成功,则显示需要完成的作业。学生需在线完成作业,单击“提交”按钮上交作业。
    (3) 在线批阅。系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中。
【问题1】(3分)
    如果将数据库服务器(记为DB)作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据存储?
【问题2】(7分)
    根据说明结合问题1的解答,指出在该系统的顶层数据流图中应有哪些数据流。请采用说明中的词汇给出这些数据流的起点、终点以及数据流名称,下表给出了数据流的部分信息,请填充空缺处。
 
【问题3】(5分)
    根据数据流图的设计原则,阅读下图所示的数据流图,找出其中的错误之处。
 
查看答案
简答题 试题二(15分)
    阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
【说明】
    某企业网上销售管理系统的数据库部分关系模式如下所示:
    客户(客户号,姓名,性别,地址,邮编)
    产品(产品号,名称,库存,单价)
    订单(订单号,时间,金额,客户号)
    订单明细(订单号,产品号,数量)
关系模式的主要属性及约束如表2-1所示。
 
客户、产品、订单和订单明细关系及部分数据分别如表2-2、2-3、2-4、2-5所示。
  
【问题1】 以下是创建部分关系表的SQL语句,请将空缺部分补充完整。(3分)
    CREATE TABLE客户(
    客户号 CHAR(5)  ____(a)____ ,
    姓名 CHAR(30),
    性别  CHAR(2)  ____(b)____ ,
    地址 CHAR(30),
    邮编 CHAR(6));
    CREATE TABLE 订单(
    订单号 CHAR (4),
    时间  CHAR (10),
    金额  NUMBER(6,2),
    客户号 CHAR(5) NOT NULL,
    PRIMARY KEY  (订单号),
    ____(c)_____);
【问题2】 请根据如下查询语句,回答问题(d),(e)和(f)(4分)
    SELECT客户号
    FROM订单, 订单明细
    WHERE 订单明细.订单号 = 订单.订单号 AND
            产品号 = ’02’  AND
            数量 > 10;
    (d) 上述查询语句的功能是什么?请简要回答。(30个字以内)
    (e) 将上述查询语句转换成对应的关系代数表达式。
    (f) 上述SQL查询语句是否可以进一步优化?如可以,给出优化后的SQL查询语句。
【问题3】请按题意将下述SQL查询语句的空缺部分补充完整。(3分)
    按客户购买总额的降序,输出每个客户的客户名和购买总额。
    SELECT 客户.客户名,  _____(g)_____
    FROM 客户, 订单
    WHERE 客户.客户号 = 订单.客户号
    _____(h)_____
    _____(i)_____ ;
【问题4】用SQL语句完成下述要求。(3分)
    (1)定义一个描述订单的客户号和对应订单明细中产品号关系的视图:客户产品(客户号,产品号)。
    (2)借助(1)所定义的视图,查询至少购买了01号客户购买的所有产品的客户号。
    SELECT 客户号
    FROM 客户产品 客户产品1
    WHERE  _____(j)_____
        (SELECT *
        FROM客户产品 客户产品2
        WHERE _____(k)_____
            (SELECT *
            FROM客户产品 客户产品3
            WHERE  _____(l)_____ ));
【问题5】当一个订单和对应的订单明细数据入库时,应该减少产品关系中相应的产品库存,为此应该利用数据库管理系统的什么机制实现此功能?请用100字以内的文字简要说明。(2分)
查看答案
简答题 试题三(15分)
    阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
    某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下:
    (1)资料室有图书管理员若干名,他们负责已购入图书的编目和借还工作,每名图书管理员的信息包括工号和姓名;
    (2)读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者ID、姓名、电话和Email,系统为不同读者生成不同的读者ID;
    (3)每部书在系统中对应惟一的一条图书在版编目数据(CIP,以下简称书目),书目的基本信息包括ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数(以下简称册数),不同书目的ISBN号不相同;
    (4)资料室对于同一书目的图书可拥有多册(本),图书信息包括图书ID、ISBN号、存放位置、当前状态,每一本书在系统中被赋予惟一的图书ID;
    (5)一名读者最多只能借阅十本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员登记读者ID、所借图书ID、借阅时间和应还时间,读者还书时图书管理员在对应的借书信息中记录归还时间。
    某书目的信息如表3-1所示,与该书目对应的图书信息如表3-2所示。
 
    系统的主要业务处理如下:
    (1)入库管理:图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则由管理员编写该书的书目信息并录入系统,然后编写并录入图书信息;否则,修改该书目的册数,然后编写并录入图书信息,对于进入流通室的书,其初始状态为“未借出”,而送入阅览室的书的状态始终为“不外借”。
    (2)借书管理:读者借书时,若有,则由管理员为该读者办理借书手续,并记录该读者的借书信息,同时将借出图书的状态修改为“已借出”。
    (3)还书管理:读者还书时,则记录相应借还信息中的“归还时间”,对于超期归还者,系统自动计算罚金(具体的计算过程此处省略)。同时修改该图书的状态为“未借出”。
    (4)通知处理:对于已到期且未归还的图书,系统通过Email自动通知读者。
【问题1】(2分)
    根据以上说明设计的实体联系图如图3-1所示,请指出读者与图书、书目与图书之间的联系类型。
 
【问题2】(2分)
    该图书管理系统的主要关系模式如下,请补充“借还记录”关系中的空缺。
    管理员(工号,姓名)
    读者 读者ID,姓名,电话,Email)
    书目 ISBN号,书名,作者,出版商,出版年月,册数,经办人)
    图书(图书ID,ISBN号,存放位置,状态,经办人)
    借还记录(_____ (a) _____,借出时间,应还时间,归还时间)
    注:时间格式为“年.月.日 时:分:秒”
【问题3】(4分)
    请指出问题2中给出的读者、书目关系模式的主键,以及图书和借还记录关系模式的主键和外键。
【问题4】(7分)
    若系统增加新的预约需求,其业务处理描述如下:
    若图书流通室没有读者要借的书,则可为该读者建立预约登记,需要记录读者ID、书的ISBN号、预约时间和预约期限(最长为10天)。一旦其他读者归还这种书,系统将自动查询预约登记表,若存在有读者预约该书的记录,则将该图书的状态修改为“已预约”,并将该图书ID写入相应的预约记录中(系统在清除超出预约期限的记录时解除该图书的“已预约”状态),同时通过Email通知该预约读者办理借阅手续。对于超出预约期限的预约记录,系统将自动清除。
    为满足上述需要,应对图3-1所示的实体联系图如何修改或补充,请给出修改后的实体联系图,并对关系模式做相应的修改或补充,指出新增关系模式的主键和外键。
查看答案
简答题 试题四(15分)
    阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
    某保险公司需要管理用户投保的相关信息,拟建立针对投保数据、险种数据、缴费数据的管理系统。系统需求分析情况如下:
    1.投保单是缔结保险合同的重要依据,需填写投保人、被保险人、受益人资料等信息。投保单格式如下所示:
 
2.该公司需要管理险种信息以供查询。险种信息包括:险种名称、承保年龄、保险利益、缴费方式、保险费、保险特点等信息。示例如下:
 
    3.业务处理过程。用户可通过网络查询险种,并选择投保的险种。用户直接填写投保书,经过业务员审核通过后,请投保人签字,并由业务员确认投保书。业务员按月查询用户的缴费记录,以便生成相应的缴费通知单。
    
初步设计的关系模式如下所示:
    投保单(投保书号,投保人客户号,被保人客户号,险种名称,身故受益人姓名,受益顺序,受益人身份证号码,业务员姓名,业务员联系方式,投保日期)
    客户信息(客户号,姓名,性别,出生日期,身份证号码,联系地址,邮政编码)
    缴费记录(投保书号,缴费月份,缴费金额,欠款,节余,滞纳金)
    险种信息(险种名称,承保年龄,保险利益,缴费方式,保险费,保险特点)
    注:投保单关系中,投保人客户号和被保人客户号是外键,依赖于客户信息关系的主键“客户号”。
 
【问题1】 给出上述各关系模式的主键,以及投保单关系模式的函数依赖。(4分)
【问题2】 列出投保单关系模式可能存在的更新异常和多值依赖,并简要说明。(4分)
【问题3】 分析投保单关系模式属于第几范式,并简单说明原因。修改上述关系模式,以达到4NF。(4分)
【问题4】 公司需要查询每个业务员每月完成的保单总金额,根据业务员月保单总金额分档,设定不同的提成比例,以便计算业务员月奖金。对上述的数据库模式如何修改或补充,以满足需求。(3分)
查看答案
简答题 试题五(15分)
    阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
   
【问题1】试述事务并发调度的正确性准则及其内容。(4分)
【问题2】请判断如下调度是否正确。(4分)
 
【问题3】给出与【问题2】中调度等价的一个串行调度序列。(3分)
【问题4】采用何种加锁策略能够保证事务调度的正确性,简述其内容。(4分)
查看答案
简答题 试题一(共15分)
    阅读以下说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某房屋租赁公司欲建立一个房屋租赁服务系统,统一管理房主和租赁者的信息,以便快速地提供租赁服务。该系统具有以下功能:
    1.登记房主信息。对于每名房主,系统需登记其姓名、住址和联系电话,并将这些信息写入房主信息文件。
    2.登记房屋信息。所有在系统中登记的房屋都有一个唯一的识别号(对于新增加的房屋,系统会自动为其分配一个识别号)。除此之外,还需登记该房屋的地址、房型(如平房、带阳台的楼房、独立式住宅等)、最多能够容纳的房客数、租金及房屋状态(待租赁、已出租)。这些信息都保存在房屋信息文件中。一名房主可以在系统中登记多个待租赁的房屋。
    3.登记租赁者信息。所有想通过该系统租赁房屋的租赁者,必须首先在系统中登记个人信息,包括:姓名、住址、电话号码、出生年月和性别。这些信息都保存在租赁者信息文件中。
    4.租赁房屋。已经登记在系统中的租赁者,可以得到一份系统提供的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以提出看房请求。系统会安排租赁者与房主见面。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中。
    5.收取手续费。房主登记完房屋后,系统会生成一份费用单,房主根据费用单交纳相应的费用。
    6.变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求。系统将根据房主的请求,修改房屋信息文件。
    数据流图1-1和1-2分别给出了该系统的顶层数据流图和0层数据流图。
 
 
【问题1】(4分)
    使用[说明]中给出的词汇,将数据流图1-1中(1)~(4)处的数据流补充完整。
【问题2】(4分)
    使用[说明]中给出的词汇,将数据流图1-2中的(5)~(8)补充完整。
【问题3】(7分)
    数据流程图1-2中缺失了三条数据流,请指出这三条数据流的起点、终点和数据流名称。
查看答案
简答题 试题二(15分)
    阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】某工程项目公司的信息管理系统的部分关系模式如下:
    职工(职工编号,姓名,性别,居住城市)
    项目(项目编号,项目名称,状态,城市,负责人编号)
    职工项目(职工编号,项目编号)
    其中:
    (1)一个职工可以同时参与多个项目,一个项目需要多个职工参与
    (2)职工的居住城市与项目所在城市来自同一个域
    (3)每个项目必须有负责人,且负责人为职工关系中的成员
    (4)项目状态有两个:0表示未完成,1表示已完成

【问题1】(2分)
    下面是创建职工关系的SQL语句,职工编号唯一识别一个职工,职工姓名不能为空。请将空缺部分补充完整。
CREATE TABLE 职工(
    职工编号 CHAR(6),
    姓名 CHAR(8) ____(a)____,
    性别 CHAR(2),
    城市 VARCHAR(20),
    PRIMARY KEY  ____(b)____);
【问题2】(4分)
    下面是创建项目关系的SQL语句。请实现相关的完整性约束。
    CREATE TABLE 项目(
    项目编号 CHAR(6),
    项目名称 VARCHAR(20),
    状态 CHAR(1)  CHECK  ____(c)____,
    城市 VARCHAR(20),
    负责人编号 CHAR(6)  ____(d)____,
    FOREIGN KEY  ____(e)____ REFERENCES    ____(f)____ );
【问题3】(5分)
    请完成下列查询的SQL语句。
    (1)查询至少参加两个项目的职工编号和参与的项目数。
    SELECT 职工编号,  ____(g)____
    FROM 职工项目
    GROUP BY  ____(h)____
    HAVING    ____(i)____  ;
    (2)查询参与居住城市正在进行的工程项目的职工工号和姓名。
    SELECT 职工.职工编号, 姓名
    FROM 职工, 职工项目, 项目
    WHERE 职工.职工编号 = 职工项目.职工编号 AND 项目.项目编号 = 职工项目.项目编号 AND  ____(j)____  AND  ____(k)____  ;
【问题4】(4分)
    假设项目编号为“P001”的项目负责人李强(其用户名为U1)有对参与该项目的职工进行查询的权限。下面是建立视图emp和进行授权的SQL语句,请将空缺部分补充完整。
    (1)CREATE VIEW  ____(l)____
    AS SELECT 职工编号, 姓名, 性别, 城市
    FROM 职工
    WHERE 职工编号 IN  ( SELECT  ____(m)____
    FROM 职工项目
    WHERE  ____(n)____ )
    WITH CHECK OPTION;
    (2)GRANT  ____(o)____ ON emp TO U1;
查看答案
简答题 试题三(15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某医院的门诊管理系统实现了为患者提供挂号、处方药品收费的功能。具体的需求及设计如下:
【需求分析结果】
    1.患者首先在门诊挂号处挂号,选择科室和医师,并缴纳挂号费。收银员为患者生成挂号单(如表3-1所示)。
 
    2.患者在医师处就诊后,凭借挂号单和医师手写处方到门诊药房买药。收银员根据就诊号和医师处方中开列的药品信息,查询药品库存情况和价格(如表3-2所示),生成与挂号单对应的门诊处方单(如表3-3所示)。
 
【概念模型设计】
    根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:
 
【逻辑结构设计】
    根据概念模型设计的结果,设计关系模式如下:
    挂号单(就诊号,病患姓名,医师编号,时间,          (1)          )
    收银员(编号,姓名,级别)
    医师(编号,姓名,科室,职称)
    门诊处方(      (2)      ,收银员,时间)
    处方明细(            (3)                      )
    药品库存(药品编码,药品名称,      (4)          )

【问题1】(4分)
    根据问题描述,填写图3-1中(a)~(d)处联系的类型,并补充图3-1中实体间缺少的联系。
【问题2】(7分)
    根据实体联系图,将第2部分关系模式中的空(1)~(4)补充完整。对所有关系模式,用下划线指出各关系模式的主键。
【问题3】(4分)
    如果考虑处方中不仅包含药品,还包含一些诸如抽血、化验、B超之类的检查项目,也要在门诊进行划价和收费。根据上述的需求变化新增加的“检查项目”的关系模式,请修改图3-1的实体联系图,画出新增加的关系、联系和联系的类型,新增加的联系取名为“明细1”。
查看答案
简答题 试题四(15分)
    阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
    某学校为实现无纸化、网络化的教材管理,拟开发一套教材管理系统。该系统主要负责统计全校的教学用书的需求信息,以便教材的统一购买。
【需求分析结果】
  (1)教学计划
    各学院的教学计划是教材需求的来源。各学院的教学管理人员为本学院的各个专业方向制定教学计划。教学计划主要是描述每个专业方向不同学期所开设的课程信息。教学计划的示例如表4-1。
  
  (2)课程信息
    课程信息包括课程编号、课程名、教材编号,由课程编号唯一标识。如表4-1中,《数据库技术》课程因其使用的教材不同而分别编号。
  (3)专业方向、班级
    学校根据学院和专业方向将学生划分班级。一个学院可有多个专业方向,不同学院可以有相同名字的专业方向。一个专业方向可有多个班级,班级包含入学年份和人数。
  (4)教材信息
    教材信息记录教材的基本信息,包括教材编号、教材名称、ISBN号、出版社名称、作者、版本号。同一种教材版本不同编号也不同,一种教材可以有多个作者。
  (5)教材需求
    根据各学院的教学计划和对应的班级人数,统计全校各系各专业各班级的教材需求情况。教材需求量是根据现有的教学计划和班级人数计算得到的。
【逻辑结构设计】
    根据需求阶段收集的信息,设计的关系模式如图4-1所示。
 
  关系模式的主要属性、含义及约束如表4-2所示。
 
      根据图4-1关系模式,给出班级、教材的函数依赖(不完整)如下。
    (1)班级关系函数依赖FD1
    班级号 → { 入学年份, 人数, 院系名称, 专业名称 }
    (2)教材关系函数依赖FD2
    教材编号 →{ 教材名称, ISBN, 出版社, 版本号 } (不完整)

【问题1】(8分)
    根据图4-1的关系模式,回答以下问题:
  (1)分析“教材”关系,给出除FD2外其余的函数依赖和多值依赖;
  (2)列出“教材”关系的所有候选键;
  (3)分析“教材”关系所属范式,并说明原因;
  (4)对“教材”关系进行分解,使其达到4NF。分解后各关系模式分别命名为:教材1,教材2,……。
【问题2】(7分)
    分析以上各关系模式,请回答以下问题:
  (1)“教学计划”关系是否存在冗余?请简要说明。
  (2)根据现有关系模式,能否获得学校每学期的各种教材的需求总量?请简要说明。
  (3)考虑到任选课只有部分学生选修,需要增加或修改哪些关系模式,请给出修改结果并简要说明。
查看答案
简答题 试题五(15分)
  阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    飞机票售票系统,可以同时为多个顾客提供售票服务。一次售票交易主要由查询(R)和购买(W)两个操作组成,而这两个操作之间的间隔可能需要几分钟。
    现有两位顾客同时到达一号和二号售票窗口购买机票,一号窗口的查询和购买操作用R1和W1表示,二号窗口的查询和购买操作用R2和W2表示。
【问题1】(5分)
    根据问题描述,依照下面给出的处理序列,给出可能出现的所有序列。
    (1)R1 ---------- W1 --------- R2 ---------- W2
【问题2】(6分)
    现假设航班MU2211只剩一张2007年2月25日的机票,并有两位顾客同时到达一号和二号售票窗口购买该票,请问在进行系统设计时,若不做必要的处理会产生什么问题?要避免该问题发生,应采用何种技术?
【问题3】(4分)
    给出采取措施后可能出现的处理序列。
查看答案
简答题 试题一(共15分)
    阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
    某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:
    1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
    2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
    3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
    4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
    5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。
    6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。
    7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
    采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。
 
 
【问题1】(4分)
    使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。
【问题2】(3分)
    使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。
【问题3】(6分)
    数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。
 
【问题4】(2分)
    数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。
查看答案
简答题 试题二(15分)
    阅读以下说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某商场客户-商品数据库中各关系模式如下:
 
    其中:
    1)一种品牌的同一名称商品可以有多个型号,商品的库存有大于等于0约束;
    2)销售表记录每一笔销售,每销售一件商品,其库存都要做相应的修改。
    现假定已经建立了该数据库及上述四个基本表。
【问题1】(5分)
    (1) 客户关系中的年龄取值在15岁到60岁之间(包含15岁和60岁),增加该约束的SQL语句如下,请将空缺部分补充完整。
    ALTER TABLE 客户 ADD CONSTRAINT
    CONSTRAINT con_age CHECK ( _____(a)_____)
    (2) 如下用SQL 语句创建的畅销商品视图包含商品号、商品名称、型号、品牌和销售量,该视图中商品的销售量大于等于1000件。请将空缺部分补充完整。
    CREATE VIEW 畅销商品  _____(b)_____
    AS
    SELECT 商品.商品号, 名称, 型号, 品牌, 销售量
    FROM 商品, ( SELECT 商品号, _____(c)_____  AS 销售量
    FROM  销售
    GROUP BY 商品号
    HAVING SUM(数量) > = 1000 ) AS 商品销售量
    WHERE _____(d)_____ ;
    (3) 将视图畅销商品的查询权限赋予销售经理李华,请将空缺部分补充完整。
    GRANT  _____(e)_____  ON TABLE 畅销商品TO 李华;
【问题2】(3分)
    查询购买“新飞”品牌的任一型号“冰箱”的客户姓名及购买日期。实现该查询的SQL语句如下,请将空缺部分补充完整。
    SELECT 姓名, 日期
    FROM  _____(f)_____
    WHERE  _____(g)_____    AND 商品号  _____(h)_____(
    SELECT 商品号 FROM 商品
    WHERE 品牌 = ‘新飞’  AND 名称 = ‘冰箱’ )
【问题3】(3分)
    实现销售业务的嵌入式SQL代码段(嵌入C语言)如下,假设销售表的流水号由系统自动生成。请将空缺部分补充完整。
    ……
    EXEC SQL BEGIN DECLARE SECTION;
    /* 销售:商品号,客户号,数量,日期 */
    char pno[6];    char cno[6];
    int quantity;    char date[10];
    EXEC SQL END DECLARE SECTION;
    ……
    EXEC SQL CONNECT TO DEFAULT;
    EXEC SQL SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
    EXEC SQL INSERT INTO 销售(商品号,客户号,数量,日期)
    VALUES(  _____(i)_____ );
    EXEC SQL UPDATE 商品 SET 库存 = _____(j)_____ WHERE 商品号 = :pno;
    if(SQLCA.SQLCODE != 0){
    printf(“商品%s库存不满足本次购买数量,交易失败!”, pno);
    EXEC SQL ROLLBACK WORK;
    } else{
    EXEC SQL  _____(k)_____  ;
    }
    EXEC SQL DISCONNECT CURRENT;
    ……
【问题4】(4分)
    对商品表增加最小库存属性;若修改某商品的库存时,使得库存值小于或等于其最小库存值,则向采购表插入一条记录,要求采购的数量是该商品最小库存值的两倍再加上10。下面是完成该功能的SQL语句,请将空缺部分补充完整。
    ALTER TABLE 商品  _____(l)_____ ;
    CREATE TRIGGER 采购-trigger AFTER _____(m)_____
    REFERENCING NEW ROW AS nrow
    FOR EACH ROW
    WHEN  _____(n)_____
    BEGIN
    INSERT INTO 采购
    VALUES( _____(o)_____ )
    END
查看答案
简答题 试题三(15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。
【需求分析】
    1.对于前来维修的车辆,汽车维修管理系统首先登记客户信息,包括:客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括:车牌号、车型、颜色等信息。一个客户至少有一台车。客户及车辆信息如表3-1所示。
 
    2.维修站的业务员对车辆进行检查和故障分析后,与客户磋商,确定车辆的故障现象及维修范围,填写维修委托书,包括:维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。维修委托书如表3-2所示。
 
    3.维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择一个或多个具体的维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如表3-3所示。
 
    4.客户车辆修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,记录在委托书中。
【概念模型设计】
  根据需求阶段收集的信息,设计的实体联系图(不完整)如图3-1所示。
图3-1中业务员和维修工是员工的子实体。
 
【逻辑结构设计】
    根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
    客户( _____(1)_____,折扣率,联系人,联系电话)
    车辆( _____(2)_____ ,车型,颜色,车辆类别)
    委托书( _____(3)_____ ,维修类型,作业分类,结算方式,进厂时间,
    预计完工时间,登记日期,故障描述,总费用)
    维修项目( 维修项目编号,维修项目,单价)
    派工单( _____(4)_____ ,工时)
    员工( _____(5) _____ ,工种,员工类型,级别)
【问题1】(6分)
    补充图3-1中的联系和联系的类型。
【问题2】(5分)
    根据图 3-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(5)补充完整。对所有关系模式,用下划线指出各关系模式的主键。
【问题3】(4分)
    若车辆可购买多种不同的保险,则对应有多个保险单。如果考虑需要理赔的情况,则在结算车辆维修费用时,需要用户指定此次委托维修的车辆的不同保险单所负担的总维修费用的比例。请对增加了“保险单”实体的图3-1进行修改,画出修改后的实体间联系和联系的类型。
查看答案
简答题 试题四(15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某科研项目管理机构拟开发科研管理系统,以便管理科研项目信息。设计了科研信息数据库,其关系模式如图4-1所示。
 
  关系模式的主要属性、含义及约束如表4-1所示。
 
    一个科研项目(课题)由一位科研专家作为负责人。一个科研项目可以由多个单位参与,这些单位可以作为承担单位或者合作单位来参与科研项目。一个科研项目可以有多个拨款单位,每个单位按合同经费的一定百分比拨款。科研专家是具有科研项目申请资格的科研人员。一位科研专家可以参与不同的科研项目。参与科研项目的每个单位可以有多个除科研专家外的单位员工参与项目的研发。
    属性间的函数依赖关系如下:
    对于“项目信息”关系模式:
    课题编号,单位名称,拨款单位 → 课题名称,负责人,单位类别,单位排名,合同经费,拨款百分比
    课题编号,单位名称 → 课题名称,负责人,课题类别,单位排名,合同经费
    课题编号,拨款单位 → 课题名称,负责人,合同经费,拨款百分比
    课题编号 → 课题名称,负责人,合同经费
    课题编号 →→ 拨款单位,拨款百分比
    课题编号 →→ 单位名称,单位类别,单位排名

  对于“科研专家”关系模式:
  人员编号 → 姓名,性别,出生年月,身份证号,最高学位,职称,研究方向,所在单位,单位地址
  所在单位 → 单位地址
  身份证号 → 人员编号
  对于“项目研发人员”关系模式:
  课题编号,所在单位,职工号 → 姓名,年龄,学历,职称,分工,排名,参加月数
  所在单位,职工号 → 姓名,年龄,学历,职称
【问题1】(5分)
  对关系“科研专家”,请回答以下问题:
  (1)列举出所有不属于任何候选键的属性(非键属性)。
  (2)关系“科研专家”可达到第几范式,用60字以内文字简要叙述理由。
【问题2】(6分)
  对关系“项目研发人员”,请回答以下问题:
  (1)针对“项目研发人员”关系,用100字以内文字简要说明会产生什么问题。
  (2)把“项目研发人员”分解为第三范式,分解后的关系名依次为:项目研发人员1,项目研发人员2,…
  (3)列出修正后的各关系模式的主键。
【问题3】(4分)
  对关系“项目信息”,请回答以下问题:
  (1)关系“项目信息”是不是第四范式,用100字以内文字叙述理由。
  (2)把“项目信息”分解为第四范式,分解后的关系名依次为:项目信息1,项目信息2,…
查看答案
简答题 试题五(15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某银行的存款业务分为如下三个过程:
  (1)读取当前帐户余额,记为R(b);
  (2)当前余额b加上新存入的金额x作为新的余额b,即b = b + x;
  (3)将新余额b写入当前帐户,记为W(b)。
    存款业务分布于该银行各营业厅,并允许多个客户同时向同一帐户存款,针对这一需求,完成下述问题。
【问题1】(5分)
    假设同时有两个客户向同一帐号发出存款请求,该程序会出现什么问题?(100字以内)
【问题2】(5分)
    存款业务的伪代码程序为 R(b), b = b + x, W(b)。现引入共享锁指令SLock(b)和独占锁指令XLock(b)对数据b进行加锁,解锁指令Unlock(b)对数据b进行解锁。
    请补充上述存款业务的伪代码程序,使其满足2PL协议。
【问题3】(5分)
    若用SQL语句编写的存款业务事务程序如下:
    ……
    START TRANSACTION;
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
    UPDATE  Accounts
    SET CurrentBalance = CurrentBalance + Amount
    WHERE AccountID = AccountNo;
    COMMIT;
    ……
    其中:Accounts为帐户表,CurrentBalance为当前余额,Amount为新存入的金额,
    AccountNo为外部输入的帐户编码。
    该事务程序能否正确实现并发的存款业务?如果不能,请说明原因,应做怎样的修改?(100字以内)
查看答案
简答题 试题一(共15分)
    阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
    某音像制品出租商店欲开发一个音像管理信息系统,管理音像制品的租借业务。需求如下:
    1. 系统中的客户信息文件保存了该商店的所有客户的用户名、密码等信息。对于首次来租借的客户,系统会为其生成用户名和初始密码。
    2. 系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量。
    3. 根据客户所租借的音像制品的品种,会按天收取相应的费用。音像制品的最长租借周期为一周,每位客户每次最多只能租借6件音像制品。
    4. 客户租借某种音像制品的具体流程为:
    (1)根据客户提供的用户名和密码,验证客户身份。
    (2)若该客户是合法客户,查询音像制品信息文件,查看商店中是否还有这种音像制品。
    (3)若还有该音像制品,且客户所要租借的音像制品数小于等于6个,就可以将该音像制品租借给客户。这时,系统给出相应的租借确认信息,生成一条新的租借记录并将其保存在租借记录文件中。
    (4)系统计算租借费用,将费用信息保存在租借记录文件中并告知客户。
    (5)客户付清租借费用之后,系统接收客户付款信息,将音像制品租借给该客户。
    5. 当库存中某音像制品数量不能满足客户的租借请求数量时,系统可以接受客户网上预约租借某种音像制品。系统接收到预约请求后,检查库存信息,验证用户身份,创建相应的预约记录,生成预约流水号给该客户,并将信息保存在预约记录文件中。
    6. 客户归还到期的音像制品,系统修改租借记录文件,并查询预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。
 
 
【问题1】(1分)
    图1-1中只有一个外部实体E1。使用【说明】中的词语,给出E1的名称。
【问题2】(6分)
    使用【说明】中的词语,给出图1-2中的数据存储D1~D4的名称。
【问题3】(6分)
    数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。
 
【问题4】(2分)
    在进行系统分析与设计时,面向数据结构的设计方法(如Jackson方法)也被广泛应用。简要说明面向数据结构设计方法的基本思想及其适用场合。
查看答案
简答题 试题二(共15分)
    阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】某论坛的部分关系模式如下:
    用户(用户编号,帐号,密码,积分,级别)
    栏目(栏目编号,父栏目编号,名称,版主,描述)
    主题(主题编号,标题,类型,点击率,内容,发布时间,栏目编号,用户编号,附件)
    回复主题(回复主题编号,标题,主题编号,内容,发布时间,用户编号,附件)
    其中:
  (1)用户编号唯一标识一个用户。用户的积分根据其发布的主题信息按积分规则计算。级别的值来自集合{ ‘高级用户’, ‘普通用户’, ‘初级用户’},当用户开始注册时,积分为100,级别为初级用户;当用户积分到达1000时,级别为普通用户;当用户积分到达5000时,级别为高级用户。
  (2)栏目编号唯一标识一个栏目。栏目分两级,包括父栏目和子栏目。每个栏目必须有且仅有一个版主,版主是一个用户。
  (3)主题编号唯一标识一个主题。类型的值来自集合{ ‘精华’, ‘置顶’, ‘普通’}。
  (4)回复主题编号唯一识别一个回复主题。一个回复主题对应一个主题,而一个主题可以有多个回复主题。
【问题1】(3分)
    请将下列SQL语句的空缺部分补充完整。
    (1)假设已经创建好用户关系,现在想增加一个属性“个性签名”,类型为VARCHAR(60),请给出相关的SQL语句。
    _____(a)_____;
    (2)假设已经创建好用户关系,下面是创建栏目关系的SQL语句,请将空缺部分补充完整。
    CREATE TABLE 栏目(
        栏目编号 VARCHAR(8) PRIMARY KEY,
        父栏目编号 VARCHAR(8),
        名称 VARCHAR(40),
        版主 VARCHAR(8) NOT NULL,
        描述 VARCHAR(100),
        _____(b)_____,
        _____(c)_____);
【问题2】(5分)
    请将下列SQL语句的空缺部分补充完整。
    (1)查询标题或内容包含“SQL”的主题标题,按发布时间降序排序。
    SELECT DISTINCT 标题
    FROM 主题
    _____(d)_____
    _____(e)_____;
    (2)查找名称为“数据库技术”的栏目及其子栏目中的精华主题的标题和点击率。
    SELECT 标题,点击率
    FROM 主题
    WHERE类型= ‘精华’
        AND 栏目编号  _____(f)_____ (SELECT栏目编号
                    FROM 栏目
                    WHERE 名称= ‘数据库技术’
                    _____(g)_____
                    SELECT 栏目编号
                    FROM 栏目
                    WHERE _____(h)_____ (SELECT栏目编号
                                    FROM 栏目
                                    WHERE 名称=‘数据库技术’));
【问题3】(4分)
    假设所有关系模式已创建,回复主题关系模式的“主题编号”是外键,参照主题关系模式的“主题编号”。现在要删除编号为“T005”的主题及其相关的回复主题,下面是对应的删除语句,这些语句组成一个事务。
    DELETE 主题 WHERE主题编号 = ‘T005’;
    DELETE 回复主题 WHERE主题编号= ‘T005’;
    (1)请问这些删除语句能否完成功能?若不能,请说明为什么?(100字以内)
    _____(i)_____
    (2)假设现在希望仅通过“DELETE 主题 WHERE主题编号 = ‘T005’;”这一条语句就能完成此删除功能,应如何实现? (100字以内)
    _____(j)_____
【问题4】(3分)
    为了了解每个栏目用户关注的主题,对原创主题创建视图主题_view,属性包括主题编号、标题、用户帐号、栏目名称、回复数、点击率和发布时间。
    CREATE VIEW 主题_view (主题编号,标题,用户帐号,栏目名称,回复数,点击率,发布时间) AS
    SELECT主题.主题编号,标题,帐号,名称,回复数,点击率,发布时间
    FROM 主题,用户,栏目,(  _____(k)_____
                              FROM 回复主题
                              _____(l)_____ ) AS  A
    WHERE 主题.用户编号 = 用户.用户编号 AND 主题.栏目编号 = 栏目.栏目编号 AND  _____(m) _____ ;
查看答案
简答题 试题三(共15分)
  阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
  某地区举行篮球比赛,需要开发一个比赛信息管理系统来记录比赛的相关信息。
【需求分析结果】
    1.登记参赛球队的信息。记录球队的名称、代表地区、成立时间等信息。系统记录球队的每个队员的姓名、年龄、身高、体重等信息。每个球队有一个教练负责管理球队,一个教练仅负责一个球队。系统记录教练的姓名、年龄等信息。
    2.安排球队的训练信息。比赛组织者为球队提供了若干个场地,供球队进行适应性训练。系统记录现有的场地信息,包括:场地名称、场地规模、位置等信息。系统可为每个球队安排不同的训练场地,如表3-1所示。系统记录训练场地安排的信息。
   
    3.安排比赛。该赛事聘请有专职裁判,每场比赛只安排一个裁判。系统记录裁判的姓名、年龄、级别等信息。系统按照一定的规则,首先分组,然后根据球队、场地和裁判情况,安排比赛(每场比赛的对阵双方分别称为甲队和乙队)。记录参赛球队、比赛时间、比分、场地名称等信息,如表3-2所示。
    4.所有球员、教练和裁判可能出现重名情况。
 
【概念模型设计】
  根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:
  1. 实体联系图
 
  2. 关系模式
    教练(教练编号,姓名,年龄)
    队员(队员编号,姓名,年龄,身高,体重,      (a)    )
    球队(球队名称,代表地区,成立时间,      (b)    )
    场地(场地名称,场地规模,位置)
    训练记录(      (c)    )
    裁判(裁判编号,姓名,年龄,级别)
    比赛记录(      (d)    )
【问题1】(5分)
  根据问题描述,补充四个联系,完善图3-1的实体联系图。
【问题2】(8分)
  根据你的实体联系图,完成关系模式,并给出训练记录和比赛记录关系模式的主键和外键。
【问题3】(2分)
  如果考虑记录一些特别资深的热心球迷的情况,每个热心球迷可能支持多个球队。热心球迷的基本信息包括:姓名、住址和喜欢的俱乐部等。根据这一要求修改图3-1的实体联系图,给出修改后的关系模式。
查看答案
简答题 试题四(共15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某企业的生产管理部门拟开发生产计划管理系统,该系统负责管理生产计划信息,记录生产安排和采购的情况。现有的表格信息如表4-1、表4-2和4-3所示。
 
    根据上述需求设计的生产计划数据库的关系模式如图4-1所示。
 
                      图4-1 生产计划数据库
  关系模式的主要属性、含义及约束如表4-4所示。
 
  该企业的生产管理部门可根据需求制定多个生产计划。每个生产计划包含多个生产产品。一个生产产品可由多个生产小组共同生产。一个产品基于固定数量的用料来生产。企业有多个供应商,每个供应商可以提供若干种材料,每种材料可以由多个供应商提供。企业根据不同生产计划,从供应商处购买材料。
  属性间的函数依赖关系如下:
  对于“生产计划”关系模式:
  生产计划编号 → 生产计划名称,起始时间,截止时间,预算总金额
  生产计划编号,产品编号 → 生产数量
  产品编号 → 产品名称
  生产小组编号 → 生产小组名称
  生产计划编号,生产小组编号,产品编号 → 安排人力
  生产计划编号,产品编号 →→ 生产小组编号,安排人力
  对于“产品用料”关系模式:
  材料编号 → 材料名称,单位
  产品编号,材料编号 → 材料数量
  对于“采购”关系模式:
  采购单号 → 供应商,地址,电话,总价格,日期
  采购单号,材料编号 → 数量
  供应商,材料编号 → 单价
  供应商 → 地址,电话
【问题1】(7分)
  对关系“生产计划”,请回答以下问题:
  (1)关系“生产计划”是否满足第四范式?用不超过200个字的内容叙述理由。(2)把“生产计划”分解为第四范式,分解后的关系名依次为:生产计划1,生产计划2,…。
【问题2】(6分)
    对关系“采购”,请回答以下问题:
    (1)若“采购”关系中不考虑折扣情况,则该关系是否存在派生属性?若存在,指出其中的派生属性。
    (2)针对“采购”关系,用100字以内文字简要说明会产生什么问题。
    (3)分解“采购”关系,分解后的关系名依次为:采购1,采购2,…。
【问题3】(2分)
    试分析可否根据图4-1生产计划数据库,统计出某一个生产计划所采购的某个供应商的总金额?并用不超过100个字的内容叙述理由。
查看答案
简答题 试题五(共15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某银行的转帐业务分为如下两类操作:
  (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】(5分)
    根据业务规则,转帐业务要么被全部执行,要么全部不执行,应如何保障?假设参与转帐的帐户余额有大于等于0的约束,上述伪代码执行中可能出现什么情况,应如何处理?(100字以内)
【问题2】(5分)
    若允许对同一帐号同时进行转帐,要保证转帐程序的并发执行,引入共享锁指令SLock(b)和独占锁指令XLock(A)对数据A进行加锁,解锁指令Unlock(A)对数据A进行解锁。
    请补充上述转帐业务的伪代码序列,使其满足2PL协议。
【问题3】(5分)
    若用SQL语句编写的转帐业务事务程序如下:
        START TRANSACTION;
        SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
        UPDATE  Accounts
        SET CurrentBalance = CurrentBalance - Amount
        WHERE AccountID = A;
        if error then  ROLLBACK;
        COMMIT;
        UPDATE  Accounts
        SET CurrentBalance = CurrentBalance + Amount
        WHERE AccountID = B;
        if error then  ROLLBACK;
        COMMIT;
    其中:Accounts为帐户表,CurrentBalance为当前余额,Amount为新存入的金额。
    该事务程序能否保证数据的一致性?如不能,请说明原因并改正。(100字以内)
查看答案
简答题 试题一(共15分)
    阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
    假设某大型商业企业由商品配送中心和连锁超市组成,其中商品配送中心包括采购、财务、配送等部门。为实现高效管理,设计了商品配送中心信息管理系统,其主要功能描述如下:
    1.  系统接收由连锁超市提出的供货请求,并将其记录到供货请求记录文件。
    2.  在接到供货请求后,从商品库存记录文件中进行商品库存信息查询。如果库存满足供货请求,则给配送处理发送配送通知;否则,向采购部门发出缺货通知。
    3.  配送处理接到配送通知后,查询供货请求记录文件,更新商品库存记录文件,并向配送部门发送配送单,在配送货品的同时记录配送信息至商品配送记录文件。
    4.  采购部门接到缺货通知后,与供货商洽谈,进行商品采购处理,合格商品入库,并记录采购清单至采购清单记录文件、向配送处理发出配送通知,同时通知财务部门给供货商支付货款。
    该系统采用结构化方法进行开发,得到待修改的数据流图(如图1-1所示)。
 
【问题1】(8分)
    使用【说明】中的词语,给出图1-1中外部实体E1至E4的名称和数据存储D1至D4的名称。
【问题2】(7分)
图1-1中存在四处错误数据流,请指出各自的起点和终点;若将上述四条错误数据流删除,为保证数据流图的正确性,应补充三条数据流,请给出所补充数据流的起点和终点。(起点和终点请采用数据流图1-1中的符号或名称)
 
查看答案
简答题 试题二(共15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】某网上书店后台数据库的部分关系模式如下:
    会员(会员编号,用户名,密码,姓名,地址,邮编,电话,消费额,积分)
    图书(图书编号,类型名称,图书名称,作者,出版社,出版日期,ISBN,价格)
    订单(订单编号,用户名,销售额,订购日期,出货日期)
    订单明细(订单明细编号,订单编号,图书编号,数量)
【问题1】(3分)
    下面是创建订单关系的SQL语句,订单编号唯一识别一个订单,用户名为订购图书的会员用户名,且不能为空。要求订购日期不能大于出货日期。请将空缺部分补充完整。
    CREATE TABLE 订单(
        订单编号 CHAR(6)    _____(a)_____ ,
        用户名 VARCHAR(40) NOT NULL  _____(b)_____ ,
        销售额 FLOAT ,
        订购日期 DATE NOT NULL ,
        出货日期 DATE  _____(c)_____  ) ;
【问题2】(10分)
    请完成下列查询的SQL语句。
    (1)查询名称中包含“数据库”的图书的图书名称,作者,出版社和出版日期。
        SELECT    _____(d)_____
        FROM 图书
        WHERE 图书名称  _____(e)_____ ;
    (2)查询提供销售(图书表中有)但没有销售过(没在订单明细表中出现)的图书名称和出版社。
        SELECT图书名称, 出版社
        FROM图书
        WHERE NOT EXISTS (
            SELECT _____(f)_____
            FROM订单明细
            WHERE _____(g)_____) ;
    (3)查询订购图书数量最多的会员名及其订购的数量。
        SELECT用户名,  _____(h)_____
        FROM订单, 订单明细
        WHERE  _____(i)_____
        GROUP BY 用户名
            HAVING  _____(j)_____
                ( SELECT SUM(数量)
                FROM 订单, 订单明细
                WHERE 订单.订单编号 = 订单明细.订单编号
                GROUP BY 用户名) ;
  (4)为了统计会员的购买行为信息,实施有意义的客户关怀策略,查询会员的平均订购间隔时间,考虑多次购买图书和一次购买图书的情况(其中,DATEDIFF函数表示两个日期之间的天数)。
    SELECT 用户名, CASE WHEN    _____(k)_____
        THEN DATEDIFF(MAX(订购日期), MIN(订购日期)) / _____(l)_____
        ELSE DATEDIFF (CURRENT_TIMESTAMP, MIN(订购日期))
        END AS AVG_GAP
    FROM 订单
    _____(m)_____;
【问题3】(2分)
    会员订购图书后,将本次订购的销售额累加到该会员的消费额中,并按照本次订单的销售额计算积分累加到该会员的积分中(每20元增加1个积分,不足20元不计入积分)。下面用触发器实现该需求,请填充空缺部分。
    CREATE TRIGGER 会员积分_TRIGGER  AFTER  _____(n)_____
    REFERENCING NEW ROW AS NROW
    BEGIN
        UPDATE 会员
        SET 消费额 = 消费额 + NROW.销售额,    _____(o)_____
        WHERE 用户名 = NROW.用户名
    END
查看答案
简答题 试题三(共15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【试题说明】
    某集团公司拥有多个大型连锁商场,公司需要构建一个数据库系统便于管理其业务运作活动。
【需求分析结果】
    1. 商场需要记录的信息包括商场编号(商场编号不重复)、商场名称、地址和联系电话。某商场信息如表3-1所示。
 
    2. 每个商场包含不同的部门,部门需要记录的信息包括部门编号(不同商场的部门编号不同)、部门名称、位置分布和联系电话。某商场的部门信息如表3-2所示。
 
    3. 每个部门雇用了多名员工处理日常事务,每名员工只能属于一个部门(新进员工在培训期不隶属于任何部门)。员工需要记录的信息包括员工编号、姓名、岗位、电话号码和工资。员工信息如表3-3所示。
 
    4. 每个部门的员工中有一个是经理,每个经理只能管理一个部门。系统要记录每个经理的任职时间。
【概念模型设计】
    根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:
 
【关系模式设计】
  商场(商场编号,商场名称,地址,联系电话)
  部门(部门编号,部门名称,位置分布,联系电话,_____(a)_____)
  员工(员工编号,姓名,岗位,电话号码,工资,_____(b)_____)
  经理(  (c)  ,任职时间)
【问题1】(7分)
  根据问题描述,补充四个联系,完善图3-1的实体联系图。
【问题2】(6分)
    根据实体联系图,将关系模式中的空(a)~(c)补充完整,并分别给出部门、员工和经理关系模式的主键和外键。
【问题3】(2分)
    为了使商场有紧急事务时能联系到轮休的员工,要求每位员工必须且只能登记一位紧急联系人的姓名和联系电话(假设不同员工可以登记相同的紧急联系人)。则在图3-1中还需添加的实体是 _____(d)_____ ,该实体与图3-1中的员工关系存在 _____(e)_____联系。给出该实体的关系模式。
查看答案
简答题 试题四(共15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    M公司为某宾馆设计宾馆机票预订系统,初步的需求分析结果如下:
    (1)客户可以在提前预订或直接入住时向宾馆提供相关信息,宾馆登记的客户信息包括:客户编号,姓名,性别,类型,身份证号,联系方式,预订日期,入住时间和离开时间等信息。其中类型字段说明客户是普通客户或VIP客户,不同的客户类型享受订票的折扣额度不同。直接入住的客户其预订日期取空值。
    (2)需要预订机票的客户应填写“机票预订”表,提供飞行日期、航班号、出发时间、目的地等信息。宾馆根据客户订票信息购票后,生成“客户订单”表,并根据客户类型确定相应的折扣额度。“机票预订”和“客户订单”表如表4-1、4-2所示。
  
 
【逻辑结构设计】
    根据需求阶段收集的信息,设计的关系模式如图4-1所示。
 
    图4-1机票销售专用数据库
    关系模式的主要属性、含义及约束如表4-3所示。
 
【问题1】(6分)
    对关系“客户”,请回答以下的问题:
    (1)若选定(客户编号, 预订日期)作主码,未预订而直接入住的客户信息能否录入客户表?如不能,请说明原因。
    (2)对“客户”关系增加一个流水号属性作为主码,“客户”关系属于第几范式?还存在哪些问题?
    (3)将增加入住标识属性后的“客户”关系分解为第三范式,分解后的关系名依次取客户1、客户2、…。
【问题2】(6分)
    对关系“航班”,请回答以下问题:
    (1)列举出“航班”关系中所有不属于任何候选码的属性(非码属性)。
    (2)该关系模式可达到第几范式?用不超过60个字的内容叙述理由。
【问题3】(3分)
    对于没有预订客房或入住宾馆的客户,需要在 (a) 关系中修改其 (b) 属性的值域,以满足这类客户在宾馆预订机票的需求。
查看答案
简答题 试题五(共15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某停车场有多个入口和出口,车辆进入时从入口处由系统查询可用的停车位,从出口驶出时系统将其刚使用的车位标记为空车位。
假设实现停车场管理的伪指令如表5-1所示:
 
    根据上述描述,在入口处的伪代码程序为:
    x = Get();
    IF x =NULL THEN return 0;
    Writ(x, 1);
【问题1】(3分)
    若两辆车在不同的入口处同时执行上述代码,会出现什么问题?(100字以内描述)
【问题2】(8分)
    为保证入口处伪代码正确地并发执行,引入共享锁指令 SLock(T)和独占锁指令XLock(T)对表 T进行加锁;Upgrade(T)对表 T所加的共享锁升级为独占锁;解锁指令Unlock(T)对表T进行解锁。
    (1)请修改上述入口处的伪代码程序,使其满足2PL协议。
    (2)满足2PL协议的入口处的伪代码程序,在并发执行时是否会产生死锁?若是,给出一个产生死锁的调度。
【问题3】(4分)
    若停车位表的关系模式为:park(parkno, isused),其中parkno为停车位号,isused为停车位标志,0为空,1为非空。
    下面是用E-SQL实现的查询空车位的函数Get(),请补全空缺处的代码。
    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
    EXEC SQL DECLARE getblk CURSOR FOR
    _____(a)_____;
    EXEC SQL OPEN getblk ;
    EXEC SQL FETCH getblk INTO :Hparkno; // Hparkno为已声明的主变量
    IF SQLCA.sqlcode = 100 THEN
    EXEC SQL CLOSE getblk ;  Return NULL;
    ELSE
    _____(b)_____;
END IF
查看答案
简答题 试题一(共15分)
    阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
    某大型企业的数据中心为了集中管理、控制用户对数据的访问并支持大量连接需求,欲构建数据管理中间件。其主要功能如下:
    (1)数据管理员可通过中间件进行用户管理、操作管理和权限管理。用户管理维护用户信息,用户信息(用户名、密码)存储在用户表中;操作管理维护数据实体的标准操作及其所属的后端数据库信息,标准操作和后端数据库信息存放在操作表中;权限管理维护权限表,该表存储用户可执行的操作信息。
    (2)中间件验证前端应用提供的用户信息。若验证不通过,返回非法用户信息;若验证通过,中间件将等待前端应用提交操作请求。
    (3)前端应用提交操作请求后,中间件先对请求进行格式检查。如果格式不正确,返回格式错误信息;如果格式正确,则进行权限验证(验证用户是否有权执行请求的操作),若用户无权执行该操作,则返回权限不足信息,否则进行连接管理。
    (4)连接管理连接相应的后台数据库并提交操作。连接管理先检查是否存在空闲的数据库连接,如果不存在,新建连接;如果存在,则重用连接。
    (5)后端数据库执行操作并将结果传给中间件,中间件对收到的操作结果进行处理后,将其返回给前端应用。
    现采用结构化方法对系统进行分析与设计,获得如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。
 
 
【问题1】(3分)
    使用说明中的词语,给出图1-1中的实体E1~E3的名称。
【问题2】(3分)
    使用说明中的词语,给出图1-2中的数据存储D1~D3的名称。
【问题3】(6分)
    给出图1-2中加工P的名称及其输入、输出流。
 
    除加工P的输入与输出流外,图1-2还缺失了两条数据流,请给出这两条数据流的起点和终点。
 
注:名称使用说明中的词汇,起点和终点均使用图1-2中的符号或词汇。
【问题4】(3分)
    在绘制数据流图时,需要注意加工的绘制。请给出三种在绘制加工的输入、输出时可能出现的错误。
查看答案
简答题 试题二(共15分)
  阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    天津市某银行信息系统的数据库部分关系模式如下所示:
    客户 (客户号,姓名,性别,地址,邮编,电话)
    账户 (账户号,客户号,开户支行号,余额)
    支行 (支行号,支行名称,城市,资产总额)
    交易 (交易号,账户号,业务金额,交易日期)
    其中,业务金额为正值表示客户向账户存款;为负值表示取款。
【问题1】(3分)
    以下是创建账户关系的SQL语句,账户号唯一识别一个账户,客户号为客户关系的唯一标识,且不能为空。账户余额不能小于1.00元。请将空缺部分补充完整。
    CREATE TABLE 账户(
        账户号 CHAR(19)  _____(a)_____ ,
        客户号 CHAR(10)  _____(b)_____ ,
        开户支行号 CHAR(6)  NOT NULL ,
        余额 NUMBER(8,2) _____(c)_____ );
【问题2】(7分)
    (1)现银行决策者希望查看在天津市各支行开户且2009年9月使用了银行存取服务的所有客户的详细信息,请补充完整相应的查询语句。 (交易日期形式为’2000-01-01’)
  SELECT DISTINCT 客户.*
  FROM 客户, 账户, 支行, 交易
  WHERE 客户.客户号 = 账户.客户号 AND
        账户.开户支行号 = 支行.支行号 AND
        _____(d)_____ AND
        交易.账户号 = 账户.账户号 AND
        _____(e)_____ ;
  上述查询优化后的语句如下,请补充完整。
  SELECT DISTINCT 客户.*
  FROM 客户, 账户,  _____(f)_____ AS 新支行, _____(g)_____ AS 新交易
  WHERE 客户.客户号 = 账户.客户号 AND
        账户.开户支行号 = 新支行.支行号 AND
        新交易.账户号 = 账户.账户号;
  (2)假定一名客户可以申请多个账户,给出在该银行当前所有账户余额之和超过百万的客户信息并按客户号降序排列。
    SELECT  *
    FROM 客户
    WHERE _____(h)_____
    (SELECT 客户号 FROM 账户 GROUP BY 客户号  _____(i)_____ )
    ORDER BY _____(j)_____ ;
【问题3】(5分)
  (1)为账户关系增加一个属性“账户标记”,缺省值为0,取值类型为整数;并将当前账户关系中所有记录的“账户标记”属性值修改为0。请补充相关SQL语句。
  ALTER TABLE 账户  _____(k)_____  DEFAULT 0 ;
  UPDATE 账户 _____(l)_____ ;
  (2)对于每笔金额超过10万元的交易,其对应账户标记属性值加1,给出触发器实现的方案。
  CREATE TRIGGER 交易_触发器 _____(m)_____  ON 交易
  REFERENCING NEW ROW AS 新交易
  FOR EACH ROW
  WHEN  _____(n)_____
  BEGIN ATOMIC
        UPDATE 账户 SET 账户标记 = 账户标记 + 1
        WHERE  _____(o)_____;
        COMMIT WORK ;
  END
查看答案
简答题 试题三(共15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某学校拟开发一套实验管理系统,对各课程的实验安排进行管理。
【需求分析】
    每个实验室可进行的实验类型不同。由于实验室和实验员资源有限,需根据学生人数分批次安排实验室和实验员。一门含实验的课程可以开设给多个班级,每个班级每学期可以开设多门含实验的课程。每个实验室都有其可开设的实验类型。一门课程的一种实验可以根据人数、实验室的可容纳人数和实验室类型,分批次开设在多个实验室的不同时间段。一个实验室的一次实验可以分配多个实验员负责辅导实验,实验员给出学生的每次实验成绩。
    1.课程信息包括:课程编号、课程名称、实验学时、授课学期和开课的班级等信息;实验信息记录该课程的实验进度信息,包括:实验名、实验类型、学时、安排周次等信息,如表3-1所示。
 
    2.以课程为单位制定实验安排计划信息,包括:实验地点,实验时间、实验员等信息。实验计划如表3-2所示。
 
    3.由实验员给出每个学生每次实验的成绩,包括:实验名,学号,姓名,班级,实验成绩等信息。实验成绩如表3-3所示。
 
    4.学生的实验课程总成绩根据每次实验的成绩以及每次实验的难度来计算。
【概念模型设计】
    根据需求阶段收集的信息,设计的实体联系图(不完整)如图3-1所示。
 
【逻辑结构设计】
    根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
    课程(课程编号,课程名称,授课院系,实验学时)
    班级(班级号,专业,所属系)
    开课情况(      (1)      ,授课学期)
    实验(      (2)      ,实验类型,难度,学时,安排周次)
    实验计划(      (3)        ,实验时间,人数)
    实验员(      (4)        ,级别)
    实验室(实验室编号,地点,开放时间,可容纳人数,实验类型)
    学生(      (5)        ,姓名,年龄,性别)
    实验成绩(      (6)    ,实验成绩,评分实验员)
【问题1】(5分)
    补充图3-1中的联系和联系的类型。
【问题2】(8分)
    根据图3-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(6)补充完整。对所有关系模式,用下划线标出各关系模式的主键。
【问题3】(2分)
    如果需要记录课程的授课教师,新增加“授课教师”实体。请对图3-1进行修改,画出修改后的实体间联系和联系的类型。
查看答案
简答题 试题四(共15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某旅行社拟开发一套旅游管理系统,以便管理旅游相关的信息。
    1.旅行社可发布旅游线路的信息,包含:线路的价格、天数、住宿情况,以及具体的行程安排等。不同的线路参观的景点及住宿情况不相同,如表4-1所示。
 
    2.游客与旅行社沟通,选择适合自己的线路,并由旅行社为其生成订单,以记录游客联系人的姓名、身份证号、联系方式、人数、所选线路、导游安排和票务信息。旅行社为游客在行程中的每个城市安排一个负责导游,负责游客在该城市的具体旅行安排。同一城市的负责导游相同,不同城市的负责导游有可能不同。
    3.旅行社的每位员工只属于一种固定的员工类别,系统可记录员工的多部手机号。旅行社按月统计导游每月的带团人数和游客投诉次数,以计算导游的当月月薪。
    根据上述需求,初步设计了旅游信息数据库,其关系模式如图4-1所示。
 
  关系模式中主要属性的含义及约束如表4-2所示。
 
【问题1】(3分)
  对关系“线路信息”,请回答以下问题:
  (1)列举出所有不属于任何候选键的属性(非键属性)。
  (2)关系“线路信息”是否为BCNF范式,用60字以内文字简要叙述理由。
【问题2】(7分)
  对关系“订单信息”,请回答以下问题:
  (1)“订单信息”是否为2NF范式,用100字以内文字简要说明会产生什么问题。
  (2)把“订单信息”分解为第三范式,分解后的关系名依次为:订单信息1,订单信息2,…。
  (3)列出分解后的各关系模式的主键。
【问题3】(5分)
  对关系“员工信息”,请回答以下问题:
  (1)关系“员工信息”是不是第四范式,用100字以内文字叙述理由。
  (2)若 “员工信息”不是第四范式,将其分解为第四范式,分解后的关系名依次为:员工信息1,员工信息2,…。
查看答案
简答题 试题五(共15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。各售票网点使用相同的售票程序。假设售票程序中用到的伪指令如下表5-1所示:
 
    假设某售票网点一次售出a张航班A的机票,则售票程序的伪指令序列为:R (A, x);W (A, x – a)。根据上述业务及规则,完成下列问题:
【问题1】(5分)
    若两个售票网点同时销售航班A的机票,在数据库服务器端可能出现如下的调度:
    A:R1(A, x),R2(A, x),W1(A, x – 1),W2(A, x – 2);
    B:R1(A, x),R2(A, x),W2(A, x – 2),W1(A, x – 1);
    C:R1(A, x),W1(A, x – 1),R2(A, x),W2(A, x – 2);
    其中Ri(A, x),Wi(A, x)分别表示第i个销售网点的读写操作,其余类同。
    假设当前航班A剩余10张机票,分析上述三个调度各自执行完后的剩余票数,并指出错误的调度及产生错误的原因。
【问题2】(6分)
    (1)判定事务并发执行正确性的准则是什么?如何保证并发事务正确地执行?
    (2)引入相应的加解锁指令,重写售票程序的伪指令序列,以保证正确的并发调度。
【问题3】(4分)
    下面是用E-SQL实现的机票销售程序的一部分,请补全空缺处的代码。
    EXEC SQL SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
    EXEC SQL SELECT balance INTO :x FROM tickets WHERE flight = ‘A’ ;
    printf("航班A当前剩余机票数为:%d\n请输入购票数:", x );
    scanf("%d", &a);
    x = x – a ;
    if (x<0)
        EXEC SQL ROLLBACK WORK;
        printf("票数不够,购票失败!");
    else{
        EXEC SQL UPDATE tickets SET  _____(a)_____;
        if (SQLCA.sqlcode <> SUCCESS)
            EXEC SQL ROLLBACK WORK;
        else
            _____(b)_____ ;
    }
查看答案