软考一般知识之数据库

数据库发展阶段:人工管理阶段;文件管理阶段;数据库系统阶段;

DBMS的数据控制功能:统一管理和控制;数据安全性(security);数据完整性(integrity):正确性、有效性及相容性;并发(concurrency)控制;数据库恢复(recovery)

数据模型要素:数据结构;数据操作;数据的约束条件

数据模型:

非关系模型包括:层次模型(hierarchical model);网状模型(network model);

关系模型(relational model)

DBMS功能:数据定义;数据操纵;数据库运行管理;数据组织、存储和管理;数据库的建立与维护;数据通信接口

DBMS组成:数据定义语言(data definition language DDL)及其翻译处理程序;数据操纵语言(data manipulation language DML)及其翻译程序;数据库运行控制程序;实用程序

DBMSS实现方法:

        N方案:DBMS与应用程序融合在一起;

                     2N方案:一个DBMS进程对应一个用户进程;

                     M+N方案(M<N):多个DBMS进程对应多个用户进程;

                     N+1方案:一个DBMS进程对应所有用户进程

视图:从一个或是几个基本表或视图导出的虚表,视图在进行查询的时候需要将对视图的查询转换为对基本表的查询(视图消解view resolution)

DBMS的并发控制是以事务(transaction)为单位进行,定义事务的SQL有三条:

Begin Transaction;  Commit; Rollback

事务的属性:原子性(atomicity);一致性(consistency);隔离性(isolation);持续性(durability)

并发操作带来的数据不一致性包括三类:丢失修改(lost update);不可重复读(nonrepeatable read)和读“脏”数据(dirty read)

并发操作的调度:可串行性(serialiazable)是并行事务正确性的唯一准则;采用封锁方法保证调度正确性;

封锁类型:排它锁(exclusive lock, X锁,写锁)和共享锁(share lock, S锁,读锁)

封锁粒度(granularity):粒度越小,并发度越高,系统开销越大;

封锁协议(locking protocol):

保证数据一致性的封锁协议----三级封锁协议

1级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束(正常结束commit,非正常结束rollback)才释放,防止丢失修改;

2级封锁协议:1级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁,防止丢失修改,防止读脏数据;

3级封锁协议:1级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放

X锁都是事务结束释放,S锁2级封锁协议是操作结束释放,3级是事务结束释放。

保证并行调度可串行性的封锁协议----两段锁协议(two-phase locking 2PL)

两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁: 

1. 在对任何数据进行读、写操作之前,要申请并获得对该数据的封锁。

2. 每个事务中,所有的封锁请求先于所有的解锁请求。

如事务1:

SlockA···SlockB···XlockC···UlockB···UlockA···UlockC

事务2封锁序列:

SlockA···UlockA···SlockB···XlockC···UlockC···UlockB

事务1遵守两段锁协议

 ER图提供标示实体型、属性和联系的方法:

实体型:用矩形标示,矩形框内写明实体名;

属性:用椭圆形标示,并用无相边将其与相应的实体连接起来;

联系:用菱形标示,菱形框内写明联系名,并用无向边分别于有关实体连接起来,同时在无向边旁标上联写的类型(1:1,1:n,m:n)

 

 

posted @ 2013-08-28 11:04  nygfcn  阅读(685)  评论(0编辑  收藏  举报