[转帖]2004年SQL培训课程专题
第一篇:数据库设计
第一部份:数据库设计概述
1、 数据库基本原理
关键点:
l 数据库是什么?
数据库是用来存储信息或数据的机制:有动态的和静态的
l 数据库环境
A. 主机环境 B.客户/服务器环境 C.互联网计算环境
l 数据库起源
业务建模是对完成日常任务和工作的处理过程的抽象,它是所有数据库的起源.
业务建模包含业务规则、业务处理、数据、需求分析、实体、属性以及二次工程
业务规则确定业务模型的结构、需要存储的数据种类以及数据如何修改和访问
在开始设计数据库之前,与业务处理的关键人物进行调研是非常重要,尤其是熟悉业务系统需求的最终用户。当都已获得并已经转化业务对象模型,例如实体和属性,业务模型也就完成了。
实体是数据的分类,而属性则是实体中特定的数据
l 组成部分
数据库模式:逻辑模型、物理模型、应用接口: 模式是存在相互关联关系的对象集合
表:物理存储的最主要、最基本的单位
列:也叫域,是存欲表中的特定种类的信息
行:一条数据记录
数据类型:字母、数字、时间、日期…
l 数据完整性
确保数据的准确性:由约束条件来控制
主键码:唯一标识表的一行数据记录
外键码:确保父子完整性,不能存在“孤儿”记录
关系:1:1, 1:N,N:N
l 数据库设计的重点
1. 设计方法
2. 把业务模型转化为数据库设计
3. 应用软件的设计
4. 数据库设计包括将业务模型转化为优化的结构化数据库模型,在系统开发的数据库设计阶段,设计人员应考虑创建表的视图、定义约束条件、保障数据完整性以及创建其他对象(如索引)
5. 我们不能期望用户完全理解数据库的结构,因此在完成数据库设计后就应该考虑开始设计客户端应用软件
l 优秀数据库标准
1. 能满足数据存储需求
2. 便于用户访问
3. 安全机制好
4. 数据准确,易于管理
5. 整体性能合理
6. 尽可能少的冗余
2、 数据库模型概述
l 平面文件数据库模型:传统的
l 层次数据模型: 父子
l 网状数据库模型 :父子方面改进点
l 关系数据库模型
l 面向对象数据库模型:通过面向对象编程方法实现数据的定义、存储和访问,最终用户软件也是通过面向对象编程语言来实现。数据库和应用软件之间是通过一个对象数据库管理系统连接
l 对象关系数据库模型: 三维结构
关系数据库好处:
l 性能最稳定
l ISO和ANSI标准
l 有软件商支撑
l 不同的关系数据实现相互交换
l 使用SQL语言,便于定义和查询、操作
l 引用完整性和约束条件保护数据
关系数据库特点:
关系模型是由IBM的Codd博士提出的,主要目的是在数据库系统中减少冗余和改善数据库完整性
关系数据库的对象
表、视图、约束、索引、触发器、过程
SQL:关系数据库语言
DDL: 数据定义语言
DML: 数据操作语言
DQL: 数据查询语言
3、 数据库设计方案
什么是数据库设计:
Webster给的定义: 准备前期方案和草图,为确定的目标制定计划,细节组合或与组成部件的特性,巧妙地设计或创建,完成预定目标的方法的修改
数据库设计的三的基本阶段
需求信息的收集:业务如何处理,业务规则和业务处理,当前所使用的数据库信息,与新数据库相关的业务的未来需求
数据建模:业务模型转化为数据模型
数据库设计和规范化:逻辑模型转化为物理模型的过程
如何制定设计方案:
u 定义任务描述:
主要面对管理人员,包含:目标是什么?谁使用?类型是什么?如何访问?是否可以建模?是否需要修改?需要几个数据库?
u 定义设计目标
u 制定工作计划
u 软件环境,硬件环境,开发工具,备份计划,数据库开发环境,基本标准和命名规则,办公地点
u 设定工作进程和各阶段成果
u “里程碑”:收集信息,指定计划,定义实体和属性,逻辑设计,物理设计,测试数据库,实现产品
u 设定项目期限
u 分配任务
设计成功数据库所具有的特点:
n 数据库功能强大
n 能准确的表示业务数据
n 容易使用和维护
n 对最终用户操作的响应时间合理
n 方便结构的改进
n 方便检索和修改
n 很少的维护工作
n 有效的安全机制确保数据安全
n 冗余书局最少
n 方便数据备份和恢复
n 结构最最终用户透明
[此贴子已经被作者于2005-3-30 21:21:54编辑过]









racle designer
a. 制定策略
b. 预分析
c. 分析
d. 预设计
e. 设计
f. 构建
g. 测试
h. 实现
i. 维护
加个2条预分析和预设计:提高分析阶段的效率
第二主题:基本设计过程
1、 定义数据
2、 创建数据结构
3、 定义数据关系
4、 定义视图
第三主题:数据库的二次开发
包含业务处理的二次工程(BPR):为了改善现有业务处理和数据存储方法,对现在的系统进行改进。当前的业务处理是什么?存在那些缺陷?性能怎样?硬件和软件是否符合要求?数据库需要怎样的修改?是否有新的用户?新的业务流程怎样?
第四主题:数据库的生命周期
从业务需求信息开始的。
开发环境:初始数据库结构可以进行修改,修改后可以测试
测试环境:在实现为产品前,系统工作应先被确认,使用DB测试应用软件测试应用软件,寻找其缺陷,准备实现修改
产品环境:系统实现可供终端用户使用的新特性
考察一个数据库是否可以进行测试的因素:
a. 应用软件是否全部实现了所有的处理过程?
b. 数据库系统中是否实现了所有的业务实体?
c. 所有定义的数据元素和处理过程是否支持新记录的添加?
d. 所有定义的数据元素和处理过程是否支持新记录的修改?
e. 所有定义的数据元素和处理过程是否支持新记录的删除?
f. 所有定义的数据元素和处理过程是否支持新记录的查询?
g. 所有表的关联元素是否正确?
h. 是否应用了引用完整性?
i. 是否创建了必须的索引?
j. 是否创建了必须的视图?
k. 数据库是否需要进行规范化处理?
l. 创建新对象时,是否能创建进行错误处理并改正错误?
考察一个数据库系统和应用软件是否经过了严格的测试
a. 安排了多长的时间进行系统测试?
b. 何时将系统转化到产品环境?
c. 是否有需要修改的数据关系?
d. 是否遵循了所有业务处理的规则?
e. 数据库应用软件接口性能如何?
f. 系统是否经过了真实数据的测试?
g. 系统是否经过了大量真实数据的测试?
h. 测试是否影响了数据的完整性?
i. 是否测试了所有的系统修改?
j. 通过应用接口对数据进行修改后,是否查询了数据库?
k. 系统的所有需求是否经过了多次检测?
评估修改的缺陷是否能修改进行性能
a. 在修改的过程中是否出现错误?
b. 最终用户是否有任何不满?
c. 修改后的系统性能如何?
d. 载入的真实数据是否可以成功的转化为数据库对象?
e. 并发用户的平均数?
f. 数据库功能和性能是否有明显的改善
g. 应用软件功能和性能是否有明显的改善
