数据库设计(1)—需求分析

article/2025/9/12 4:39:54

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

需求分析是设计数据库的起点,需求分析结果是否准确反映用户的实际要求将直接影响到后面各阶段的设计,并影响到设计结果是否合理实用。

一、需求分析的任务

需求的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或者计算机系统)的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩展和改变,不能仅仅按当前应用需求来设计数据库。

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

- 信息要求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。

- 处理要求。指用户要完成的数据处理功能,对处理性能的要求。

- 安全性与完整性要求。

分析:概括来讲,首先,你需要知道用户想要在数据库中获得哪些数据(即信息要求),据此就可以知道数据库需要存储哪些数据(即数据要求),这样就是“由信息要求导出数据要求”。其次,我们在知道数据要求的基础上,要分析用户对“数据处理”有哪些需求,包括数据处理的功能以及数据处理的性能,这就是“处理要求”。最后要保证数据的完整性,完整性是指数据的正确性和相容性,数据的正确性是指数据是符合现实世界语义、反映当前实际状况的,数据的相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的;而安全性要求是指要保护数据库防止恶意破坏和非法存取。

二、需求分析的过程

三、数据字典

    数据字典是进行详细的数据收集和数据分析所获得的主要成果。它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典是需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。他在数据库设计中占有重要地位。

数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程几部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。 

1.数据项

数据项是不可再分的数据单位。对数据的描述通常包括以下内容:

数据项描述={ 数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系 }

其中“取值范围”、“与其他数据项的逻辑关系”定义了数据的完整性约束条件。可以用关系规范化理论为指导,用数据依赖的概念分析和表示数据向之间的联系。

 

2.数据结构

数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述通常包括以下内容:

数据结构描述={ 数据结构名,含义说明,组成:{ 数据或数据结构 } }

 

3.数据流

数据流是数据结构在系统内传输的路径。对数据流的描述通常包括以下内容:

数据流描述={ 数据流名,说明,数据流来源,数据流去向,组成:{ 数据结构 },平均流量,高峰期流量 }

 

4.数据存储

数据存储是数据结构停留或保存的地方,也是数据的来源和取向之一。对数据存储的描述通常包括以下内容:

数据存储描述={ 数据存储名,说明,编号,输入数据流,输出数据流,组成:{ 数据结构 },数据量,存取频度,存取方式 } 

 

5.处理过程

处理过程的具体处理逻辑一般用判定表和判定树来描述。数据字典中只需要描述处理过程的说明性信息即可,通常包括以下内容:

处理过程描述={ 处理过程名,说明,输入:{ 数据流 },输出:{ 数据流 },处理:{简要说明} }

“简要说明”主要说明该处理过程的功能及处理要求。功能是指该处理过程用来做什么(而不是怎么做),处理要求指处理频度的要求,如单位时间内处理多少事务、多少数据量、响应时间要求等。这些处理要求是后面物理设计的输入及性能评判的标准。

转载于:https://my.oschina.net/zhangyujian/blog/864790


http://chatgpt.dhexx.cn/article/hHurNxQs.shtml

相关文章

SQL数据库设计(一)---需求分析与逻辑设计

今天先来介绍 数据库设计中的需求分析和逻辑设计(ER图)阶段,明天介绍物理设计与维护优化,数据库设计是非常有意思的:-) 数据库设计 根据系统业务的需要,结合我们所选用的DBMS,为这个业务系统构建出最优的数据存储模型。 并建立好数据库中的表…

数据库设计2————需求分析

需求分析任务 1、信息需求。明确数据库需要存储的数据,对这些数据将哪些梳理,同时还要描述数据间的联系。 2、处理需求。定义系统数据处理的操作功能,描述操作的优先次序。包括操作的执行频率和场合,操作与数据间的联系&#xff…

数据库设计(一) 需求分析

目前,大多数的应用系统都属于数据库应用程序,都离不开数据库的支持。数据库设计方案的优劣对于应用程序的运行至关重要。数据库设计过程就是针对具体的应用环境,设计优化的逻辑模式,并根据所采用的数据库系统设计物理结构&#xf…

三、数据需求与数据库设计

