快捷搜索:  汽车  科技

数据库设计的基础理论:数据库设计与建模的技巧

数据库设计的基础理论:数据库设计与建模的技巧1、 原始单据与实体之间的关系:数据和功能分析的两条设计线2、 数据库设计:数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。3、数据和功能分析是设计工作的两条主线:

数据库设计与建模的技巧

一、 概述:

有关这数据库设计的研究包括工程数据库设计方法和辅助设计工具两个方面。本文就工程数据库设计中的一些问题进行讨论,阐述了工程数据库设计的基本概念和内容,分析工程数据库设计的过程和项目中的通用处理原则。


二、 名词解释:

1、 数据库建模:

在设计时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构,这一过程就称为数据库建模。它主要包括两部分内容:确定最基本的数据结构和对约束建模。

2、 数据库设计:

数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。

3、数据和功能分析是设计工作的两条主线:

数据库设计的基础理论:数据库设计与建模的技巧(1)

数据和功能分析的两条设计线


三、 设计原则:

1、 原始单据与实体之间的关系:

可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。

2、 主键与外键:

一般而言,一个实体不能既无主键又无外键。主键是实体的高度抽象,主键与外键的配对,表示实体之间的连接。

3、 表的性质:

基本表与中间表、临时表不同,因为它具有如下四个特性:

a) 原子性:

基本表中的字段是不可再分解的;

b) 原始性:

基本表中的记录是原始数据(基础数据)的记录;

c) 演绎性:

由基本表与代码表中的数据,可以派生出所有的输出数据;

d) 稳定性:

基本表的结构是相对稳定的,表中的记录是要长期保存的;

4、 范式标准:

a) 标准理解:

基本表及其字段之间的关系 应尽量满足第三范式。但是满足第三范式的数据库设计,往往不是最好的设计。

为了提高数据库的运行效率,常常需要降低范式标准,适当增加冗余,达到以空间换时间的目的。

b) 通俗理解:

i. 第一范式:

1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;

ii. 第二范式:

2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;

iii. 第三范式:

3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余;

c) 图解范式关系:

i. 标准理解:

数据库设计的基础理论:数据库设计与建模的技巧(2)

范式关系图

ii. 通俗理解:

数据库设计的基础理论:数据库设计与建模的技巧(3)

范式通俗理解图

d) 注意事项:

没有冗余的数据库设计可以做到。但是没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。

具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。


四、 主要步骤:

1、 步骤说明:

a) 需求分析:

了解用户的数据需求、处理需求、安全性及完整性要求;

b) 概念设计:

通过数据抽象,设计系统概念模型,一般为E-R模型;

c) 逻辑结构设计:

设计系统的模式和外模式,对于关系模型主要是基本表和视图;

d) 物理结构设计:

设计数据的存储结构和存取方法,如索引、存储过程、函数等等数据库对象的设计;

e) 系统实施:

组织数据入库、编制应用程序、试运行;

f) 运行维护:

系统投入运行,长期的维护工作;

2、 图解:

数据库设计的基础理论:数据库设计与建模的技巧(4)

数据库设计步骤图

3、 各个阶段的数据和处理对比:

数据库设计的基础理论:数据库设计与建模的技巧(5)

数据库设计步骤描述图


五、 实际处理原则:

1、 尽量避免使用约束:

配置约束会导致数据库计算和处理速度下降,同时不利于大型项目的数据导入导出功能,应尽量使用外部程序对约束进行维护(主键、唯一索引除外);

2、 默认添加数据维护字段:

在表结构设计过程中默认添加创建时间(create_time)、创建人(creator)、最后修改时间(last_modify_time)和备注(remark)等字段,这是为了提高表的排序和数据追溯能力(根据实际情况酌情增减);

3、 命名时增加前缀:

利用数据库对象的英文单词首字母作为命名时的前缀,可以达到快速区分对象类型的目的;


六、 主流设计软件:

1、 绘制E-R图:

Visio、PowerDesigner;

2、 绘制UML图:

Visio、PowerDesigner;

3、 数据库建模:

PowerDesigner:可同时支持概念数据模型和物理数据模型的设计及建模过程;

猜您喜欢: