你可能感兴趣的试题
一级加锁协议要求事务T在修改数据项Q之前必须先对Q加X锁,直到事务结束才释放该锁 二级加锁协议是在一级加锁协议基础上,要求事务T在读取数据项Q之前必须先对其加S锁,读完Q后可以立即释放S锁 三级加锁协议是在一级加锁协议基础上,要求事务T在读取数据项Q之前必须先对其加S锁,读完Q后可以立即释放S锁 对并发操作的不正确调度可能会导致数据库中数据的不一致,三级加锁协议暂时无法解决该问题
一级加锁协议要求事务T在修改数据项Q之前必须先对Q加X锁,直到事务结束才释放 二级加锁协议是在一级加锁协议基础上,要求事务T在读取数据项Q之前必须先对其加S锁,读完Q后可以立即释放S锁 三级加锁协议是在一级加锁协议基础上,要求事务T在读取数据项Q之前必须先对其加S锁,读完Q后可以立即释放S锁 对并发操作的不正确调度可能会导致数据库中数据的不一致,三级加锁协议暂时无法解决这一问题
数据库管理系统是用户与应用程序的接, 应用程序只有通过数据库管理系统才能和数据库联系 数据库管理系统用DML来定义三级模式。 数据库管理系统用DDL来实现对数据库的各种操作
三级模式结构 完整性约束 模式分级和模式间的映像 数据库管理系统
锁可以加在数据页、索引页和数据块等物理单元上,也可以加在元组等逻辑单元上 锁粒度会影响事务的并发执行程度,锁粒度越大,并发执行度越低,锁粒度越小,并发执行度越高 锁粒度会影响数据库的性能,锁粒度越小,系统开销越大,锁粒度越大,系统开销越小 一个好的数据库管理系统一般会选择一种锁粒度加以实现,同时针对此种锁粒度进行性能优化,以达到数据库运行的最佳状态
数据库管理系统采用死锁检测与恢复策略使系统摆脱死锁状态 如果系统进入死锁状态的概率比较低,则应采用死锁预防策略,否则采用死锁检测与恢复策略更有效 为避免活锁(事务饿死)现象的发生,数据库管理系统可以采用先来先服务(FIFS)策略处理事务的数据操作请求 数据库系统的并发控制子系统动态地构造和维护事务等待图,并周期性地检查图中是否存在回路,如果有则说明系统中出现了死锁
数据库管理系统是用户与应用程序的接口 应用程序只有通过数据库管理系统才能和数据库联系 数据库管理系统用DML来定义三级模式 数据库管理系统用DDL来实现对数据库的各种操作
当事务由于无法获得对需要访问的数据项的控制权而处于等待状态时,称数据库中产生了死锁 死锁是由于系统中各事务间存在冲突操作且冲突操作的并发执行顺序不当而产生的 死锁预防可以使用一次加锁和顺序加锁两种方法,其中一次加锁法可能会降低系统的并发程度 解除死锁通常采用的方法是选择一个或儿个造成死锁的事务,撤销这些事务并释放其持有的锁