浅谈数据库设计

浅谈数据库设计

1.数据库设计概述

1.设计的任务、内容、特点

1.任务

​ 根据用户的需求研制数据库结构的过程。

浅谈数据库设计_第1张图片

2.设计的内容

(1)数据库的结构设计

(2)数据库的行为设计

3.数据库设计方法简述

1.基于E-R模型的数据库设计方法

2.基于3NF的数据库设计方法

3.基于视图的数据库设计方法

4.数据库的设计步骤

​ 按照数据库的设计规范,可以将数据库的设计阶段分为六个部分。

1.系统需求阶段分析

​ 该阶段式设计数据库的基础,要收集所有用户的信息内容和处理要求,并加以规格化和分析。

2.概念结构设计阶段

​ 将用户的信息要求统一到一个整体的逻辑结构中,该结构能够表达用户的要求,是一个独立于任何DBMS软件和硬件的概念模型。

3.逻辑结构设计阶段

​ 将上一步得到的概念模型转换为某个DBMS能支持的数据模型,并对其进行优化。

4.物理结构设计阶段

​ 为逻辑数据模型设计一个完整的、能实现的数据库结构,包括存储结构和存取方法。

5.数据库实施阶段

​ 该阶段根据物理结构设计的结构把原始数据装入数据库中,建立一个具体的数据库并且编写和调试相应的应用程序。

6.数据库运行与维护阶段

​ 主要收集和记录实际系统所运行的数据,数据库运行的记录用来提供用户要求的有效信息,用来评价数据库系统的性能,进一步调整和修改数据库。

2.系统需求分析

1.需求分析的任务

1.调查分析用户活动

1.调查组织机构情况。包括对组织部门的组成情况以及各部门的任务以及职责等。

2.调查各部门的业务活动情况。包括各部门输入和输出的数据格式,所需的表格与卡片等。

2.收集和分析需求数据,确定系统边界

1.信息需求是指目标范围内涉及的全部实体、实体的属性以及实体之间的联系等数据对象。由信息需求可以导出数据需求,即在数据库中需要存储那些数据。

2.处理需求是指用户为了得到需求的信息而对数据对象进行加工处理的要求,包括对某种功能的响应时间

处理方式等。

3.安全性和完整性的需求。

3.编写系统分析报告

分析报告内容

(1)系统概述。目标、范围、背景、历史、现状。

(2)系统的原理和技术,对原系统的改善。

(3)系统总体结构与子系统结构的说明。

(4)系统功能的说明

(5)数据处理概要,工程体制和设计阶段的划分。

(6)系统方案及技术、经济、功能上和操作上的可行性。

2.需求分析方法

1.数据流图

​ 在数据流图中,用箭头表示数据流,用圆圈表示处理,用不封闭的矩形或者其他形状表示存储,使用封闭矩形来表示数据来源和输出。

2.数据字典

​ 数据字典是对系统中数据详细描述是各类数据结构和属性的清单。

在需求分析阶段,包含如下部分

(1)数据项

​ 数据的最小单位,具体包括数据项名、含义说明、别名、类型、长度、取值范围、与其他数据项的关系。

其中,取值范围和与其他的数据项之间的关系这两项是数据完整性约束条件的定义,是数据检验功能的依据。

(2)数据结构

​ 有意义的数据项的集合。包括数据结构名、含义说明、这些内容组成的数据项名。

(3)数据流

​ 可以是数据项也可以是数据结构,表示在某一处理过程中,数据在系统内传输的路径。包括,数据流名、说明

流出过程、流入过程,这些内容组成数据项或者数据结构。

(4)数据存储

处理过程中,数据存放的场所也是数据流的来源和去向之一。包括,数据存储名、说明、输入数据流、输出数据流,这些内容组成了数据项或者数据结构、数据量、存取频度、存取方式。

3.概念结构设计

​ 概念结构设计就是将需求分析得到的用户需求抽象为信息结构,即为概念模型。

1.概念模型的特点

1.语义表达能力丰富

2.易于交流和理解

3.易于修改和扩充

4.易于向各种数据模型型转换

2.概念模型的E-R表示方法

1.实体型:矩形框表示

2.属性:椭圆表示

3.联系:菱形表示

浅谈数据库设计_第2张图片

3.概念结构设计方法与步骤

1.设计方法

1.自上向下

​ 先定义全局,在逐步细化

2.自底向上

​ 先定义局部,将它们集成

3.逐步扩张

​ 先定义核心,然后向外扩展

4.混合策略

4.逻辑结构设计

1.设计任务和步骤

将得到的E-R模型转换成DBMS支持的一种数据模型的过程。

一般的逻辑设计步骤分为

1.初始关系模式的设计

2.关系模式的规范化

3.模式的评价与改进

2.初始关系模式的设计

1.转换原则

将E-Rm模型转换成关系模式的集合。

遵循如下原则

1.一个实体转换成一个关系模式,实体的属性是关系的属性,是体的码是关系的主码。

2.一个联系转换成一个关系模式,与该联系相连的各实体的主码以及联系的属性均转换成关系的属性,该关系的主码有三种情况

