新建题库04040315

更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
某快递公司对每个发出的快递进行跟踪管理,需要建立一个快递跟踪管理系统,对该公司承接的快递业务进行有效管理。

【需求描述】

1.公司在每个城市的每个街道都设有快递站点。这些站点负责快递的接收和投递。站点信息包括站点地址、站点名称、责任人、一部联系电话、开始营业时间、结束营业时间。每个站点每天的营业时间相同。每个站点只能有一个责任人。

2.系统内需记录快递员、发件人的基本信息。这些信息包括姓名、身份证号、一个联系地址、一部联系电话。快递站点的责任人由快递员兼任,且每个快递站点只有一个责任人。每个快递员只负责一个快递站点的揽件和快递派送业务。发件人和快递员需实名认证。

3.快递需要提供详实的信息,包括发件人姓名、身份证号、一部发件人电话号码、发件人地址、收件站点、收件人姓名、收件地址、一部收件人电话、投递时间、物品类别、物品名称及物品价值。每个发件人和收件人在系统里只能登记一个电话和地址。

4.每个快递员接手一份快递后,需在系统中录入每个快递的当前状态信息,包括当前位置、收到时间、当前快递员和上一段快递员。状态信息包括待揽件、投递中、已签收。如果快递已签收,应记录签收人姓名及一个联系电话。每个快递在一个站点只能对应一个负责的快递员。

注:试题不需要考虑快递退回的相关问题。

【逻辑结构设计】

根据上诉需求需求,设计出如下关系模式:

快递(快递编号,收件人姓名,收件地址编号,收件人电话,投递时间,物品类别,物品名称,物品价值),其中收件地址编号是地址实体的地址编号。

快递员(姓名,身份证号,电话号码,联系地址编号,工作站点编号)

快递站点(站点编号,站点名称,责任人编号,站点地址编号,开始营业时间,联系电话,结束营业时间)。责任人编号是负责该站点的快递员的身份证号。

地址(地址编号,所在省,所在市,所在街道,其他),其他信息是需补充的地址信息。

快递投递(快递编号,快递员编号,发件人姓名,发件人身份证号,发件人电话号码,发件人地址编号),其中发件人地址编号为发件人地址的地址编号,揽件站点编号为接收该快递的站点编号。

快递跟踪(快递编号,当前快递员编号,上一段快递员编号,当前状态,收到时间,当前站点编号)。

快递签收(快递编号,签收人姓名,签收人联系电话)。

【问题1】对关系“快递投递”,请回答以下问题:

列举出所有候选键;它是否为3NF,用100字以内文字简要叙述理由;将其分解为BCNF,分解后的关系名依次为:快递投递1,快递投递2,…,并说出各关系模式的主键。

【问题2】对关系“快递跟踪”,请回答以下问题:

列举出所有候选键;它是否为2NF,用100字以内文字简要叙述理由;将其分解为BCNF,分解后的关系名依次为:快递跟踪1,快递跟踪2,…,并说出各关系模式的主键。

【问题3】快递公司会根据快递物品和距离收取快递费,每件快递需由发件人或收件人支付快递费给公司。同一个发件人同时发起多个快递,必须分别支付。快递公司提供预支付和到付两种支付方式。为了统计快递费的支付情况(详细金额和时间),试增加“快递费支付”关系模式,用100字以内文字简要叙述解决方案。

(23)某企业内部信息系统部分简化后的关系模式如下:

员工表:EMPLOYEES(Eid, Ename,Address. Phone,Jid):属性含义分别为:员工编码、员工姓名、家庭住址、联系电话、岗位级别编码。

岗位级别表:JOB_LEVELS (Jid, Jname,Jbase_salary):属性含义分别为:岗位级别编码、岗位名称、岗位基本工资。员工工资表:SALARY(Eid, attendance_wage, merit_pay. overtime_wage, salary , tax, year. month):属性含义分别为:员工编码、考勤工资、绩效工资、加班工资、最终工资、税、年份、月份。

该企业在每月25日计算员工的工资。首先是根据考勤系统以及绩效系统中的数据计算出员工的考勤、绩效和加班工资,存入到员工工资表;其次结合员工的岗位基本工资,计算出最终工资,完成对员工工资表记录的更新。最后依据员工工资表完成工资的发放。

【问题1】(6分)

下面是月底25日计算某员工最终工资的存储过程程序,请补全空缺处的代码。

CREATE PROCEDURE SalaryCalculation((a) empId char(8),IN iYear number(4),IN iMonth number(2))

DECLARE

attendance number(14,2);

merit number(14,2);

overtime number(14,2);

base number(14,2);

all _salary number(14,2);

BEGIN

SELECT attendance_wage, merit_pay, overtime_wage INTO (b)

FROM SALARY

WHERE Eid = empld FOR UPDATE;SELECT Jbase_salary INTO:base FROM EMPLOYEES T1,(c)【来自哪两个表】

WHERE T1.Jid=T2.Jid AND T1.Eid= empld;

all_salary := attendance + merit + overtime + base;

UPDATE SALARY SET salary = :all_salary

WHERE (d) AND year = iYear AND month = iMonth;

EXCEPTION WHEN OTHERS THEN (f);

END;

【问题2】为了防止对员工工资表的非法修改(包括内部犯罪),系统特意规定了员工工资表修改的业务规则:对员工工资表的修改只能在每月25日的上班时间进行。

下面是员工工资表修改业务规则对应的程序,请补全空缺处的代码。

CREATE TRIGGER CheckBusinessRule

(g) INSERT OR DELETE OR (h) on SALARY FOR EACH (i)

BEGIN

IF (TO_CHAR(sysdate,"DD"))

OR (to_number(TO_CHAR(sysdate!=  (j) ,"HH24")) (k) BETWEEN 8 AND 18) THEN

Raise_Error;//抛出异常

END IF;

END;

问题3 人事部门具有每月对员工进行额外奖罚的权限,该奖罚也反应到员工的最终工资上。假设当某月计算一位员工的最终工资时,同一时间人事部门对该员工执行了奖励2000元的事务操作,对应事务的部分调度序列如表4-1所示。

表4-1事务运行部分调度事宣表

| 时间 | 计算最终工资事务 | 人事部门奖罚事务 |

| ------ | -------------------------- | ---------------------- |

| T0 | …… | … |

| T1 | 读取考勤、绩效和加班工资 | |

| T2 | | 根据奖罚更新最新工资 |

| T3 | | commit |

| T4 | 读取岗位工资 | |

| T5 | 计算最终工资并写入 | |

| T6 | commit | |

| T7 | … | |

(1)请说明该事务调度存在哪种并发问题?
(2)采用2PL是否可以解决该并发问题?是否会产生死锁?

某装备的组装过程需要经过多道程序,由于工作空间狭小,同时只能有一人在操作间工作,所以在每道工序之间需要先完成使用配件的出库后,操作人员携带配件到操作间进行安装工作,安装过程中需要扫描配件编码以自动记录该配件的安装情况。

假使存在三个事务用于处理某一类配件的某次安装实施,事务T1负责出库登记,T2负责安装登记,T3负责将未使用的配件重新入库。所有三个事务执行完成后,T1出库的数量应等于T2安装的数量与T3重新入库的数量之和。数据项J记录配件的库存数量,数据项I记录成功安装的数量。

某次组装过程出库了12个配件,安装了6个。假设数据库系统采用检查点机制对故障进行恢复,部分日志文件如表5-1所示。日志记录内容中:<Ti,START>表示事务Ti开始执行,<Ti,COMMIT>表示事务Ti提交,<Ti,D,V1,V2>表示事务Ti将数据项D的值由V1修改为V2。例如<T1,I,22,3>表示事务T1将数据项I的数值由22修改为3。<Ti,D,V>表示将事务Ti回滚数据项D的值回滚到V。<Ti,abort>表示事务Ti回滚结束。CRASH表示系统磁盘出错。请回答以下问题。

| 日志记录编号 | 日志记录内容 |

| -------------- | ----------------- |

| LSN1 | <T1, START> |

| LSN2 | <T1, I, 20, 8> |

| LSN3 | <T2, START> |

| LSN4 | <T2, J, 0, 1> |

| LSN5 | <T2, J, 1, 5> |

| LSN6 | <T3, START> |

| LSN7 | <T2, J, 5, 6> |

| LSN8 | <T1, COMMIT> |

| LSN9 | CHECKPOINT |

