设计篇
第六章 数据库设计
#
数据库设计:是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能有效的储存数据,满足各种用户的应用要求(信息要求和处理要求)。
在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统
数据库设计的基本步骤
#
*需求分析
*概念结构设计
*逻辑结构设计
*物理结构设计
*数据库实施
*数据库运行和维护
需求分析
#
*信息要求//存储哪些数据
*处理要求//要完成什么处理功能,响应什么要求,处理方式是批处理还是联机处理
*安全性与完整性要求
数据字典
#
数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和分析所获得的主要成果。
数据字典通常包括:
*数据项//数据项是不可再分的数据单位
*数据结构//反映数据间的关系
*数据流//是数据流在系统内的传输途径
*数据存储//数据结构停留或者保存的地方,也是数据流的来源和去向之一
*处理过程//
概念结构设计
#
概念结构设计的方法与步骤
*自顶向下
*自底向上
*逐步扩张
*混合策略
数据抽象与局部视图设计
*分类
*聚集
*概括
逻辑结构设计
#
逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换成选用DBMS产品所支持的数据模型相符的逻辑结构。
关于E-R
*E-R图提供了表示实体、属性、联系的方法
*实体_联系方法是抽象和描述现实世界的有力工具。
*用E-R图表示的概念模型独立于具体的DBMS多支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。
数据库的物理设计
#
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。
第七章 数据库恢复技术
事物
#
事物是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
#在MySQL中的失误
begin transaction
savepoint
rollback
commit
事物和程序是两个概念:
*一般地,一个程序包含多个事物
#事物的四个特性:
*原子性//要么做要么不做
*一致性//状态必须保持一致,一个失败,多个失败
*隔离性//不背其他失误干扰
*持续性(永久性)//对数据库中数据的改变是永久的(一旦提交)
恢复的实现技术
#
数据转储和登录日志文件
第八章 并发控制
#
并发操作带来数据的不一致性:
*数据丢失//两个事物对同一个数据修改,其中一个事物破坏了另一个事物的提交
*不可重复读//事物1第一次读取数据之后,事物2对其进行了修改导致了事物1再次读取数据时与第一次的数据出现不一致。
*脏读//事物2读到了事物1修改过的内容
封锁
#
排它锁、写锁(X锁)
共享锁、读锁(S锁)
封锁协议
#
*一级封锁协议//X锁
$防止丢失修改
*二级封锁协议//一级加S锁,读完释放
$防止丢失修改和脏读
*三级封锁协议//一级加S锁,事物完成后释放
$防止丢失修改、脏读、不可重复读
死锁和活锁
#