(1)如果联系是1:1,则每个实体的主码都可以是关系的候选码。

(2)如果联系是1:n,则n端实体的主码是关系的主码。

(3)如果关系是n:m,则每个实体的主码的组合是关系的主码。

具体做法

(1)将每个实体转换成关系。首先分析各实体的属性,从中确定主码,然后分别用关系模式表示。

(2)把每一个联系性转成关系模式。由联系转换得到的关系模式中包含联系本身的属性和联系的关系的主码,其关系主码的确定与联系的类型有关。

(3)特殊情况的处理。三个或者三个以上的实体之间的多元联系在转换成一个关系模式时,与该关系的属性,转换后所得到的的关系主码均为各实体主码的组合。

3.关系模式规范化

1.确定范式的级别

​ 考察关系模式的函数依赖的关系,确定范式的级别。

2.实施规范化处理

1.在需求分析阶段,用函数依赖的概念分析和表示各数据项之间的联系。

2.在概念结构设计阶段,以规范化理论作为指导,确定关系的主码,消除初步E-R图中冗余的联系。

3.在逻辑结构设计阶段,从E-R图向数据模型转换的过程中,用模式合并与分解方法达到指定的数据库规范化级别(至少达到3NF)。

3.模式的评价与改进

1.模式评价

(1)功能评价

​ 对照需求分析的结果,检查规范化后的关系模式集合是否支持用户所有的应用要求。关系模式必须包括用户所有可能访问到的属性。

(2)性能评价

​ 对目前所有得到的数据库模式,只能对实际性能进行估计,包括逻辑记录的存取数,传送量,以及物理结构设计算法模型。

2.模式改进

​ 根据模式评价结果对模式进行改进

(1)合并

(2)分解

5.物理结构设计

1.确定物理结构

​ 1.确定物理结构

  1. 评价物理结构
1.存储记录结构的设计

1.聚集

2.索引

2.访问方法的设计

​ 访问方法是为存储在物理设备上的数据提供存储和检索功能的方法。一个访问方法包括存储结构和检索机构两部分。存储结构限定了可能访问的路径和存储记录;检索机构定义了每个应用的访问路径,但不涉及存储结构的设计和设备的分配。

3.数据存放位置的设计

​ 为了提高系统的性能,应该根据应用的情况将数据的易变部分、稳定部分、经常存取部分和存取频率较低的部分分开存放。

4.系统配置的设计

DBMS产品一般都提供一些系统配置变量,存储参数分配,供设计人员和DBA对数据库进行物理优化。

5.评价物理结构

​ 评价的重点是时间效率和空间效率。

6.数据库实施

​ 数据库的实施是指在逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试、和试运行的过程。

1.建立实际数据库结构

​ DBMS提供的数据定义语言可以定义数据库结构。

2.转入数据

​ 装入数据有称为数据加载,是数据库实施阶段的主要工作。在数据库建立之后就可以直接加载数据。

对于一般的小性数据库,可以使用人工方法开完成。对于数据量较大的系统,应该由计算完成这个工作。

3.应用程序的编码与调试

​ 数据库应用程序的设计属于一般的程序设计的范畴。但是数据库应用程序有自己的特点。

为了加快开发的速度,一般选择集成开发环境,利用代码辅助生成、可视化设计、代码错误检测和代码优化技术。

4.数据库试运行

这一阶段完成两个工作

1.功能测试

2.性能测试

5.整理文档

​ 在程序的编码调试和运行的过程中,应该将发现的问题和解决问题的方法记录下来,将它们整理成资料存档,以后正式运行和改进时进行参考。

7.数据库运行和维护

​ 数据库如果符合设计目标就投入正式的运行,进入运行和维护阶段。

1.维护数据库的安全性和完整性

​ DBA要经常检测数据库系统的安全,根据用户的实际需要授权用户不同的操作权限。同样,数据库的完整性约束条件也可能随着应用环境的改变而发生改变。这时DBA也要对其进行调整。

2.监测并改善数据库的性能

​ DBMS提供了许多的监测系统性能参数的工具,DBA可以利用这些工具经常对数据库的存储空间状况和响应时间进行分析,结合用户的反映情况制定改进措施。

3.重新组织和构造数据库

将它们整理成资料存档,以后正式运行和改进时进行参考。

7.数据库运行和维护

​ 数据库如果符合设计目标就投入正式的运行,进入运行和维护阶段。

1.维护数据库的安全性和完整性

​ DBA要经常检测数据库系统的安全,根据用户的实际需要授权用户不同的操作权限。同样,数据库的完整性约束条件也可能随着应用环境的改变而发生改变。这时DBA也要对其进行调整。

2.监测并改善数据库的性能

​ DBMS提供了许多的监测系统性能参数的工具,DBA可以利用这些工具经常对数据库的存储空间状况和响应时间进行分析,结合用户的反映情况制定改进措施。

3.重新组织和构造数据库

​ 数据库在建立之后,除了数据本身是动态的变化的之外,随着应用环境的变化,数据库本身也必须变化一适应应用的要求。

你可能感兴趣的:(总结)