OSS教科書の分離性の説明に納得がいかない

OSS教科書 OSS-DB Silver』巻末の模擬試験、問60に納得がいかない。問題はGoogle ブックスでも見られる。

トランザクションの分離性について適切な記述はどれか。選択せよ。

正答はBだという。

B. 複数のトランザクションを実行する場合、すべてのトランザクションの実行が完了した結果は、トランザクションの実行順序に関係なく同じである。

しかし、これはおかしいのではないか。たとえば、以下の2つのトランザクションを順番を変えて実行したら、結果が異なるのは明らかだ。

  • トランザクション1:「UPDATE tab1 SET c1 = 100」
  • トランザクション2:「UPDATE tab1 SET c1 = 500」

同書312ページにおける分離性の説明はこうだ。

トランザクションは別のトランザクションによる処理の影響を受けない

これであれば納得がいく。

10種類のカードをコンプするのにかかるガチャ回数の分布をRubyでも

10種類のカードをコンプするのにかかるガチャ回数の分布をSqueak Smalltalkで - Smalltalkのtは小文字です」をRubyで試してみた。

$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
cards = (1..10).to_a
hist = []

1000.times do |i|
  player_cards = []
  begin
    player_cards.push cards.sample
  end until (cards - player_cards).size == 0
  hist.push player_cards.size
end

hist.sort.chunk{|n|n}.each do |n, c|
  printf "%3d: %s\n", n, '#' * c.size
end
 10: #
 11: #
 12: ##
 13: ###########
 14: ###########
 15: ##############
 16: ##########################
 17: #############################
 18: #################################
 19: ###############################################
 20: ##########################################
 21: #####################################
 22: #########################################
 23: ###################################################
 24: ######################################################
 25: #########################################
 26: ###############################
 27: #################################
 28: ##################################
 29: #####################################
 30: ####################################
 31: ###############################
 32: ###################################
 33: ##########################
 34: ################################
 35: ###################################
 36: ################
 37: #################
 38: ###############
 39: #################
 40: ##############
 41: ######################
 42: #############
 43: ########
 44: ########
 45: ###########
 46: ############
 47: #######
 48: ##########
 49: ##########
 50: #####
 51: ####
 52: #####
 53: ####
 54: ###
 55: ###
 56: ##
 57: #
 58: #####
 60: ##
 61: #
 62: ####
 63: ##
 64: #
 66: ##
 69: #
 71: #
 75: #
 85: #
131: #
記事検索
Twitter