丢失修改:两个事务T1和T2读入同一组数据,并发执行修改操作时,会出现T2提交的结果破坏了T1修改的结果,导致T1修改的结果的数据丢失问题。
读“脏”数据:事务T1修改了数据R,并写回了磁盘,事务T2读取了修改后的数据R,因为某种原因T1事务撤销了所有操作,导致T2读取了和数据库不一样的数据R.
不可重读:事务T1读取了数据R,事务T2修改并更新了数据R,当事务T1再次读取数据R进行核对时,得到的读取值不一样。
产生“幻影”数据:
排他锁:禁止并发操作。事务T对某个数据对象R加上排他锁(x锁)后,只有事务T才能读取和修改数据对象R,其他事务要等事务T解除R上的锁后才能对R进行操作
共享锁:允许其他事务对同一数据对象进行读取,但不能对其进行修改。事务T对某个数据对象R加上共享锁(S锁)后,事务T只能读取R,不能修改R,其他事务只能对R加S锁,不能加X锁,直到事务T解除R上的锁
实体完整性
参照完整性
用户自定义完整性:针对某一自定义关系的数据库,允许用户自定义完整性约束
数据结构化
数据冗余度小,共享性高,避免了数据的不一致性
数据独立性高
统一数据管理和控制功能
数据完整性、一致性受到影响
数据库性能有影响
数据冗余度大
插入异常
更新异常
删除异常
需求分析阶段
概念设计阶段
逻辑设计阶段
物理设计阶段
数据库实施阶段
数据库运行和维护阶段
数据库系统:包括与数据库有关的整个系统,一般由数据库、数据库管理系统、应用程序、硬件和支撑环境、数据库管理员和用户构成
人工管理阶段
文件系统管理阶段
数据库系统管理阶段
数据定义语言及其翻译处理程序
数据操纵语言及其编译程序
数据库运行控制程序
实用程序
数据的安全性
数据的完整性
并发控制
数据库恢复
视图可以看作是虚拟表或查询存储
视图能让用户从多个角度看待同一组数据
简化用户操作
重构数据库时提供了一定程度的逻辑独立性
为机密数据提供安全保护
事务是数据库中执行的基本逻辑工作单位,是由用户定义的一组操作序列。
原子性
一致性
隔离性
持久性