Alex_McAvoy

想要成为渔夫的猎手

数据库设计的需求分析

【需求分析的任务】

需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统的工作概括,明确用户的各种需求,然后在此基础上确定新系统的功能,并充分考虑今后可能的扩充与改变

调查的重点是数据与处理,通过调查、收集、分析,获得用户对数据库的如下要求:

  • 信息要求:用户要从数据库获取信息的内容与性质
  • 处理要求:用户要完成的数据处理功能
  • 安全性与完整性要求:数据库的安全性、完整性要求

【需求分析的方法】

需求分析首先要调查清楚用户的实际要求,与用户达成共识,并分析与表达这些需求

在充分了解用户需求后,还需进一步分析、表达用户的需求,在众多的分析方法中,最简单实用的技术是结构化分析(SA),其从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统

其过程如下:

1.将系统抽象为数据来源、数据处理、数据存储、数据输出四大部分

2.分解处理功能与数据

  • 分解处理功能:将处理功能的具体内容分解为若干子功能
  • 分解数据:在处理功能逐步分解同时,逐级分解所用数据,形成若干层次的数据流图
  • 表达方法:对于处理逻辑,使用判定表判定树来表述;对于数据,用数据字典来描述

3.将分析结果报告提交给用户,征得用户认可

【数据字典】

概述

数据字典是进行详细的数据收集和数据分析获得的主要成果,是关于数据库中数据的描述,即元数据

数据字典是在需求分析阶段建立的,在数据库过程中不断修改、充实、完善,通常包括:数据项、数据结构、数据流、数据存储、处理过程这几部分

其中,数据项是数据的最小组成单位,若干数据项组成一个数据结构,通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容

数据项

数据项是不可再分的数据单位,对于数据项的描述结构如下:

1
2
3
4
5
6
7
8
9
10
11
数据项描述 = {
数据项名,
数据项含义说明,
别名,
数据类型,
长度,
取值范围,
取值含义,
与其他数据项的逻辑关系,
数据项间的联系
}

其中,取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件,是设计数据检验功能的依据

以学生学号为例,其数据项说明如下:

内容 实例
数据项 学号
含义说明 唯一标识每个学生
别名 学生编号
数据类型 字符型
长度 8
取值范围 000000 到 999999
取值含义 前两位标识学生专业,后四位按顺序编号

数据结构

数据结构反映了数据项间的组合关系,一个数据结构可由若干数据项组成,也可由若干数据结构组成,或由若干数据项和数据结构混合组成

对于数据结构的描述结构如下:

1
2
3
4
5
数据结构描述 = {
数据结构名,
数据结构含义说明,
组成: { 数据项 或 数据结构 }
}

以学生为例,其数据结构说明如下:

内容 实例
数据结构名 学生
数据结构含义说明 学籍管理系统的主体数据结构,定义了一个学生的有关信息
组成 学号、姓名、性别、年龄、所在专业、年级

数据流

数据流是数据结构在系统内的传输路径,对于数据流的描述结构如下:

1
2
3
4
5
6
7
8
9
数据流描述 = {
数据流名,
数据流含义说明,
数据流来源,
数据流去向,
组成: {数据结构},
平均流量,
高峰期流量
}

其中,数据流来源是说明数据流来自哪个过程;数据流去向是说明数据流要到哪个过程去;平均流量是指每天、每周、每月的传输次数;高峰期流量是指高峰时期的数据流量

以为学生体检结果为例,其数据流说明如下:

内容 实例
数据流名 体检结果
数据流说明 学生参加体检的结果
数据流来源 体检
数据流去向 学生体检结果登记表
组成 学号、各项体检结果
平均流量 每天 100 次
高峰期流量 每小时 50 次

数据存储

数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一,其可以是手工文档,也可以是计算机文档

对于数据存储的描述结构如下:

1
2
3
4
5
6
7
8
9
10
11
数据存储描述 = {
数据存储名,
数据存储说明,
数据存储编号,
输入数据流,
输出数据流,
组成: {数据结构},
数据量,
存取频度,
存取方式
}

其中,存取频度是指每天、每周、每月存取次数及每次存取的数据量等信息;存取方式是批处理还是联机处理、是检索还是更新、是顺序检索还是随机检索等;输入数据流要指出来源,输出数据流要指明去向

以为学生体检结果登记表为例,其数据存储说明如下:

内容 实例
数据存储名 学生体检结果登记表
数据存储说明 记录学生体检结果的基本情况
数据存储编号 0001
输入数据流 体检结果
输出数据流 学生体检结果登记表
组成 体检编号、学生学号、学生体检结果
数据量 每年 3000 张
存取频度 每周 100 次
存取方式 随机存取

处理过程

处理过程是说明性信息的描述,具体处理逻辑一般用判定表判定树来描述

对于处理过程的描述结构如下:

1
2
3
4
5
6
7
处理过程描述 = {
处理过程名,
处理过程说明,
输入: {数据流},
输出: {数据流},
处理: {简要说明}
}

以为学生分配宿舍为例,其处理过程说明如下:

内容 实例
处理过程名 分配宿舍
处理过程说明 为学生分配宿舍
输入 学生、宿舍
输出 宿舍安排情况
处理 同一间宿舍只能安排同一性别的学生
每个宿舍只能安排不超过 6 名学生
每个学生的居住面积不小于 3 平方米
感谢您对我的支持,让我继续努力分享有用的技术与知识点!