导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

一道 事务管理 超级弱智的问题,望达人指教一二!在线等啊,都进来看看,很简单的!

why0323v 2008-01-11 01:14:13
刚开始学,马上天亮就要考试了,才开始看书,老师有道例题是这样的。。。

Consider the following transactions T1 and T2:

Time T1 T2
1 read item(A);
2 A=A-10;
3 sum:=0;
4 read item(A);
5 write item(A);
6 sum:=sum + A;
7 A:=A+20;
8 read item(B);
9 write item(A);
10 read item(B);
11 sum:=sum+B;
12 B:=B+20;
13 write item(B);
14 read item(C);
15 C:=C-10;
16 write item(C);
17 read item(C);
18 sum:=sum+C;

At time zero the values of A, B, and C in the database are: A = 10, B = 20, and C = 40. Which values do A, B, and C have in the database after step 18? Which value does sum have?

A. A = 10, B = 20, C = 40, sum= 70 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 

B. A = 20, B = 40, C = 30, sum= 70 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . 

C. A = 30, B = 40, C = 30, sum= 60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 

D. A = 30, B = 40, C = 30, sum= 50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 



T1 事务和T2事务并发执行,告诉了起始A,B,C 3值A = 10, B = 20, and C = 40

求最后第18步的时候ABC的值和sum

我算得是B,但老师给的答案是C.
请问大家一下,应该是什么答案阿,多谢了,在线等啊!谢谢啦~
...全文
45 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yanzimywife_2005 2008-01-11
这个东西和事物有什么关系啊?
回复
why0323v 2008-01-11
8楼又搞错了,呵呵!没看完就下了结论,呵呵!
保存了之后再读取才会变,要不一直就是读取保存前的值,呵呵!懂了!

回复
why0323v 2008-01-11
每次读取的值都是原值是吗?完全不用看每次改变了的值?
回复
why0323v 2008-01-11
哦~明白了,呵呵~谢谢飞天小虫子了,哈哈~太爱你啦~哈哈!

我再英国,现在凌晨5点多钟,紧张啊~哈哈!下午就开始考试了,呵呵!
回复
why0323v 2008-01-11
...完了,那我理解的都错了。。。

能不能帮我看一下我哪里理解的是错的啊?

A=A-10=0
SUM=0


SUM=SUM+A=0+0=0
A=A+20=0+20=20

SUM=SUM+B=20+20=40
B=B+20=20+20=40
C=C-10=40-10=30
SUM=SUM+C=40+30=70


整本书才看了一晚上,只能先这么简单的理解这个,能帮忙看看那里有严重错误啊?还是整个思路都是错的?
回复
kk19840210 2008-01-11
Time         T1   T2 
1 read item(A); --读取A
2 A=A-10; --改变A=0
3 sum:=0; -- 赋值 sum
4 read item(A); --读取A=10
5 write item(A);--保存A=10
6 sum:=sum + A; --SUM= 10
7 A:=A+20; --A=30
8 read item(B); --读取B
9 write item(A); --保存A=30
10 read item(B); --读取B=20
11 sum:=sum+B; --SUM=30
12 B:=B+20; --改变B=40
13 write item(B); --保存B=40
14 read item(C); --读取C
15 C:=C-10; --改变C=30
16 write item(C); --保存C=30
17 read item(C); --读取C=30
18 sum:=sum+C; --SUM=60

A=30 B=40 C=30 SUM=60
回复
pt1314917 2008-01-11
发表于:2008-01-11 13:14:13 楼主
刚开始学,马上天亮就要考试了,才开始看书,老师有道例题是这样的。。。

楼主在哪?这时候还没天亮。
回复
kk19840210 2008-01-11
C. A = 30, B = 40, C = 30, sum= 60
回复
kk19840210 2008-01-11
c
回复
why0323v 2008-01-11
Time T1 T2
1 read item(A);
2 A=A-10;
3 sum:=0;
4 read item(A);
5 write item(A);
6 sum:=sum + A;
7 A:=A+20;
8 read item(B);
9 write item(A);
10 read item(B);
11 sum:=sum+B;
12 B:=B+20;
13 write item(B);
14 read item(C);
15 C:=C-10;
16 write item(C);
17 read item(C);
18 sum:=sum+C;
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告