数据库---并发控制、完整性约束、数据库安全
并发控制
事务
- 原子性:不可够再拆分来做(要么一起,要么不做)
- 一致性:数据保持一致(总和一致)
- 隔离性:事务之间互不影响
- 持续性:事务执行之后结果影响持续
可能存在的问题
丢失更新;不可重复读;读“脏”数据
封锁协议
一级封锁协议:
事务T在修改数据R之前必须先对其加X锁,直到事 务结束才释放,可以防止丢失修改
二级封锁协议:
在一级封锁协议上加S(读)锁,读完后释放S锁,可 以防止丢失修改,还可以防止读“脏”数据
三级封锁协议:
在一级封锁协议上加S(读)锁,直到事务结束释放S 锁,可以防止丢失修改,还可以防止读“脏”数据与 预防数据重复读
完整性约束
实体完整性
主键:非空、不重复
参照完整性
外键完整性约束
用户自定义完整性
用户指定字段的约束,比如年龄>0
触发器
脚本约束来约束数据库对数据的要求
数据库安全
用户识别和鉴定
即是身份认证,登录数据库系统的验证过程
存取控制
对用户授权,不同用户不同的权限
密码存储和传输
对远程终端信息用密码传输
视图的保护
对视图进行授权
审计
把用户对数据库的操作用日志记录下来