| LSN10 | <T2, COMMIT> |

| LSN11 | <T3, I, 8, (a)> |

| LSN13 | CRASH |

| LSN14 | (b) |

| LSN15 | (c) |

问题1 请用100字以内的文字简要说明数据库系统常见故障类型,并说明表5-1中的日志记录表明数据库出现哪种类型的故障。

问题2 请给出系统恢复时需要重做(Redo)的事务列表和需要撤销(Undo)的事务列表。

问题3 根据题干中所描述的业务逻辑,请填写表5-1日志记录中的空白(a);请给出Undo恢复的补偿日志记录,填写空白(b)和(c).

某银行账务系统的部分简化后的关系模式如下:游标和触发器

账户表:accounts(a_no,a_name,a_status, a_balop, en_branch_no,open_branch_name,phone _no);属性含义分别为:账户编码、账户名称、账户状态(1-正常、2-冻结、3-挂失 )、账户余额、开户网点编码、开户网点名称、账户移动电话。

账户交易明细表:trade_details(t_date,optr_no,serial_no,t_branch,a_no,t_type,t_amt,t_result);属性含义分别为:交易日期、操作员编码、流水号、交易网点编码、账户编码、交易类型(1-存款、2-取款)、交易金额、交易结果(1-成功、2-失败、3-异常、4-已取消)。

网点当日余额汇总表:branch sum(bno,b_date,b_name,all_bal);属性含义分别为:网点编码、汇总日期、网点名称、网点开户账户的总余额。

系统提供常规的账户存取款交易,并提供账户余额变更通知服务。该账务系统是7*24h不间断地提供服务;网点当日余额汇总操作一般在当日晚上12点左右,运维人员在执行日终处理操作中完成。

【问题1】下面是系统日终时生成网点当日余额汇总数据的存储过程程序,请补全空缺处的代码。

CREATE PROCEDURE BranchBalanceSum(INs date char(8))

DECLARE

all_balance number(142);

v_bran_no varchar(10) ;

v_bran_name varchar(30);

(a) c_sum_bal IS

SELECT open_branch_no,open_branch_name,sum(a_bal)

FROM accounts GROUP BY open_branch_no,open_branch_name;

BEGIN

OPEN c_sum_bal;

LOOP

(b) c_sum bal INTO v_bran_no, (c) ;

IF c_sum_bal%%NOTFOUND THEN//未找到记录

(d);

END IF;

INSERT INTO branch_sum

VALUES(v_bran_no,s_date,v_bran_name,all_balance);

END LOOP;

CLOSE _(e) ; COMMIT;

EXCEPTION WHEN OTHERS THEN

(f)

END;

【问题2】当执行存取款交易导致用户账户余额发生变更时,账务系统需要给用户发送余额变更短信通知。通知内容为“某时间您的账户执行了某交易,交易金额为XX元,交易后账户余额为XXX元”。默认系统先更新账户表,后更新账户交易明细表。

下面是余额变更通知功能对应的程序,请补全空缺处的代码。

CREATE TRIGGER BalanceNotice (g) INSERT on (h)

(i)

WHEN (j) =1

DECLARE

vphone varchar(30);

vtype varchar(30) ;

vbal number(142);

vmsg varchar(300);

BEGIN

SELECT phone_no,a_bal INTO v_phone,v_bal FROM accounts

WHERE a_no = (k) ;

IF NEW.t_type=1 THEN

vtype:=存款;

END IF;

IF NEW.t_type=2 THEN

vtype:=取款;

ENDIF;

vmsg:=NEW.t date",您的账户NEWa no"上执行了"vtype交易,交易金额为"to string(NEW t amt)元,交易后账户余额为"to_string(v bal)元";

SendMsg(v_phone,v_msg);//发送短信

END;

【问题3】(4分)

假设日终某网点当日余额汇总操作和同一网点某账户取款交易同一时间发生,对应事务的部分调度序列如表4-1所示。

问题3 假设日终某网点当日余额汇总操作和同一网点某账户取款交易同一时间发生,对应事务的部分调度序列如表所示。

(1)在事务提交读隔离级别下,该网点的汇总和取款事务是否成功结束?

(2)如果该数据库提供了多版本并发控制协议,两个事务是否成功结束?

