试题一(共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语句,订单编号唯一识别一个订单,用户名为订购图书的会员用户名,且不能为空。要求订购日期不能大于出货日期。请将空缺部分补充完整。CREATETABLE订单(订单编号CHAR(6)(a),用户名VARCHAR(40)NOTNULL(b),,销售额FLOAT,订购日期DATENOTNULL,出货日期DATE(c));【问题2】(10分)请完成下列查询的SQL语句。(1)查询名称中包含“数据库”的图书的图书名称,作者,出版社和出版日期。SELECT(d)FROM图书WHERE图书名称(e);(2)查询提供销售(图书表中有)但没有销售过(没在订单明细表中出现)的图书名称和出版社。SELECT图书名称,出版社FROM图书WHERENOTEXISTS(SELECT(f)FROM订单明细WHERE(g));(3)查询订购图书数量最多的会员名及其订购的数量。SELECT用户名,(h)FROM订单,订单明细WHERE(i)GROUPBY用户名HAVING(j)(SELECTSUM(数量)FROM订单,订单明细WHERE订单.订单编号=订单明细.订单编号GROUPBY用户名);(4)为了统计会员的购买行为信息,实施有意义的客户关怀策略,查询会员的平均订购间隔时间,考虑多次购买图书和一次购买图书的情况(其中,DATEDIFF函数表示两个日期之间的天数)。SELECT用户名,CASEWHEN(k)THENDATEDIFF(MAX(订购日期),MIN(订购日期))/(l)ELSEDATEDIFF(CURRENT_TIMESTAMP,MIN(订购日期))ENDASAVG_GAPFROM订单(m);【问题3】(2分)会员订购图书后,将本次订购的销售额累加到该会员的消费额中,并按照本次订单的销售额计算积分累加到该会员的积分中(每20元增加1个积分,不足20元不计入积分)。下面用触发器实现该需求,请填充空缺部分。CREATETRIGGER会员积分_TRIGGERAFTER(n)REFERENCINGNEWROWASNROWBEGINUPDATE会员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分)为了使商场有紧急事务时能联系到轮休的员工,要求每位员工必须且只能登记一位紧急联系人的姓名和联系电话(假设不同员工可以登记相同的紧急联系人)。中还需添加的实体是(d),该实体与图3-1中的员工关系存在(e)联系。给出该实体的关系模式。试题四(共15分)阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】M公司为某宾馆设计宾馆机票预订系统,初步的需求分析结果如下:(1)客户可以在提前预订或直接入住时向宾馆提供相关信息,宾馆登记的客户信息包括:客户编号,姓名,性别,类型,身份证号,联系方式,预订日期,入住时间和离开时间等信息。其中类型字段说明客户是普通客户或VIP客户,不同的客户类型享受订票的折扣额度不同。直接入住的客户其预订日期取空值。(2)需要预订机票的客户应填写“机票预订”表,提供飞行日期、航班号、出发时间、目的地等信息。宾馆根据客户订票信息购票后,生成“客户订单”表,并根据客户类型确定相应的折扣额度。“机票预订”和“客户订单”表如表4-1、4-2所示。【逻辑结构设计】根据需求阶段收集的信息,设计的关系模式如图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();IFx=NULLTHENreturn0;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(),请补全空缺处的代码。SETTRANSACTIONISOLATIONLEVELSERIALIZABLEEXECSQLDECLAREgetblkCURSORFOR(a);EXECSQLOPENgetblk;EXECSQLFETCHgetblkINTO:Hparkno;//Hparkno为已声明的主变量IFSQLCA.sqlcode=100THENEXECSQLCLOSEgetblk;ReturnNULL;ELSE(b);ENDIF试题中通用的表示规则关于概念模型、关系模式的标记,试题中若无特殊声明,将使用如下的通用标记规则。1.概念模型的标记规则分别如图1、图2和图3所示。其中:(1)实体类型用长方形表示,弱实体用双线长方形表示。长方形内为实体类型名称。(2)实体类型间的联系用菱形表示,弱联系用双线菱形表示,菱形内写上联系的名称,并在联系与实体间的连线上注明联系的类型。(3)超类型和子类型之间的联系,从超类型到子类型之间画连线,连线上加注小圆圈,子类型加双线竖框。(4)实体和联系的属性用椭圆表示,并用直线将属性与其所属的实体或联系连接起来。2.关系模式的标记规则如下:关系名(属性名1,属性名2,…,属性名n)其中:(1)若该属性仅为主键属性,则该属性名下画实下划线;(2)若该属性仅是外键属性,则该属性名下画虚下划线;(3)若该属性既是主键属性,又是外键属性,则在该属性名下面画实下划线和虚下划线。