数据需求与数据库设计 数据需求 项目中主要包含了用户、权限(菜单)、角色三种类型的数据,各种数据包含的数据项如下: (1)用户:用户名、密码、生日、头像、简介、用户类型 (2&…

SQL数据库实战需求分析→数据库设计

从这开始,就真正进入项目实战啦。先说点体会,我刚开始接触编程的时候,都是编写一些小东西,往往都是半天或者一天什么的就编完了,那时候根本没想过做程序之前还要有需求分析。经过快两年的学习,接触的都是比…

数据库性能需求分析及评估模型

数据库作为应用系统当中最重要的一块,也是性能测试非常关注的一块,根据我自己的项目经验,和以往对应用系统的性能需求分析和测试策略制定过程,总结一下如何开展数据库系统的性能需求分析,以及制定数据库能力评估模型。…

互联网应用开发实践:需求分析与数据库设计

在本文中将分析一个用于新生开学分配寝室的“宿舍秒杀”系统。从用户故事开始探索需求,进而分析得到系统的主要功能和非功能性需求。最后,根据需求分析设计数据库,数据库的设计原则是尽可能的方便之后的需求拓展和修改。 用户故事 用户故事一…

数据库应用系统的需求分析

一 需求分析的概念与意义 所谓的需求分析,就是对待开发系统要做什么,完成什么功能的全面描述 软件的一些特性使得需求的获取常常并不容易! 比如软件功能复杂,需求可变性,软件的不可见性 二 获取需求的方法 面谈实地…

数据库设计:需求分析

设计一个性能良好的数据库系统,明确应用环境对系统的要求是首要的和基本的。因此,应该把对用户需求的收集和分析作为数据库设计的第一步。 需求分析的主要任务是通过详细调查要处理的对象,包括某个组织、某个部门、某个企业的业务管理等&…

数据库设计 | 需求分析

一、需求分析要干一个什么样的事情? 通过详细调查现实世界要处理的对象(组织、部门、企业等), 充分了解原系统(手工系统或计算机系统)工作概况, 明确用户的各种需求,然后在此基础上确…

数据库设计之需求分析

需求分析简单地说就是分析用户的需求。根据分析是设计数据库的起点,需求分析结果是否准确反映用户的实际要求将直接影响到后面各阶段的设计,并影响到设计结果是否合理和实用。 1. 需求分析的任务 需求分析的任务是通过详细调查现实世界要处理的对象(组…

数据库技术-数据库需求分析、数据流概念

目录 需求分析 数据流 结构化分析案例-教材销购案例 例题讲解 每文一语 需求分析 1、需求分析的概念与意义 需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么性能。 需求分析是在计算机…

matlab gui 教学,新手入门教程(一)文本框和按钮的使用

matlab gui 教学,新手入门教程(一)文本框和按钮的使用 一、新建文件二、添加控件 一、新建文件 1、在MATLAB命令行中输入guide。 2、回车,进入GUI的界面,选择新建GUI–Blank GUI(Default)–浏览(自定义存储…

零基础入门MATLAB(一篇十分钟)

目录 一、复数 二、取整函数 三、无穷量(Inf)和非数值量(NaN) 四、逻辑类型 五、字符和字符串 六、函数句柄 七、结构体 八、数组类型 九、单元数组 十、map容器类型 参考《MATLAB R2020a 完全自学一本通》 一、复数 …

matlab如何使输出结果更美观(symdisp函数——pretty函数升级版)

matlab中有些计算结果比较长,直接查看有些困难,下面介绍pretty和symdisp函数优化输出结果,使结果更为直观。 演示示例1 有一个计算结果如下: >> f1f1 y^5 (- w - y0)*y^4 1800*y^3 (1498200*w - 1800*y0)*y^2 (3600*w…

Matlab中textscan函数用法

目录 语法 说明 示例 读取浮点数 读取不同类型的数据 删除字面文本 跳过每行的其余部分 指定分隔符和空值转换 指定要视为空或注释的文本 将重复的分隔符视为一个分隔符 指定重复的转换设定符并收集数值数据 读取或跳过引用文本和数值字段 读取外语日期 读取非默…

【MATLAB学习笔记01】【快速入门】初识MATLAB的界面和编辑脚本的基础知识

打开MATLAB后,建议各位新手,先随便按下各个按键,熟悉下总体的页面布局,并且对各个按键的功能有点印象,这样可以更容易上手。 主要功能区(下图用红色方框圈出来的位置): 命令行窗口…

零基础入门Matlab(一篇两个小时就能学完的入门博客)

目录 零基础入门matlab前言1.界面认识2.变量命名3.数据类型4.元胞数组和结构体5.矩阵操作6.程序结构7.基本绘图操作7.1.二维平面绘图7.2.三维立体绘图 8.图形的保存与导出9.补充 零基础入门matlab 前言 这篇文章很适合MATLAB的入门学习,这也是我在入门时学习的笔记…

MATLAB中text函数使用

目录 语法 说明 示例 向数据点添加文本说明 向多个数据点添加文本 显示多行文本 指定文本大小和颜色 修改现有文本 text函数的功能是向数据点添加文本说明。 语法 text(x,y,txt) text(x,y,z,txt) text(___,Name,Value) text(ax,___) t text(___) 说明 text(x,y,…

matlab中实现文字和数字和混输出excel

做一个小程序时,需要数据和文字混合输出到,直接构建这样的矩阵在matlab中行不通 于是有了下列的代码: %输出excel表格 excel_outpathF:\Work\paper_work\parallel_simulation\code\excel\test.xlsx;%输出路径 %构建表头 rtnxlswrite(excel_…