一起答
主观

试题五(共15分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

某网上商品销售系统的业务流程如下:

(1)将客户的订单记录(订单号,客户ID,商品ID,购买数量)写入订单表;

(2)将库存表(商品ID,库存量)中订购商品的库存量减去该商品的购买数量。针对上述业务流程,完成下列问题:

【问题1】(3分)

假设库存量有大于等于O的约束,可能出现如下情况:当订单记录写入订单表后,

修改库存表时因违法约束而无法执行,应如何处理?(100字以内)

【问题2】(6分)

引入如下伪指令:将商品A的订单记录插入订单表记为I(A);读取商品A的库存量到变量x,记为x=R(A);变量x值写入商品A中的库存量,记为W(A,x)。则客户i的销售业务伪指令序列为:Ii(A),xi=Ri(A),xi=xi-ai,Wi(A,Xi)。其中ai为商品的购买数量。

假设当前库存量足够,不考虑发生修改后库存量小于o的情况。若客户1、客户2同时购买同一种商品时,可能出现的执行序列为:I1(A),I2(A),X1=R1(A),X2= R2(A),x1= x1-a1, W1(A, xi), X2=X2- a2, W2(A,X2)。

(1)此时会出现什么问题(100字以内)?

(2)为了解决上述问题,引入共享锁指令SLock(A)和独占锁指令XLock(A)对数据

A进行加锁,解锁指令Unlock(A)对数据A进行解锁,客户i的加锁指令用SLocki(A)表示,其它类同。插入订单表的操作不需要引入锁指令。请补充上述执行序列,使其满足2PL协议,并使持有锁的时间最短。

【问题3】(6分)

下面是用E-SQL实现的销售业务程序的一部分,请补全空缺处的代码。

       SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;

       INSERT INTO 订单表VALUES(:OID,:CID,:MID,:qty);

       iferror then {ROLLBACK;   (a)    ;}

       UPDATE库存表

       SET库存量=库存量-:qty

      WHERE  (b) ;

       iferror then {ROLLBACK; return;}

         (c)   

参考答案
查看试卷详情
相关试题
  1. 试题中通用的表示规则

    关于概念模型、关系模式的标记,试题中若无特殊声明,将使用如下的通用标记规则。

    1.概念模型的标记规则分别如图1、图2和图3所示。其中:

    (1)实体类型用长方形表示,弱实体用双线长方形表示。长方形内为实体类型名称。

    (2)实体类型间的联系用菱形表示,弱联系用双线菱形表示,菱形内写上联系的名称,并在联系与实体间的连线上注明联系的类型。

     

    (3)超类型和子类型之间的联系,从超类型到子类型之间画连线,连线上加注小圆圈,子类型加双线竖框。

     

    2.关系模式的标记规则如下:

    关系名(属性名1属性名2,…,属性名n)

    其中:

    (1)若该属性仅为主键属性,则该属性名下画实下划线;

    (2)若该属性仅是外键属性,则该属性名下画虚下划线;

    (3)若该属性既是主键属性,又是外键属性,则在该属性名下面画实下划线和虚下划线。

  2. 试题五(共15分)

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

    【说明】

    某网上商品销售系统的业务流程如下:

    (1)将客户的订单记录(订单号,客户ID,商品ID,购买数量)写入订单表;

    (2)将库存表(商品ID,库存量)中订购商品的库存量减去该商品的购买数量。针对上述业务流程,完成下列问题:

    【问题1】(3分)

    假设库存量有大于等于O的约束,可能出现如下情况:当订单记录写入订单表后,

    修改库存表时因违法约束而无法执行,应如何处理?(100字以内)

    【问题2】(6分)

    引入如下伪指令:将商品A的订单记录插入订单表记为I(A);读取商品A的库存量到变量x,记为x=R(A);变量x值写入商品A中的库存量,记为W(A,x)。则客户i的销售业务伪指令序列为:Ii(A),xi=Ri(A),xi=xi-ai,Wi(A,Xi)。其中ai为商品的购买数量。

    假设当前库存量足够,不考虑发生修改后库存量小于o的情况。若客户1、客户2同时购买同一种商品时,可能出现的执行序列为:I1(A),I2(A),X1=R1(A),X2= R2(A),x1= x1-a1, W1(A, xi), X2=X2- a2, W2(A,X2)。

    (1)此时会出现什么问题(100字以内)?

    (2)为了解决上述问题,引入共享锁指令SLock(A)和独占锁指令XLock(A)对数据

    A进行加锁,解锁指令Unlock(A)对数据A进行解锁,客户i的加锁指令用SLocki(A)表示,其它类同。插入订单表的操作不需要引入锁指令。请补充上述执行序列,使其满足2PL协议,并使持有锁的时间最短。

    【问题3】(6分)

    下面是用E-SQL实现的销售业务程序的一部分,请补全空缺处的代码。

           SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;

           INSERT INTO 订单表VALUES(:OID,:CID,:MID,:qty);

           iferror then {ROLLBACK;   (a)    ;}

           UPDATE库存表

           SET库存量=库存量-:qty

          WHERE  (b) ;

           iferror then {ROLLBACK; return;}

             (c)   

  3. 试题四(共15分)

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

    【说明】

    某学校拟开发一套校友捐赠管理系统,以便对校友的捐赠资金进行管理。

    【需求分析】

    校友可以向学校提出捐赠申请,说明捐赠的金额、捐赠类型和使用方式。捐赠类型

    包括一次性捐赠和周期性捐赠。捐赠的使用方式分为两种:一种用于资助个人,即受益人为多名学生或老师,主要用于奖学金、奖教金和助学金等;另一种用于资助捐赠项目,即资助已有的捐赠项目和设立新的捐赠项目,主要用于改善教学设施、实验室建设和设备购买等。一个捐赠项目可以涉及校内的多个受益单位,每个单位在该项目中有确定的受益比例。每个单位的受益比例是指在一个捐赠项目中的每个单位所应得的金额占该捐赠项目总受益金额的比例。一个捐赠项目可以由多个捐赠来资助,一个捐赠也可以资助多个捐赠项目。系统需记录一个捐赠给所资助的每个捐赠项目的具体的捐赠金额,即每个捐赠项目能从一个捐赠中受益的金额。

    初步设计了校友捐赠信息数据库,其关系模式如图4.1所示。

    【问题1】 (5分)

    对关系“校友信息”,请回答以下问题:

    (1)列举出所有候选键的属性。

    (2)它可达到第几范式,用60字以内文字简要叙述理由。

    【问题2】 (6分)

    对关系“捐赠信息”,请回答以下问题:

    (1)用100字以内文字简要说明它会产生什么问题。

    (2)将其分解为第三范式,分解后的关系名依次为:捐赠信息1,捐赠信息2,…

    (3)列出其被修正后的各关系模式的主键。

    【问题3】(4分)

    对关系“项目受益情况”,请回答以下问题:

    (1)它是否是第四范式,用100字以内文字叙述理由。

    (2)将其分解为第四范式,分解后的关系名依次为:项目受益情况l,项目受益情2,…

  4. 试题二(共15分)

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

    【说明】

    某法院要开发一个诉讼案件信息处理系统,该信息系统的部分关系模式如下:

    职工(职工编号,姓名,岗位)

    律师(律师编号,姓名)

    被告(被告编号,姓名,地址)

    案件(案件编号,案件类型,案件描述,被告,律师,主审法官,立案日期,状态,

    结案日期,结案摘要)

    审理(审理编号,案件编号,审理日期,摘要)

    有关关系模式的属性及相关说明如下:

    (1)职工关系模式的岗位有“法官”、“书记员”和“其他”。

    (2)诉讼立案后,即在案件关系中插入一条相应记录。案件关系模式的状态有“待处理”、“审理中”、“结案”和“撤销”,一个案件开始立案时其案件状态为“待处理”。

    (3)案件关系模式的案件类型有“偷窃”、“纵火”等。

    (4) -个案件自立案到结案的整个过程由一位法官和一位律师负责,一个案件通常经过一次到多次审理。

    【问题1】(4分)

    假设案件编号唯一标识一个案件,且立案日期小于等于结案日期。请将如下创建案件关系的SQL语句的空缺部分补充完整。

    CREATE TABLE案件(

          案件编号CHAR(6)   (a)   ,

          案件类型VARCHAR(10),

          案件描述VARCHAR (200),

          立案日期DATE

          被告VARCHAR (6) REFERENCES被告(被告编号),

          律师VARCHAR (6) REFERENCES律师(律师编号),

          主审法官VARCHAR (6)    (b)    ,

         状态VARCHAR (6)   (c)  DEFAULT‘待处理’,

         结案日期DATE,

         结案摘要VARCHAR (200),

            (d)

    );

    【问题2】(8分)

    请完成下列查询的SQL语句。

    (1)查询当前待处理的诉讼案件,显示案件的案件编号、立案日期、被告姓名、被告地址、案件描述、律师姓名和主审法官姓名。

    SELECT案件编号,立案日期,被告.姓名AS被告姓名,地址AS被告地址,案件

                  描述,律师.姓名AS律师姓名,    (e)   

    FROM    (f)  

    WHERE案件,被告=被告.被告编号AND案件,律师=律师.律师编号AND

                       (g)  ;

    (2)查询2009年立案的各类案件数,并按案件数降序排序。(日期格式举例:2009年1月1日表示为01-JAN-2009,2009年12月31日表示为31-DEC-2009)

              SELECT类型,count(*) AS案件数

              FROM案件

             WHERE    (h)   

            GROUP BY类型

                  (i)  ;

    (3)查询立案次数超过5次的被告姓名和地址。

    SELECT姓名,地址,count(*)

    FROM案件,被告

    WHERE    (j)  

    GROUP BY   (k)   

    (1);

    【问题3】(3分)

    当插入一个审理记录时,检查案件的状态,若状态为“未处理”,则将其修改为“审

    理中”。下面是用触发器实现该需求的SQL语句,请将空缺部分补充完整。

             CREATE TRIGGER 审理TRIGGER AFTER   (m)   ON审理

              REFERENCING new row AS nrow

              FOR EACH row

             WHEN‘未处理’=(SELECT状态

                                              FROM案件

                                              WHERE案件编号- nrow.案件编号)

    BEGIN

             UPDATE案件    (n)   

              WHERE   (o)   ;

    END

  5. 试题一(共15分)

    阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

    【说明】

    某医院欲开发病人监控系统。该系统通过各种设备监控病人的生命体征,并在生命

    体征异常时向医生和护理人员报警。该系统的主要功能如下:

    (1)本地监控:定期获取病人的生命体征,如体温、血压、心率等数据。

    (2)格式化生命体征:对病人的各项重要生命体征数据进行格式化,然后存入日志文件并检查生命体征。

    (3)检查生命体征:将格式化后的生命体征与生命体征范围文件中预设的正常范围进行比较.如果超出了预设范围,系统就发送一条警告信息给医生和护理人员。

    (4)维护生命体征范围:医生在必要时(如,新的研究结果出现时)添加或更新生命体征值的正常范围。

    (5)提取报告:在医生或护理人员请求病人生命体征报告时,从日志文件中获取病人生命体征生成体征报告,并返回给请求者。

    (6)生成病历:根据日志文件中的生命体征,医生对病人的病情进行描述,形成病历存入病历文件。

    (7)查询病历:根据医生的病历查询请求,查询病历文件,给医生返回病历报告。

    (8)生成治疗意见:根据日志文件中的生命体征和病历,医生给出治疗意见,如处方等,并存入治疗意见文件。

    (9)查询治疗意见:医生和护理人员查询治疗意见,据此对病人进行治疗。

    现采用结构化方法对病人监控系统进行分析与设计,获得如图1-1所示的顶层数据

    流图和图1-2所示的O层数据流图。

    【问题1】(3分)

    使用说明中的词语,给出图1-1中的实体E1~E3的名称。

    【问题2】(4分)

    使用说明中的词语,给出图1.2中的数据存储D1~D4的名称。

    【问题3】 (6分)

    图1-2中缺失了4条数据流,使用说明、图1-1和图1-2中的术语,给出数据流的名

    称及其起点和终点。

    【问题4】(2分)

    说明实体E1和E3之间可否有数据流,并解释其原因。