跳到正文

平成23年度 秋期 ITパスポート試験 問63

这道题的解析和你的作答记录。

問63
頻出度★☆☆

複数の利用者が同一データベースに同時にアクセスする処理のうち, データの整合性を保つための対策が不要な処理はどれか。

出典 平成23年度 秋期 ITパスポート試験 問63
解説

問 63

  • 错误ア

    拍卖的竞价处理,是对同一件拍品改写当前最高出价额和竞价记录的更新处理。多个用户几乎同时出价时,双方都读取到更新前的同一最高价并各自写回,就可能发生一方的出价从记录中消失的更新丢失。为了唯一地确定竞得者也需要互斥控制,因此它不是不需要采取措施的处理。

  • 错误イ

    在线购物的下单处理,除了登记订单数据之外,还伴随减少商品库存数量的更新。当只剩一件的商品被多个用户同时下单时,双方都判断为有库存并同时做减法,于是库存看起来比实际多,或者变成负数,一致性就被破坏了。把从确认库存到更新为止作为一个事务来进行互斥控制的措施不可或缺,因此本项是错误的。

  • ウ

    正解 正确答案是 ウ。多个用户同时访问同一数据库时,一致性(一贯性)之所以会成为问题,是在对同一数据的更新(写入)发生重叠的场合。例如两个人同时读取同一数据,各自以自己读到的值为基础写回,先写入一方所做的更新就会被后写入的一方覆盖而消失。这称为更新丢失(lost update),为了防止它,就需要互斥控制(加锁)以及借助事务实现的并发控制。ウ 的图书信息的检索处理,只是按书名、作者名等条件参照已存储的数据,并不改写数据库的内容。如果只是读取,那么无论多少人同时执行都不会破坏彼此的结果,同时读取同一数据本身也不会产生矛盾,所以不需要为保持一致性而采取措施。实际上,在数据库管理系统的锁机制中,读取与读取之间可以同时获取共享锁、互不等待;而伴随更新的排他锁则会让其他处理等待。综上所述,不需要采取措施的处理就是只做读取的 ウ。

  • 错误エ

    列车座位的预约处理,是把指定的座位改写为已预约的更新处理。多个用户同时想预约同一个座位时,如果没有采取措施,双方都会判断为空位而使预约成立,于是发生同一座位被重复预约这一典型的不一致。必须把确认空位与确定预约作为不可分割的一连串处理,并用互斥控制防止同时更新,因此它不属于不需要采取措施的处理。

ここがポイント
  • 需要并发控制的条件 —— 在对数据库的同时访问中,一致性被破坏的情形是对同一数据的更新(写入)发生冲突。只做读取的处理不会互相破坏数据,所以不需要采取措施;而伴随更新的处理则需要互斥控制(加锁)。有没有更新,就是区分各选项的判断标准。
  • 更新丢失与互斥控制 —— 两个处理读取同一个值并各自写回,导致先做的更新消失,这种现象称为更新丢失(lost update)。为了防止它,要把一连串处理归拢为一个事务,并对更新对象加排他锁,让其他处理等待。用于读取的共享锁可以同时获取,而排他锁不能与其他锁并存。
用語
解答問63ウ
练这一题

作答记录