第一章 数据库应用系统开发方法
1.1.1 软件工程和开发方法
软件生产与开发全过程的典型方法:瀑布模型,快速原型模型,螺旋模型
瀑布模型:项目规划-》系统分析-》总体设计-》详细设计-》编码调试和集成测试-》运行维护
特点:每个阶段都要提交文档,一个阶段结束才能开始另一个阶段
快速原型模型:快速分析-》设计构造原型-》运行原型-》评价原型-》改进原型
螺旋模型:项目规划-》风险评估-》工程实现-》用户评估
数据需求分析:从对数据进行组织与存储的角度,用用户视图出发,分析与辨识应用领域所管理的各类数据项和数据结构,形成数据字典的主要内容
数据字典:
数据项:数据项是数据的最小组成单位
数据库系统的三级模式结构:内模式/模式/外模式 内模式/模式--物理独立性 模式/外模式--逻辑独立性,数据库的内模式只能有一个,数据库的外模式可以有多个
关系:是动态的,随着用对数据库的操作而改变,一个二维表
关系模式:是静态的
关系模型:建立在集合论上面,数据存储对用户透明
数据库管理系统:用于管理和维护数据库,提供数据存储、访问和管理等功能。DBMS是一种中间层软件,使得应用程序和底层数据库之间的交互变得更加简单、安全和高效。
存储管理器:
- 检查用户是否具有数据访问权限
- 管理内存,外存--为提高访问效率,会将部分内存用于数据缓存
- 以事务的方式管理用户对数据的访问,以确保数据库并发访问的正确性
查询处理器:
- 为编译好的查询语句生成执行计划,并根据执行计划访问相关数据
数据库空间管理办法随着数据库管理系统不同而不同
第二章 需求分析
需求分析的概念和意义
概念:通过对需求的调查、了解、观察和分析,采用已证实是有效的技术、方法或工具,对原始资料进行加工整理,得到有关目标系统需要实现的功能以及相互关系等一系列活动的集合。
需求获取的困难:软件的复杂性、可变性、不可见性。
IDEF0:
第三章 数据库结构设计
3.1数据库概念设计
数据库概念设计主要解决数据需求,即如何准确地理解数据需求,真实地把应用领域中要理解的数据组织,定义描述清楚,以支持数据库设计的后续工作
数据库概念设计的任务:理解和获取应用领域的数据需求,分析,抽取,描述和表示清楚目标系统需要存储和管理什么数据,这些数据具有什么样的属性特征及组成格式,数据之间存在什么样的依赖关系
3.2数据库逻辑设计
数据库逻辑设计的任务就是把数据库概念设计的结果(ER模型)转化为具体的数据库管理系统支持的数据模型
3.3数据库物理设计
通过概念设计和逻辑设计得到了规范化的关系模式,物理设计是将数据的逻辑描述转化为实现技术规范,其目标是设计数据存储方案,以便提供足够好的性能确保数据库数据的完整性、安全性、可恢复性。
逻辑设计只规定了逻辑结构,物理设计进一步考虑应用数据在实际数据库管理系统和操作系统平台下的具体存储结构和数据存取方式(也就是考虑数据库的物理结构)。
数据库的物理结构:
有序索引也称文件索引机制。利用索引文件实现记录域取值到记录物理地址间的映射关系。
散列索引也称哈希索引机制。利用散列函数实现记录域取值到记录物理地址间的直接映射关系。
有序索引有多种形式:聚集索引就是按照你索引的顺序查找到的结果也是按照你查找的顺序。非聚集索引就是顺序会打乱。稠密索引就是每个查找码都是一对一,稀疏索引就是只有一部分内容有索引。主索引就是主码属性建立的索引。非主属性建立的索引就是辅索引。唯一索引就是确保所有列中不包含重复的值。聚集索引比非聚集索引更适合范围查询
数据库物理设计:
目标:得到存储空间占用少、数据访问效率高、维护代价低的数据库物理模式。
DB文件组织的存取与设计:
事务分析步骤:
- 利用事务-基本表交叉矩阵确认事务访问哪些基础表,对基础表执行了哪些操作;
- 估计各事务执行频率;
- 汇总所有作用于该表上各事务的操作频率信息,设计更有效的文件组织和索引方式。
基本表选择合适文件结构的原则:
- 数据量少但RUD操作频繁,该基本表可以采用堆文件组织方式。
- 顺序文件支持基于查找码顺序访问,也支持快速的二分查找。
- 访问顺序很随机,建议使用散列文件。带有groupby orderby适合散列文件
- B-树和B+树适合定义在大数据量基本表上,属于动态索引,可以随着数据文件的内容不断调整,保证数据查询的性能不会恶化。
- 如果频繁执行多表链接的操作查询,可以考虑使用聚集文件。
数据分布设计:
- 不同类型数据的物理分布:
-
- 备份数据一般放在磁带中,应用数据、索引和日志使用频繁,必须放在支持直接存取的磁盘存储介质上。
- 应用数据的划分与分布:
-
- 根据数据的使用特性划分:可分为频繁使用分区(此区用b+多层索引)和非频繁使用分区(此区用单层索引);
- 根据时间,地点划分
- 可以用分布式数据系统(DDBS)中的数据划分,采用水平划分和垂直划分两种方法。
- 派生属性数据分布:
-
- 派生属性就是可以根据其他属性推导出来的。可作为单独一列放在基本表中然后用触发器实时更新,也可以不出现在基本表中。
- 关系模式的去规范化:
-
- 可以根据实际需要对数据库中的某些3NF、BCNF模式考虑是否可以降低其规范化程度,以提高查询效率。
其他物理设计环节:确定系统配置;物理模式评估。
第四章 数据库应用系统功能设计与实施
第五章 UML与数据库应用系统
静态结构图:包图,复合结构图,类图,组件图,部署图
行为图:用例图,交互图(顺序图,协作图,交互概述图,时间图),活动图和状态图
第六章 高级数据查询
第七章 数据库及数据库对象
第八章 数据库后台编程技术
第九章 安全管理
第十章 数据库运行维护与优化
提高事务并发度:
- 使用行锁
- 大事务分成小事务
- 设定较低的事务隔离等级
数据库的重组和重构
第十一章 故障管理
第十二章 备份与恢复数据库
修改数据库作业后,建议备份msdb数据库
执行创建,修改或删除数据库的操作,更改了服务器或数据库配置,建立或更改登录账户 备份master
创建新用户,不需要备份model