| 时间 | 某网点账户余额汇总事务 | 账户取款事务 |

| ------ | ------------------------ | ------------------------- |

| T0 | …… | …… |

| T1 | 读第 1 个账户,汇总 | |

| T2 | 读第 2 个账户,汇总 | |

| T3 | | 第 3 个账户发生取款交易 |

| T4 | | commit |

| T5 | 读第 3 个账户,汇总 | |

| T6 | …… | |

| T7 | 读最后账户,汇总 | |

| T8 | …… | |

某社区蔬菜团购网站,为规范商品收发流程,便于查询客户订单情况,需要开发个信息系统。请根据下述需求描述完成该系统的数据库设计。
【需求描述】
(1)记录蔬菜供应商的信息,包括供应商编号、地址和一个电话。
(2)记录社区团购点的信息,包括团购点编号、地址和一个电话。
(3)记录客户信息,包括客户姓名和一个电话。客户可以在不同的社区团购点下订单,不直接与蔬菜供应商发生联系。
(4)记录客户订单信息,包括订单编号、团购点编号、客户电话、订单内容和日期。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图1-1所示。
(含图)
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
蔬菜供货商(供货商编号,地址,电话)
社区团购点(团购点编号,地址,电话)
供货(供货商编号,(a))
客户(姓名,客户电话)
订单(订单编号,团购点编号,订单内容,日期,(b))

【问题1】(6分)
根据问题描述,补充图1-1的实体联系图。

【问题2】(4分)
补充逻辑结构设计结果中的(a)、(b)两处空缺及完整性约束关系。

【问题3】(5分)
若社区蔬菜团购网站还兼有代收快递的业务,请增加新的“快递”实体,并给出客户实体和快递实体之间的“收取’联系,对图1进行补充。“快递”关系模式包括快递编号、客户电话和日期。
(1)系统需要维护球队、球员、主教练、主裁判、比赛等信息。

球队信息主要包括:球队编号、名称、成立时间、人数、主场地址、球队主教练。

球员信息主要包括:姓名、身份证号、出生日期、身高、家庭住址。

主教练信息主要包括:姓名、身份证号、出生日期、资格证书号、级别。

主裁判信息主要包括:姓名、身份证号、出生日期、资格证书号、获取证书时间、级别。

(2)每支球队有一名主教练和若干名球员。一名主教练只能受聘于一支球队,一名球员只能效力于一支球队。每支球队都有自己的唯一主场场地,且场地不能共用:

(3)足球联赛采用主客场循环制,一周进行一轮比赛,一轮的所有比赛同时进行。

(4)一场比赛有两支球队参加,一支球队作为主队身份、另一支作为客队身份参与比赛。一场比赛只能有一名主裁判,每场比赛有唯一的比赛编码,每场比赛都记录比分和日期。

【概念模型设计】

根据需求分析阶段的信息,设计的实体联系图(不完整)如图3-1所示。

(含图)

【逻辑结构设计】

根据概念结构设计阶段完成的实体联系图,得出如下关系模式(不完整):

球队(球队编号,名称,成立时间,人数,主场地址)

球员(姓名,身份证号,出生日期,身高,家庭住址,( 1 ) )

主教练(姓名,身份证号,出生日期,资格证书号,级别,( 2 ))

主裁判(姓名,身份证号,出生日期,资格证书号,获取证书时间,级别)

比赛(比赛编码,主队编号,客队编号,主裁判身份证号,比分,日期)

【问题1】

补充图3-1中的联系和联系的类型。图3-1中的联系"比赛"应具有的属性是哪些?。

【问题2】

根据图3-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(2)补充完整。

【问题3】

现在系统要增加赞助商信息,赞助商信息主要包括赞助商名称和赞助商编号。

赞助商可以赞助某支球队,一支球队只能有一个赞助商,但赞助商可以赞助多支球队。赞助商也可以单独赞助某些球员,一名球员可以为多个赞助商代言。请根据该要求,对图3-1进行修改,画出修改后的实体间联系和联系的类型。

