跳到正文

平成21年度 秋期 ITパスポート試験 問88

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

問88
頻出度★☆☆

複数の利用者が同時にデータベースを利用する場合に,1人の利用者がデータ更新中に,同一のデータを別の利用者が参照しようとした。このとき,データの整合性を保障するためのデータベース管理システムでの制御として,適切なものはどれか。

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

問 88

  • 错误ア

    每来一次引用请求就中断更新处理,会妨碍正当进行中的更新,使处理停在中途的不完整状态。引用请求并不构成中止更新的理由,这算不上保持整合性的控制。

  • 错误イ

    让其引用更新中尚未确定的数据,一旦之后更新被撤销(回滚),就等于读到了并不存在的值。这种不一致称为脏读,是 DBMS 应当避免的状态。

  • ウ

    正解 数据库管理系统(DBMS)在多个用户同时操作同一份数据时会进行并发控制(加锁)。某个用户正在更新的数据,在事务完成(提交)之前尚未确定,处于中途的不完整状态,若把中途的值让其他用户看到,就会引发基于错误数据的处理。因此 DBMS 会让引用方等待,直到更新方释放锁(处理结束),只让其读取已确定的数据。这就是ウ「等正在更新的用户处理结束后,再让其引用数据」,是保持数据整合性(一致性)的正确控制。

  • 错误エ

    仅仅因为别人来引用就放弃进行中的更新,会让更新用户的正当处理白白丢失,属于不合理的做法。放弃更新(回滚)是在发生故障或明确取消时才执行的,并不是应对引用请求的手段。

ここがポイント
  • 并发控制(加锁):在并发执行时,让针对正在更新的数据的引用或更新等待,从而保持整合性的 DBMS 机制。
  • 事务具有 ACID 特性,在提交确定之前不会把中途的数据展示给其他用户(防止脏读)。
用語
解答問88ウ
练这一题

作答记录