第七章
一、数据库设计
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
信息管理要求:在数据库中应该存储和管理哪些数据对象 。
数据操作要求:对数据对象需要进行哪些操作,如查询、增、删、改、统计等操作。
数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境 。
高效率的运行环境:
数据库数据的存取效率高
数据库存储空间的利用率高
数据库系统运行管理的效率高
♢规范设计法
■ 手工设计方法
■基本思想
●过程迭代和逐步求精
■典型方法
新奥尔良(New Orleans)方法
基于E-R模型的数据库设计方法
3NF(第三范式)的设计方法
面向对象的数据库设计方法
统一建模语言(UML)方法
▷数据库设计分6个阶段:
①需求分析
②概念结构设计
③逻辑结构设计
④物理结构设计
⑤数据库实施
⑥数据库运行和维护
♢需求分析和概念设计独立于任何数据库管理系统
♢逻辑设计和物理设计与选用的数据库管理系统密切相关
♢数据库设计不同阶段形成的数据库各级模式
●概念设计阶段:形成独立于机器特点,独立于各个数据库管理系统产品的概念模式(E-R图)
●逻辑设计阶段:
1. 首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式
2. 然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式
●物理设计阶段:根据数据库管理系统特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式
第九章
☞查询优化分类 :
代数优化:指关系代数表达式的优化
物理优化:指存取路径和底层操作算法的选择
☞关系数据库管理系统查询处理阶段 :
1. 查询分析
2. 查询检查
3. 查询优化
4. 查询执行
☞选择操作典型实现方法:
(1) 全表扫描方法 (Table Scan):对查询的基本表顺序扫描,逐一检查每个元组是否满足选择条件,把满足条件的元组作为结果输出 。适合小表,不适合大表
(2)索引扫描方法 (Index Scan):适合于选择条件中的属性上有索引(例如B+树索引或Hash索引) 。通过索引先找到满足条件的元组主码或元组指针,再通过元组指针直接在查询的基本表中找到元组
☞全表扫描算法
假设可以使用的内存为M块,全表扫描算法思想:
①按照物理次序读Student的M块到内存
②检查内存的每个元组t,如果满足选择条件,则输出t
③如果student还有其他块未被处理,重复①和②
●比较复杂的查询,尤其是涉及连接和嵌套的查询
●不要把优化的任务全部放在关系数据库管理系统上
●应该找出关系数据库管理系统的优化规律,以写出适合关系数据库管理系统自动优化的SQL语句
●对于关系数据库管理系统不能优化的查询需要重写查询语句,进行手工调整以优化性能
第十章
♢事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
♢事务和程序是两个概念
●在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序
●一个程序通常包含多个事务
●事务是恢复和并发控制的基本单位
♢事务的ACID特性:
●原子性(Atomicity)
●一致性(Consistency)
●隔离性(Isolation)
●持续性(Durability )
※数据库管理系统保证系统中一切事务的原子性、一致性、隔离性和持续性,就保证了事务处于一致状态
※故障的种类
●事务故障
●系统故障
●介质故障
※恢复中最经常使用的技术
●数据库转储
●登记日志文件
※恢复的基本原理
●利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库
※事务
●不仅是恢复的基本单位
●也是并发控制的基本单位