某新能源汽车公司为了提升效率,需要开发一个汽车零件采购系统。请根据下述需求描述完成该系统的数据库设计。
(1)记录供应商的信息,包括供应商的名称、地址和一个电话。
(2)记录零件的信息,包括零件的编码、名称和价格。
(3记录车型信息,包括车型的编号、名称和规格。(4)记录零件采购信息。某个车型的某种零件可以从多家供应商采购,某种零件也可以被多个车型采用,某家供应商也可以供应多种零件:还包括采购数量和采购日期。 【概念结构设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图1-1所示。
(含图)
【逻辑结构设计】
根据概念结构设计阶段完成的实体联系图得出如下关系模式(不完整):
供应商(名称,地址,电话)零件(编码,名称,价格)车型(编号,名称,规格)
采购(车型编号,供应商名称,(a),(b),采购日期)

【问题1】根据问题描述,补充图1-1的实体联系图(不增加新的实体)。
【问题2】补充逻辑结构设计结果中的(a) . (b)两处空缺,并标注主键和外键完整性约束。
【问题3】该汽车公司现新增如下需求:记录车型在全国门店的销售情况。门店信息包括门店的编号、地址和电话:销售包括销售数量和销售日期等。
对原有设计进行以下修改以实现该需求:
(1)在图1-1中体现门店信息及其车型销售情况,并标明新增的实体和联系,及其必要属性。
(2)给出新增加的关系模式,并标注主键和外键元整性约束。
22、(1)记录疫苗供应商的信息,包括供应商名称、地址和一个电话。

(2)记录接种医院的信息,包括医院名称、地址和一个电话。

(3)记录被接种者个人信息,包括姓名、身份证号和一个电话。

(4)记录接种者的疫苗接种信息,包括接种医院信息、被接种者信息、疫苗供应商名称和接种日期。为了提高免疫力,接种者可能需要进行多次疫苗接种(每天最多接种一次),但每次都可以在全市任意一家医院进行疫苗接种。

【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(不完整)如图1-1所示。

【逻辑结构设计】

根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整 ):

供应商(供应商名称,地址,电话 )

医院(医院名称,地址,电话)

供货(供应商名称,(a),供货内容)

被接种者(姓名,身份证号,电话)

接种(被接种者身份证号,(b),医院名称,供应商名称)

【问题1】根据问题描述,补充图1-1的实体联系图(不增加新的实体)。

【问题2】补充逻辑结构设计结果中的(a)、(b)两处空缺,并标注主键和外键完整性约束。

【问题3】若医院还兼有核酸检测的业务,检测者可能需要进行多次核酸检测(每天最多检测1次),但每次都可以在全市任意一家医院进行检测。

请在图1-1中增加“被检测者”实体和相应的属性、医院和被检测者之间的“检测”联系和必要的属性,并给出新增加的关系模式。

“被检测者”实体包括姓名、身份证号、住址和一个电话。“检测”联系需要包括检测日期和检测结果等。

某竞赛管理系统的部分数据库关系模式如下:
选手:PLAYER(PnO Phame,Sex.Region,Tel),各属性分别表示参赛选手的编号、姓名、性别、地区和联系电话:

竞赛项目: CONTEST(CnO, Chame, Type, Date),各属性分别表示竞赛项目的编号、名称、类别和举办日期;
选手参赛:PC(Pno.Cno,City,Rank,Point),各属性分别表示选手编号、竞赛项目编号、竞赛所在城市、选手取得的名次和积分。
有关关系模式的说明如下:
(1)下划线标出的属性是表的主码。
(2)选手参赛表的属性Pno和Cno分别参照了选手表和竞赛项目表的主码。
(3)一个选手参加一项竞赛有一个名次和一-个积分,名次有4个取值(“一”“二”“三”无”)。另外,竞赛所在城市不能为空。

