三级数据库知识点学习——数据库应用系统开发方法

一、需求分析

在每个软件设计前,进行需求分析是必要的,数据库系统设计也一样。
需求分析是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程,简单来说就是分析用户的需求
数据库设计中需求分析可分为:

  1. 性能需求分析
    举个例子,在数据库应用系统生命周期的需求分析阶段,需要了解系统所能允许并发访问的最大用户数,这就属于性能需求分析。这让我想起我们学校的选课系统,每次到选课的时间总是进不了系统,因为学生太多了,只能等到人少些的时候再去选剩下的,说明这个选课系统性能并不高。

  2. 数据需求分析
    进行数据需求分析应该包括数据描述、逻辑描述、数据字典、数据采集。

  3. 功能需求分析
    功能是用户可见的,用户评价一个系统的好坏最大程度上就取决于用户对此系统的功能是否满意。

  4. 安全需求分析
    用户在系统中的数据是需要保护的,不能任意被窃取或破坏,对系统进行安全测试是必不可少的。

数据字典

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。上过软件工程课的应该都知道数据字典,因为作者第一次接触到这个词就是在软件工程课上。
数据字典是在需求分析阶段建立的,上面数据需求分析中就有提到。

其中:

  • 数据项:数据流图中数据块的数据结构中的数据项说明。数据项是不可再分的数据单位。

  • 数据结构:数据流图中数据块的数据结构说明。数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。

  • 数据流:数据流图中流线的说明。数据流是数据结构在系统内传输的路径。

  • 数据存储:数据流图中数据块的存储特性说明。数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。

  • 处理过程:数据流图中功能块的说明。数据字典中只需要描述处理过程的说明性信息。

下面是一个对学生表进行描述的数据字典。

字段 id name sex age
描述 学号 姓名 性别 年龄
数据类型 int varchar varchar int
约束 PK not null default 0 default 0

(ps:这里的PK是primary key,主码的意思。作者是才学到,现学现用的,嘿~)

二、数据库的两层映像

数据库有三级模式和两层映像。三级模式为内模式、模式、外模式,我在前面的文章已经介绍过了,这里就不再重复了。两层映像为外模式/模式映像模式/内模式映像

1.外模式/模式映像

模式描述的是全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。
当模式改变时(例如增加新的关系,新的属性,改变属性的数据类型等),由数据库管理员对各个外模式/模式映像做相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序可以不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

2.模式/内模式映像

数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的。该映像定义通常包括在模式描述中。当数据库的存储结构改变了(如选用的另一种存储结构),由数据库管理员对模式/内模式映像做相应的改变,可以使模式保持不变,从而应用程序也不必修改,保证了数据与程序的物理独立性,简称数据的物理独立性。

三、存储管理器

存储管理器是数据库系统中负责在数据库中存储的底层数据与应用程序以及向系统提交的查询之间提供接口的部件。
存储管理器负责与文件管理器进行交互。原始数据通过操作系统提供的文件系统存储在磁盘上。存储管理器将各种DML语句翻译为底层文件系统命令。其中DML为数据操纵语言,在前一篇文章中有提到。因此,存储管理器负责数据库中数据的存储、检索和更新。
存储管理部件包含:

  • 权限及完整性管理器:检测是否满足完整性约束,并检查试图访问数据的用户权限。
  • 事务管理器:用于保证即使发生了故障,数据库也保持在一致的状态,并保证并发事务的执行不发生冲突。
  • 文件管理器:管理磁盘存储空间的分配,管理用于表示磁盘上所存储信息的数据结构。
  • 缓冲区管理器:负责将数据从磁盘上取到内存中来,并决定哪些数据应被缓冲存储在内存中。缓冲区管理器是数据库系统中的一个关键部分,因为它使数据库可以处理比内存更大的数据。

看一个例题

存储管理器是数据库管理系统非常重要的组成部分。下列关于存储管理器的说法,错误的是()
A.存储管理器负责检查用户是否具有数据访问权限。
B.为了提高数据访问效率,存储管理器会将部分内存用于数据缓冲,同时使用一定的算法对内存缓冲区的数据块进行置换。
C.存储管理器会为编译好的查询语句生成执行计划,并根据执行计划访问相关数据。
D.存储管理器以事务方式管理用户对数据的访问,并确保数据库并发访问的正确性。

其中A.B.D在上面对存储管理器的概述中都有写到,而C没有。由C的描述可以知道,其是查询处理器的功能,而不是存储管理器的功能。

(PS:关于数据库应用系统开发方法还有关系模型、属性、概念数据模型等等知识,有的我在前面文章提到过,还有的我还没学到。就仅仅这两千多字,我写了几个小时,说明我真的很多东西都不懂,我会继续努力,向优秀的人学习,同时文章中若有错误的地方还请大佬帮我指出来,愚定当虚心求教!)

发布了6 篇原创文章 · 获赞 47 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44321509/article/details/104430807