問77
頻出度★☆☆
DBMSにおいて, データへの同時アクセスによる矛盾の発生を防止し, データの一貫性を保つための機能はどれか。
这道题的解析和你的作答记录。
DBMSにおいて, データへの同時アクセスによる矛盾の発生を防止し, データの一貫性を保つための機能はどれか。
规范化是数据库的设计技法,通过拆分表来减少重复和更新异常、整理数据结构。它说的是在设计阶段去掉结构上的冗余,并不是在运行时协调并发访问冲突的功能。
死锁是指多个事务互相等待对方持有的锁被释放,结果谁都无法继续前进的状态。它反而是执行排他控制之后可能出现的「麻烦现象(故障)」,并不是防止矛盾的功能本身。
正解 正确答案是ウ的「排他控制(互斥控制)」。在 DBMS 中,多个用户或事务可能同时访问同一份数据,如果不加任何控制,就会出现「更新被覆盖而丢失」「提交前的中间值被别人读到」这类矛盾(不一致)。排他控制的做法是:对某个事务正在处理的数据加锁,让其他事务的读写暂时等待,以此协调并发访问的先后顺序,保护数据的一致性。锁分为既禁止他人读取也禁止他人更新的排他锁(写锁)和只允许他人读取的共享锁(读锁),这正好对应题目所说的「防止并发访问产生矛盾、保持一致性的功能」。
还原是把备份的数据写回去、使数据库恢复到故障发生前状态的操作。其目的是从故障中恢复(事后修复),与运行中的并发访问控制的作用不同。