【问题1】请将下面创建选手参赛表PC的SQL语句补充完整,要求定义实体完整性约束、参照完整性约束,以及其他完整性约束。
CREATE TABLE PC(
Pno CHAR(10) REFERENCES(a)(Pno),
Cno CHAR(3) REFERENCES(b)(Cno),
City CHAR(20)(c)
Rank CHAR(20)(d)
PointSMALLIT,
(e)

【问题2】查询所有未参加"Al"类别竞赛的选手,要求输出选手的编号(Pno),查询结果按照选手编号的升序排列。此功能由下面的SQL语句实现,请补全。

SELECT Pno
FROM (f)
WHERE Pno (g)
(SELECT (h)
FROM PC, Contest -- 连接参赛表和竞赛表
WHERE PC.Cno = Contest.Cno -- (i) 连接条件
AND Type = 'AI') -- (j) 类别为AI
(k) Pno;



【问题3】由于某种原因,编号为TE06的竞赛项目在正式举办前被取消了。而此前系统中已经记录了些选手的报名参赛情况,因此需要在系统中删除E06的竞赛项目记录,以及该竞赛的所有报名参赛纪录。根据问题1在选手参赛表PC上定义的参照完整性约束,此功能可以由下面的SQL语句实现,请补全。
(l)FROM(m)WHERE Cno=E06;
(n)FROM(o)WHERE Cno="E06";

某企业网上书城系统的部分关系模式如下:
书籍信息表:books(book no, book name, press no, ISBN, price, sale type, all nums),其中属性含义分别为:书籍编码、书籍名称、出版商编码、ISBN、 销售价格、销售分类、当前库存数量:
书籍销售订单表: orders(order no, book no, book nums, book price, order date,amount),其中属性分别为:订单编码、书籍编码、书籍数量、书籍价格、订单日期和总金额。
书籍再购额度表: booklimit(book no, sale_ type, limitamount),其中属性含义分别为: 书籍编码、销售分类、再购额度;
书籍最低库存表: bookminlevel(book no, leve) ,其中属性含义分别为:书籍编码,书籍最低库存数量;
书籍采购表: bookorders(book no, order. amount),其中属性含义分别为:书籍编码和采购数量。
有关关系模式的说明如下:
(1)下划线标出的属性是表的主码。
(2)根据书籍销售情况来确定书籍的销售分类:销售数量小于1万的为普通类型,其值为0;1万及以上的为热销类型,其值为1
(3)系统具备书籍自动补货功能,涉及到的关系模式有:书籍再购额度表、书籍最低库存表、书籍采购表。其业务逻辑是:当某书籍库存小于其最低库存数量时,根据书籍的销售分类以及书籍再购额度表中的再购额度,生成书籍采购表中的采购订单,完成自动补货操作。

【问题1】系统定期扫描书籍销售订单表,根据书籍总的销售情况来确定书籍的销售类别。下面是系统中设置某书籍销售类别的存储过程,结束时需显式提交返回。请补全空缺处的代码。
CREATE PROCEDURE UpdateBookSaleType (IN bno varchar(20))
DECLARE
allnums number(6);
BEGIN
SELECT (a) (book_nums) INTO all_nums FROM orders
WHERE book_no = (b) ;

IF all_nums < (c) THEN
UPDATE books SET sale_type = 0 WHERE book_no = bno;
ELSE
UPDATE books SET sale_type = (d) WHERE book_no = bno;
END IF;
(e) ;
END;

【问题2】下面是系统中自动补货功能对应的触发器,请补全空缺处的代码。
CREATE TRIGGER BookOrdersTrigger (f) update
of (g) on books
(h)
WHEN (i) <(SELECT level FROM bookminlevel
WHERE bookminlevel.book_no = OLD.book_no)
AND (j) >=(SELECT level FROM bookminlevel
WHERE bookminlevel.book_no = OLD.book_mo)
BEGIN
INSERT INTO (k)
(SELECT book_no,limit_amount
FROM booklimit as TMP
WHERE TMP.book_no = OLD.book_no
AND TMP.sale_type = OLD.sale_type);
END;

【问题3】(假设用户1和用户2同时购买同一书籍,对应事务的部分调度序列如表4-1所示(事务中未进行并发控制),其中T0时刻该书籍的库存数量all nums=500。

| 时间 | 用户 1 事务 | 用户 2 事务 |

| :-: | :---------------------- | :---------------------- |

| T0 | ...... | ...... |

| T1 | read(all_nums) | |

| T2 | all_nums = all_nums-2 | |

| T3 | write(all_nums) | |

| T4 | | read(all_nums) |

| T5 | | all_nums = all_nums-3 |

| T6 | | write(all_nums) |

| T7 | ROLLBACK | |

| T8 | ...... | ...... |
请说明T4时刻,用户2事务读取到的all nums数值是多少?请说明T8时刻,all nums数据是否出现不一致性问题?如出现,请说明属于哪一种数据不一致性。