11.2.软件系统分析与设计-数据库分析与设计

文章目录

数据库分析与设计

数据库设计属于系统设计的范畴。通常把使用数据库系统的系统统称为数据库应用系统,把对数据库应用系统的设计简称为数据库设计。

数据库设计的一般策略:自顶向下(Top Down)和自底向上(Bottom Up)

  • 自顶向下是从一般到特殊的开发策略。它从一个企业的高层管理入手,分析企业的目标、对象和策略,构造抽象的高层数据模型;然后逐步构造越来越详细的描述和模型(子系统模型)。模型不断地扩展细化,直到能识别特定的数据库及其应用为止。
  • 自底向上采用与抽象相反的顺序进行。它从各种基本业务和数据处理着手,即从一个企业的各个基层业务子系统的业务处理开始,进行分析和设计。然后将各子系统进行综合和集中,进行上一层系统的分析和设计,将不同的数据进行综合。最后得到整个信息系统的分析和设计。

步骤

  1. 需求分析:即分析数据存储的要求,产出物有数据流图、数据字典、需求说明书。获得用户对系统的三个要求:信息要求、处理要求、系统要求。
  2. 概念结构设计 :就是设计E-R图,也即实体-联系图。工作步骤包括:选择局部应用、逐一设计分E-R图、E-R图合并。分E-R图进行合并时,它们之间存在的冲突主要有以下3类。
    • 属性冲突。同一属性可能会存在于不同的分E-R图中。
    • 命名冲突。相同意义的属性,在不同的分E-R图上有着不同的命名,或是名称相同的属性在不同的分E-R图中代表若不同的意义。
    • 结构冲突。同一实体在不同的分ER图中有不同的属性,同一对象在某一分-R图中被抽象为实体而在另一分E-R图中又被抽象为属性。
  3. 逻辑结构设计:将E-R图,转换成关系模式。工作步骤包括:确定数据模型、将E-R图转换成为指定的数据模型、确定完整性约束和确定用户视图。
  4. 物理设计:步骤包括确定数据分布、存储结构和访问方式。
  5. 数据库实施阶段:根据逻辑设计和物理设计阶段的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
  6. 数据库运行和维护阶段:数据库应用系统经过试运行即可投入运行,但该阶段需要不断地对系统进行评价、调整与修改。

ER图和关系模型

需求分析阶段

需求分析是在项目确定之后,用户和设计人员对数据库应用系统所要涉及的内容(数据)和功能(行为)的整理和描述,是以用户的角度来认识系统。需求分析是后续开发的基础,以后的逻辑设计和物理设计以及应用程序的设计都会以此为依据。

概念结构设计

数据库概念结构设计阶段是在需求分析的基础上,依照需求分析中的信息要求对用户信息加以分类、聚集和概括建立信息模型,并依照选定的数据库管理系统软件转换成为数据的逻辑结构,再依照软/硬件环境,最终实现数据的合理存储,这一过程也称为数据建模。

数据库概念结构设计的目标是产生反映系统信息需求的数据库概,念结构,即概念模式。概念结构是独立于支持数据库的DBMS和使用的硬件环境的。此时,设计人员从用户的角度看待数据以及数据处理的要求和约束,产生一个反应用户观点的概念模式,然后再把概念模式转换为逻辑模式。概念结构的具体工作步骤包括选择局部应用,逐一设计分E-R图和E-R图合并。如下图所示:

逻辑结构设计

逻辑结构设计即是在概念结构设计的基础上进行数据模型设计,可以是层次模型、网状模型和关系模型,逻辑结构设计阶段的主要工作步骤包括确定数据模型、将E-R图转换成为指定的数据模型、确定完整性约束和确定用户视图,如图12-9所示。

物理结构设计

数据库系统实现是离不开具体的计算机的,在实现数据库逻辑结构设计之后,就要确定数据库在计算机中的具体存储。数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型设计一个最适合应用要求的物理结构的过程,就是数据库的物理设计。

在数据库的物理结构中,数据的基本单位是记录,记录是以文件的形式存储的,一条存储记录就对应着关系模式中的一条逻辑记录。在文件中还要存储记录的结构,如各字段长度、记录长度等,增加必要的指针及存储特征的描述。数据库的物理设计是离不开具体的DBMS的,不同DBMS对物理文件存取方式的支持不同,设计人员必须充分了解所用DBMS的内部特征,根据系统的处理要求和数据的特点来确定物理结构。数据库的物理设计工作过程如图12-10所示。

数据库实施与运维

在数据库正式投入运行之前,还需要完成很多工作。例如,在模式和子模式中加入数据库安全性、完整性的描述,完成应用程序和加载程序的设计,数据库系统的试运行,并在试运行中对系统进行评价。如果评价结果不能满足要求,还需要对数据库进行修正设计,直到满意为止。数据库正式投入使用,也并不意味着数据库设计生命周期的结束,而是数据库维护阶段的开始。数据库实施阶段的工作过程如图12-11所示。

相关推荐
一叶飘零_sweeeet17 小时前
备战 2025 软考系统架构师
系统架构·软考·系统架构师
要开心吖ZSH3 天前
软件设计师备考-(十四)数据库设计
java·数据库·软考·软件设计师
CodingSir聊软考7 天前
【系规伴学】云资源规划核心知识点解析
软考
奔跑吧邓邓子1 个月前
【软考中级网络工程师】知识点之网关协议深度剖析
网络工程师·软考·网关协议·中级
奔跑吧邓邓子1 个月前
【软考中级网络工程师】知识点之 STP 协议,网络的 “交通协管员”
网络工程师·软考·中级·stp协议
奔跑吧邓邓子1 个月前
【软考中级网络工程师】知识点之 RIP 协议
网络工程师·软考·rip协议·中级
奔跑吧邓邓子1 个月前
【软考中级网络工程师】知识点之级联
网络工程师·软考·级联·中级
奔跑吧邓邓子1 个月前
【软考中级网络工程师】知识点之堆叠
网络工程师·软考·中级
moton20172 个月前
【软件系统架构】系列七:系统性能——路由器性能深入解析
系统架构·路由器·软考·吞吐量·软件系统架构·并发连接数·转发延迟
学习菌子2 个月前
第11章:【系统架构设计师】项目管理
系统架构·项目管理·软考高级·软考·软考系统架构设计师