[转帖]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编辑过]