- 0
- 0
- 约8.04千字
- 约 64页
- 2026-01-28 发布于广东
- 举报
*练习建立学生表、课程表、学生选课表学生表:学号、姓名、年级、专业、入学年份、已修学分等课程表:课程号、课程名、学分、课程性质(选修、必修)、课程归属专业等学生选课表:学号、课程号、成绩往以上数据表插入若干条记录在数据库命令行带事务(成功/失败)进行以下操作增加一个学生数据(同时往三张表写入对应数据)删除一个学生数据(同时删除三张表对应的此学生数据)修改某门课程的性质,同时修改此门课程对应的学生的成绩*封锁粒度封锁的对象可以是表、也可以是元组等,我们把封锁对象的大小称为封锁粒度(Granularity)。封锁的对象可以是逻辑单元(如表和元组等),也可以是物理单元(如数据页和数据块等)。数据库管理系统一般都具有多粒度锁定功能,允许一个事务锁定不同类型的资源。*封锁粒度锁定在较小的粒度(例如行)可以增加并发操作的性能,但系统开销也较大。这是因为如果封锁的粒度小,则意味着需要的锁多,从而需要系统控制更多的锁。锁定在较大的粒度(例如表)会降低操作的并发性,这是因为锁定整个表限制了其他事务对表中任意部分进行访问。封锁粒度大,则不需要太多的封锁,由于需要维护的锁较少,所以系统开销较低。*死锁产生死锁的原因避免死锁发现死锁解决死锁*产生死锁的原因右图示意了两个并发事务所发生事件的序列,两个程序都为了等待对方释放数据资源而产生死锁。*避免死锁相同顺序法所有的用户程序约定都按相同的顺序来封锁表一次封锁法为了完成一个事务,一次性封锁所需要的全部表*避免死锁的封锁*发现死锁超时法即一个事务在等待的时间超过了规定的时限后就认为发生了死锁。这种方法非常不可靠,如果设置的等待时限长,则不能及时发现死锁;如果设置的等待时限短,则可能会将没有发生死锁的事务误判为死锁。*解决死锁发现死锁后解决死锁的一般策略是:自动使“年轻”的事务(即完成工作量少的事务)先退回去,然后让“年老”的事务(即完成工作量多的事务)先执行,等“年老”的事务完成并释放封锁后,“年轻”的事务再重新执行。*隔离级别在避免干扰的情况下,适当的降低隔离级别,从而提高并发的操作效率。隔离级别越低,并发操作效率越高,但是产生干扰的可能性也越大。隔离级别越高,并发操作效率越低,同时产生干扰的可能性也越小。在设计应用时,可以在所能容忍的干扰程度范围内,尽可能降低隔离级别,提高应用的执行效率。*隔离级别未提交读(READUNCOMMITTED):最低级别,仅可保证不读取物理损坏的数据,隔离级别最低。提交读(READCOMMITTED):可以保证不读取“脏”数据,大多数的数据库默认级别。可重复读(REPEATABLEREAD):可以保证读一致性,避免不一致分析问题,mysql默认级别。可串行化(SERIALIZABLE):事务隔离的最高级别,事务之间完全隔离,强制事务串行执行,不可并发执行。SQL支持4种隔离级别:*隔离级别查询可以用下列语句查询事务隔离级别:全局事务隔离级别(整个数据库)SELECT@@global.tx_isolation;*隔离级别设置mysql引擎为:innodb的事务级别设置方法是:set+作用域+transactionisolationlevel+隔离级别如:用下列语句设置全局事务隔离级别:设置隔离级别为:未提交读setglobaltransactionisolationlevelREADUNCOMMITTED;设置隔离级别为:提交读setglobaltransactionisolationlevelREADCOMMITTED;设置隔离级别为:可重复读setglobaltransactionisolationlevelREPEATABLEREAD;设置隔离级别为:可串行化setglobaltransactionisolationlevelSERIALIZABLE;*命令行-事务操作开启一个事务方式一starttransaction方式二begin提交一个事务方式一commit回滚一个事务方式一rollback*演示-建表CREATEDATABASEIFNOTEXISTSmydb;USEmydb;DROPTABLEIFEXISTS`user`;CREATETABLE`user`(`user_id`int(10)unsignedNOTNULLauto_increment,`user_name`varchar(45
您可能关注的文档
最近下载
- 津津有味·读经典Level2《汤姆·索亚历险记》译文和答案.docx
- 单招考试题库及答案.doc VIP
- 临沂大学 2018—2019 学年第一学期2018级《高等数学I》(上)-本科试题B附参考答案.docx VIP
- 2025年互联网医疗平台合规运营监管政策解读:政策法规与合规实施案例分析报告.docx
- 临沂大学 2017-2018第二学期 2017级《概率论与数理统计》期末考试A附答案.docx VIP
- 单招考试题库及答案.doc VIP
- 湿地保护周宣传活动方案及流程.docx VIP
- 老年人服务与管理概论中职PPT完整全套教学课件(1).pptx VIP
- 临沂大学 2017—2018 学年第一学期2017级《高等数学I》(上)-本科试题A附参考答案.docx VIP
- 人教版部编七年级历史上册-期末复习材料(适合开卷考试).pdf VIP
原创力文档

文档评论(0)