1、http:/ 事务是事务是DBMSDBMS的执行单位,由有限的数据的执行单位,由有限的数据库操作序列组成库操作序列组成,一般要求事务具备下列一般要求事务具备下列性质:性质:1.1.执行的原子性(执行的原子性(A Atomictomic)事务执行时应遵守事务执行时应遵守“要么不做,要么全做要么不做,要么全做”(nothing or allnothing or all)的原则。)的原则。http:/ TRAN read A AAS if A 0 then /*A款不足*/begin display“A款不足”ROLLBACK /*出口1*/end else begin BB+S display“拨
2、款完成”COMMIT /*出口2*/end ROLLBACK ROLLBACK 撤销事务的影响,撤销事务的影响,相当于相当于“do nothingdo nothing”COMMIT COMMIT 提交,相当于提交,相当于“do alldo all”。只有在只有在COMMITCOMMIT之后,事务对数据库之后,事务对数据库产生的变化才对其它事务开放。产生的变化才对其它事务开放。(为什么?)(为什么?)http:/ 事务的出口:事务的出口:commit commit 或或rollbackrollback 只有在执行只有在执行commitcommit之后,事务对数据库所产生之后,事务对数据库所产生的
3、变化才对其他事务开放。的变化才对其他事务开放。执行执行commitcommit命令时,要封闭中断,以防处理中命令时,要封闭中断,以防处理中断时发生故障断时发生故障COMMIT中断处理中断发生故障http:/ DBMSDBMS进程结构的划分主要着眼于结构合理和性进程结构的划分主要着眼于结构合理和性能提高。能提高。应用进程,系统进程(可重入)应用进程,系统进程(可重入)应用1系统应用2系统不同重复不划分:http:/ http:/ 以线程为程序并发执行的单位;以线程为程序并发执行的单位;p 一个进程中可创建多个可以相互切换的线程;一个进程中可创建多个可以相互切换的线程;p 这些线程中至少有一个处于
4、就绪状态,进程才处于就绪状态;这些线程中至少有一个处于就绪状态,进程才处于就绪状态;p 进程运行时,其中必有一个线程运行;进程运行时,其中必有一个线程运行;p 同一进程所属的线程共享进程占用的资源,属于线程本身的专用同一进程所属的线程共享进程占用的资源,属于线程本身的专用资源很少,描述线程的状态也比进程要少,因此,线程所需资源比资源很少,描述线程的状态也比进程要少,因此,线程所需资源比进程少;进程少;p 线程的切换开销和线程间的通信开销小。线程的切换开销和线程间的通信开销小。http:/ 单进程多线程的单进程多线程的DBMSDBMS中,系统中,系统只创建一个只创建一个DBMSDBMS进程进程(
5、用户接口仍然是进程)。该进程中有(用户接口仍然是进程)。该进程中有常驻的公共服务线程和应用户要求而创建的用户常驻的公共服务线程和应用户要求而创建的用户线程。线程。在多处理机系统中,引入线程,增强了进程在多处理机系统中,引入线程,增强了进程的可并发程度。的可并发程度。DBMS的并发执行从进程级改为线程级。的并发执行从进程级改为线程级。http:/ 尽管很多现代尽管很多现代OS的核心具有线程管理的功的核心具有线程管理的功能,但对能,但对DBMS来说,还是在来说,还是在DBMS进程(进程(相相对于对于OS,是用户进程,是用户进程)中实现线程为宜。理由)中实现线程为宜。理由如下:如下:(1)可以按照可
6、以按照DBMS的需要确定线程调度策略;的需要确定线程调度策略;(2)线程的切换在用户态,不必转入操作系统线程的切换在用户态,不必转入操作系统的核心态,切换开销小;的核心态,切换开销小;(3)可以在不支持)可以在不支持线程的操作系统上运行,减线程的操作系统上运行,减少对操作系统的依赖,有利于提高操作系统的可少对操作系统的依赖,有利于提高操作系统的可移植性。移植性。http:/ http:/ 2.2.网络环境下的网络环境下的客户客户/服务器服务器结构结构 20 20世纪世纪7070年代:微机的出现和迅速发展;计算机网年代:微机的出现和迅速发展;计算机网络的发展和广泛应用,改变了计算机应用系统的格局
7、。络的发展和广泛应用,改变了计算机应用系统的格局。客户机客户机/服务器是一种特殊的分布式处理系统。其中,服务器是一种特殊的分布式处理系统。其中,有一至多台称为客户机的计算机和一至多台称为服务器有一至多台称为客户机的计算机和一至多台称为服务器的计算机通过网络联接。的计算机通过网络联接。可以将可以将DBMSDBMS的核心部分放在服务器中,而客户机处的核心部分放在服务器中,而客户机处理数据库的接口部分。客户机也可以有自己的局部理数据库的接口部分。客户机也可以有自己的局部DBMSDBMS。http:/ 1)客户提供用户接口、执行应用程序,对服务器提)客户提供用户接口、执行应用程序,对服务器提出服务请求;出服务请求;(2 2)服务器只完成客户器委托的公共服务;)服务器只完成客户器委托的公共服务;(3 3)服务器与客户器间的数据交换量要尽可能的少;)服务器与客户器间的数据交换量要尽可能的少;http:/ SQL ServerMS SQL Server,OracleOracle三层结构:三层结构:表示层表示层应用层应用层DBhttp:/ http:/ http:/ 数据目录中一般包含下列表:数据目录中一般包含下列表:SYSTAB SYSTAB、SYSCOLSYSCOL、SYSIDXSYSIDX、SYSVIEWSYSVIEW、SYSVWATRSYSVWATRhttp:/