①⭐全网首发☀️数据有道之数据库技术❤️干货大全持续更新❗❗❗
Posted 王小王-123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了①⭐全网首发☀️数据有道之数据库技术❤️干货大全持续更新❗❗❗相关的知识,希望对你有一定的参考价值。
目录
本期的文章就到这里,数据库技术干货大全,持续更新中.......欢迎订阅博主《数据库技术原理应用——计算机三级》
1.数据库应用系统开发方法
1.1 数据库应用系统概述
考点1 数据库系统和数据库应用系统的区别
(1)数据库系统(Data Base System,DBS)主要提供应用数据的组织、存储、维护、访问等数据管理功能。
(2)数据库应用系统(DataBase Application System,DBAS)不仅为用户提供数据管理功能,还根据具体应用领域业务规则,通过数据库应用程序,实现了更为复杂的数据处理功能。
考点2 数据库应用系统设计与开发的定义
数据库应用系统设计与开发是指根据具体需求,设计数据库模式或结构,并根据业务规则设计数据库应用软件。依据设计结果,在数据库中正确组织和存储应用数据,开发数据库应用程序,选定合适的软硬件环境,按照一定的体系结构将各部分有机组合起来,构成实际可运行的数据库应用系统。
1.2 数据库应用系统生命周期
考点1 软件工程与软件开发方法
(1)瀑布模型
①开发过程
瀑布模型(软件过程模型)把软件开发的全过程定义为六个阶段:项目规划,系统分析,总体设计,详细设计,编码调试与集成测试,运行维护阶段。
a.项目规划
定义开发项目的背景、目标、实现功能、性能指标以及系统需要解决的问题,包括制定合理的项目开发计划。
b.系统分析
通过调研分析全面理解系统需求,并利用需求说明文档叙述项目目标、功能、适用范围、可接受的吞吐率、响应时间,以及数据的安全性、正确性、有效性等要求。
c.总体设计
将前一阶段的需求转换成能够实现的软件框架及系统结构,使得系统各组成结构能够最佳地支持目标系统的功能需求和性能需求。
d.详细设计
将细化总体设计的结果,包括确定每个模块的算法、结合具体的开发环境设计输入/输出的界面等。
e.编码调试与集成测试
用程序设计语言描述每个模块的求解步骤,通过单元测试以后,将它们组装或集成进行集成测试并发现和纠正软件模块中可能存在的问题和缺陷,保证应用系统达到既定目标和使用要求。
f.运行维护
进行系统基本完成后的运维工作。
②建模要求
严格按照模型定义的6个阶段依次进行,且每个阶段工作结束后必须提交阶段工作文档,并经过严格的评审确认后才能开始下一阶段的活动,以此保证阶段工作的有效性、一致性和完备性。
③缺点
瀑布模型的文档驱动、强调阶段工作完备性的指导思想和现实生活中用户的需求是一个不断改进完善的过程是相违背的。
(2)快速原型模型
①指导思想
根据基本需求着手构建一个可运行的、反映了基本功能特征的早期目标系统的版本,经过不断改进和完善,最终得到满意的目标系统。
②开发过程
a.快速分析
在获取基本需求的基础上,确定目标系统的功能、界面特点和性能需求,以此编写基本需求说明书。
b.设计构造原型
依据需求说明规范,利用可视化集成开发工具快速构建一个可运行的初始系统。
c.运行原型
通过实际操作理解系统,并发现问题。
d.评价原型
通过审核和评价原型,确认系统存在的问题,提出改进意见,并补充缺失需求和因环境变化、需求变动引发的新的需求。
e.改进原型
根据修改意见和修改方案,重构及修改原型系统。重复阶段c到阶段e,直到系统满足需求,修改迭代结束。
(3)螺旋模型
①开发过程
螺旋模型把软件开发的全过程划分为四个阶段,也称为四个象限。
a.项目规划阶段确定系统功能和性能目标,选择可行的实施方案。
b.风险评估阶段识别和评估风险。
c.工程实现阶段通过实施活动将软件需求转化为软件产品。
d.用户评估阶段评价实现结果。
②开发周期
模型周期从项目规划开始到最后评价实现结果,并规划下一个开发阶段。开发过程每经过一个迭代周期,系统就生成一个新版本,迭代活动一直持续到用户对产品完全满意为止。
③优点
将瀑布模型的系统化与快速原型模型的可修改性结合起来,引入了风险评估活动,采用“演化”的概念开发系统,使得开发者和使用者对每个演化层可能的风险有所了解,降低了大型项目实施过程中的不确定性带来的风险。
④缺点
对开发人员评估风险的经验要求较高。
螺旋模型相对于其他的两个模型有很大的优势,它结合了快速瀑布模型的逻辑严密,稳定性强,又加入了快速原型模型的开发迅速,可修改性的特点,最终集成在螺旋模型之上,但是它对我们的开发设计人员有很高的的技术要求。
(4)软件工程的目标
在给定成本、进度的前提下,开发出满足用户需求并具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性特征的软件产品。
考点2 DBAS生命周期模型
(1)数据库应用系统
①定义
数据库应用系统是一类典型的面向数据管理和数据处理的复杂软件系统。
②设计开发的要求
在满足实际应用需求的前提下,遵循数据库系统三级模式结构所规定的数据库设计范型,按照软件工程所定义的复杂软件系统开发原则,采取工程化方法,按计划、分步骤地进行。因此,数据库应用系统的设计开发必须有软件过程模型作为指导。
(2)生命周期模型
该模型定义了数据库应用系统设计、开发和运行维护的整体框架,规定了设计、开发和运行维护各阶段的主要目标、工作内容和所采用的关键技术。数据库应用系统常用的生命周期模型如图1-1所示。
图1-1 数据库应用系统生命周期模型
基本思想如下:
①参照软件开发瀑布模型的原理,DBAS的生命周期由项目规划、需求分析、系统设计、实现与部署、运行与维护五个基本活动组成。
②引入快速原型模型和螺旋模型的开发思路,允许渐进、迭代地开发DBAS。通过多次迭代逐步扩展各个原型系统的功能,使之最终满足全部用户需求,形成最终DBAS产品。
③根据DBAS的总体目标和实现功能,按照数据组织与存储设计、数据访问与处理设计、应用设计三条设计主线,分别设计与实现DBAS中的数据库、数据库事务和应用程序。其中,数据库事务设计和应用软件设计属于数据库应用系统功能设计范畴。
④将DBAS设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,每一步骤的设计内容又涵盖了三条设计主线。
1.3 规划与分析
考点1 概 述
(1)规划与分析的目标
将数据库应用系统作为由计算机硬件、计算机软件和用户组成的复杂人机系统,从项目管理的角度,面向实际应用和用户需求,确定整个数据库应用系统的目标和任务,从技术、操作和经济三方面进行可行性分析,并制定合理的项目开发计划。
考点2 系统规划与定义
(1)定义
面向将要开发的DBAS,通过了解用户实际需求,明确该系统需要实现的目标和任务,并从数据管理和数据处理的角度,确定系统中数据库软件的功能、性能范围。
(2)内容
①任务陈述。描述所要开发的DBAS的总体目标。
②确定任务目标。明确为了实现系统总体目标,DBAS应该支持的一系列任务与活动。
③确定系统范围和边界。系统范围和边界定义了DBAS做什么、不做什么、做到什么程度,是DBAS需求分析和系统设计等后续开发步骤的设计依据。
④确定用户视图。用户视图表示了不同DBAS用户的数据访问/处理需求。
考点3 可行性分析
(1)目的
评估判断DBAS开发项目在现有技术和经济条件下是否可行,是否能够达到预期目标,以及为保证项目正常进行需要的各种资源和支撑条件是否达到要求。
(2)内容
①经济可行性
a.定义
经济可行性研究是对项目进行成本效益分析,估算项目开发成本,评估项目经济效益、社会效益和利润,在项目成本和收益间进行合理权衡,并分析项目对其产品或利润的影响。
b.DBAS成本的内容
第一,系统软硬件购置费用,如DBMS、计算机、存储设备、网络设备的购置费用。
第二,系统开发费用,如人工费用、材料费用、培训费用等。
第三,系统安装、运行、维护费用等。
②技术可行性
技术可行性研究是根据用户提出的系统功能、性能及实现系统的各项约束条件,对系统软硬件和技术方案作出评估和选择建议。
a.硬件可行性研究是分析DBAS的硬件平台环境和设备体系结构及处理能力、存储设备的容量和数据访问速度、网络环境等,提出硬件选型建议。
b.软件可行性研究包括对可用的DBMS和操作系统的选型评估和建议、对中间件和开发环境的选型建议、对数据库应用程序开发模式和编程语言的建议等。
c.技术方案的选择是根据系统技术需求,提出DBAS可能采用的合理技术方案或关键技术。
③操作可行性
操作可行性研究是论证是否具备DBAS开发所需的各类人员资源(项目管理人员、数据库系统分析员、应用编程人员等)、软件资源、硬件资源和工作环境等,以及为支持DBAS开发如何去改进加强这几方面资源。
④开发方案选择
开发方案选择的目标是提出并评价实现系统的各种开发方案,从中选出一种适用于DBAS软件的开发方案。
(3)可行性分析的成果
形成相应的数据库应用系统开发可行性研究报告,并提交给项目管理部门对可行性研究报告进行评审,作为下阶段项目立项和规划的重要依据。
考点4 项目规划
(1)定义
项目规划是项目管理者对资源、成本和进度做出合理估算,并在此基础上制定切实可行的DBAS项目开发计划的过程。
(2)内容
①确定项目的目标和范围,根据系统规划与定义的工作内容,具体说明项目的最终产品以及期望的时间、成本和质量目标。
②根据DBAS软件开发模型,分解和定义整个项目包括的工作活动和任务。
③估算完成该项目的规模及所需各种资源。
④制定合理的DBAS项目计划,包括进度、成本、质量等方面的预测和控制方案。
(3)成果
项目规划的结果应形成数据库应用系统项目计划文档,即项目计划书。
1.4 需求分析
考点1 系统需求
(1)定义
数据库应用系统需求是指用户对DBAS在功能、性能、行为、设计约束等方面的期望和要求。
(2)需求分析的过程
需求分析过程由需求获取、需求分析、需求描述与规范说明、需求验证等步骤组成。最终形成需求规范说明文档,该文档也成为DBAS需求分析规范说明书。
(3)分类
①对于一般的软件系统,系统的需求一般被分成功能和非功能需求,非功能性需求一般也可以划分成性能需求与其他需求。
②对于以处理数据为核心的数据库应用系统来说,一般需要将数据需求或信息需求独立出来进行分析。
③对于DBAS来说,在功能层面可以将需求分成与数据处理密切相关的功能需求和业务规则需求,但是这两类需求在有些场合也很难分清,在许多情况下也密切相关;在性能层面也需要对系统的存储、安全、备份与恢复等其他方面的需求进行分析。
(4)需求获取
需求获取是DBAS系统分析人员的职责。分析人员可以采用软件工程中的需求获取技术,通过与用户的充分交流,调查清楚用户的实际要求,分析和整理所获取的各类需求信息,与用户和开发人员达成共识,形成文档化的需求描述,在此基础上进行进一步的需求分析。
考点2 数据需求分析
数据需求分析是从对数据进行组织与存储的角度,从用户视图出发,分析与辨识应用领域所管理的各类数据项(Data Items)和数据结构,形成数据字典的主要内容。
(1)数据项
数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。
(2)数据字典
①内容
数据字典包括数据项、数据结构、数据流、数据存储和处理过程五部分。
②作用
数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。
考点3 功能需求分析
(1)定义
功能需求分析是指主要针对DBAS应具有的功能进行分析,是DBAS需求分析的核心环节。
(2)分类
功能需求分析总体上可以分成数据处理需求分析与业务规则需求分析。
①数据处理需求分析
数据处理需求分析从数据访问和处理的角度,明确对各类数据项所需进行的数据访问操作,分析结果可表示为数据流图(Data Flow Diagram,DFD)或DBAS应支持的各种数据处理事务规范。
a.数据流图是一种形式化的数据需求分析技术,利用数据项、数据存储、数据加工和数据流等概念描述对数据的处理。
b.事务规范包括以下几方面的事务描述信息:
第一,事务名称;
第二,事务描述,指对事务功能、性能、完整性约束等方面的描述;
第三,事务所访问的数据项;
第四,事务用户,指启动该事务执行的事件/用户。
c.从系统规划与分析阶段已经确定的各类用户视图出发,针对每个用户视图进行数据及数据处理需求分析,然后汇总各个视图的分析结果得到对系统的完整分析结果。这也是一种多视点、多角度的数据及数据处理分析技术。
d.在某些特殊应用领域开发DBAS时,开发方法和步骤既要遵循DBAS生命周期模型,也要遵守这些应用领域提出的特殊开发准则,采用一些面向领域的特殊开发技术。
数据需求分析与数据处理需求分析的结果组织在一起,可以构成数据字典文档,该文档也常被称为“数据规范说明书”,作为下一步开展系统设计的主要输入文档。
②业务规则需求分析
业务规则需求分析是从DBAS高层目标和整体功能出发,分析系统或系统中一些较大子系统应具有的业务类型和功能,明确用户或外部系统与DBAS的交互模式。
a.业务规则需求分析涉及系统的外部行为和某些系统内部关键特性。
b.分析对象既可以是与数据管理有关的业务规则,也可以是与数据库完全无关的系统业务。
c.业务规则需求反映了应用程序的功能、性能需求,为后续系统设计阶段的应用程序设计提供了重要依据。
d.业务规则需求分析主要面向系统开发者,分析结果可采用自然语言、UML、某种特定领域相关的(半)形式化机制来描述系统业务的规则、流程和算法原理等。
考点4 性能需求分析
(1)性能需求
①定义
性能需求是指描述系统时应当做到的程度。
②DBAS性能指标
a.数据操作响应时间(数据访问响应时间)
用户向数据库系统提交数据操作清求到操作结果返回给用户的时间。
b.系统吞吐量
系统在单位时间内可以完成的数据库事务或数据查询的数量。系统吞吐量可表示为每秒事务数TPS。
c.允许并发访问的最大用户数
在保证单个用户查询响应时间的前提下,系统最多允许多少用户同时访问数据库。
d.每TPS代价值(Price per TPS)
衡量系统性价比的指标。
③影响DBAS性能的主要因素
a.系统硬件资源;
b.网络通信设备性能;
c.操作系统环境;
d.数据库的逻辑设计和物理设计质量;
e.DBMS的配置和性能;
f.数据库应用程序自身的性能。
【真题演练】
DBAS需求分析阶段的性能分析是分析DBAS应具有的性能指标。下列不属于DBAS性能指标的是( )。
A.数据库空间占用情况
B.数据查询响应时间
C.单位时间内可以完成的查询数量
D.单位时间内可以完成的事务数量
【答案】A
考点5 其他需求分析
(1)存储需求分析
①定义
存储需求分析是指估计DBAS系统需要的数据存储量。
②内容
a.初始数据库大小,即DBAS刚投入运行时的数据存储总量。
b.数据库增长速度,即运行过程中DB内数据量增加或减少的变化情况。
③数据存储总量的估算方法
根据数据字典中每个数据项的结构描述信息,估计一组数据项或一个元组需要的总数据项,同时估算数据项或元组的变化速度。根据估算出的数据项或元组的变化速度计算一段时间内的数据项总数或元组总和。将所有数据项或元组所需的估算空间相加,即得到一段时间内所需的数据存储总量。但是计算实际存储空间估算值时还需要考虑其他的存储空间开销。
(2)安全性需求分析
安全性需求分析考虑以下几个问题:
①DBAS系统应达到的安全控制级别
根据DBAS应用场所的实际数据安全性要求,按照可信(Trusted)计算机系统评测标准,确定DBAS应达到的安全控制级别。DBAS的整体安全级别取决于DBMS、操作系统和其他系统软件的安全级别间的相互匹配程度。
②各类用户的数据视图和视图访问权限
在实际应用中,根据系统数据安全性需求,规定各类用户允许访问的数据库数据(即用户的数据视图)以及对这些数据的访问权限(如查询、插入、删除、修改等)。
③DBAS应有的口令保护机制或其他安全认证机制
控制用户登录数据库系统时的安全性。
(3)备份和恢复需求分析
①定义
备份和恢复需求分析是从数据库系统可靠性和系统故障恢复角度提出的系统需求。
②内容
a.DBAS运行过程中备份数据库的时间和备份周期。
b.所需备份的数据是全部数据库数据(包括应用数据、索引、日志等),还是其中的一部分。
c.备份方式是采用完全备份还是采用差异备份。
1.5 系统设计
考点1 概念设计
(1)数据库概念模型设计
①定义
概念模型设计是依据需求规范说明文档,分析辨识需要组织存储在数据库中的各类应用领域数据对象的特征及关联关系,并采用概念数据模型表示出来,得到独立于具体DBMS的数据库概念模型。
②表示方法
它可用多种方法表示,最常见的是ER方法。
(2)系统总体设计
①定义
系统总体设计是从系统规划与分析结果(特别是其中的技术可行性分析内容)和系统需求分析内容出发,确定DBAS软硬件总体框架,作为系统后续设计活动的基础。
②内容
a.DBAS体系结构设计。
b.DBAS系统硬件和软件的选型和配置。
c.应用软件结构设计。将应用软件划分为一系列软件子系统,定义子系统间的信息交互方式,进一步划分各软件子系统的模块结构。
d.对需求分析阶段识别出的业务规则进行初步设计,细化业务规则流程,分析所处理的业务数据和处理方式,明确采用的关键技术和算法等。
e.对系统采用的关键技术进行方案选型和初步设计。
考点2 逻辑设计
(1)数据库逻辑结构设计
数据库逻辑结构设计是指从数据库的概念模型出发,设计表示为逻辑模式的数据库逻辑结构。逻辑结构设计与DBMS采用的数据模型密切相关,但与具体的DBMS系统实现无关。但是在现阶段,数据库逻辑结构设计的主要内容是在ER图的基础上设计数据库关系模式。
(2)应用程序概要设计
应用程序概要设计是在应用软件结构设计基础上,将DBAS中的应用软件模块按照逐步求精、信息隐藏和功能细化原则,进一步划分为子模块,组成应用软件的系统-子系统-模块-子模块层次结构,确定各模块的功能和输入/输出数据,设计模块使用的数据结构,定义模块交互的接口关系和交互流程。
(3)数据库事务概要设计
事务概要设计的任务是根据需求分析阶段识别出的各种DBAS事务,设计与具体DBMS实现方法无关的事务数据处理流程,明确事务所访问的各关系表,并把事务中对数据库数据的操作用与具体DBMS平台无关的两个元操作read、write抽象表示。
【真题演练】
下列属于数据库设计内容的是( )。
A.需求分析和维护
B.概念结构设计和逻辑结构设计
C.功能设计和测试用例设计
D.结构设计和行为设计
【答案】B
考点3 物理设计
(1)数据库物理结构设计
①数据和数据库物理结构
数据库中的数据以文件形式存放在外存物理设备上,数据库物理结构主要指数据文件在外存上的存储结构和存取方法,它依赖于系统具体的硬件环境、操作系统和DBMS。
②物理结构设计
a.定义
数据库物理结构设计是指在具体的软硬件环境约束下,为数据库的逻辑结构设计符合应用要求的物理结构的过程。
b.目标
设计一个占用空间少、具有较高的数据访问效率和较低的维护代价的数据库存储模式。
c.内容
数据库物理结构设计包括数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估等环节。
(2)数据库事务详细设计
①根据事务概要设计得到的与平台无关的事务流程,采用高级程序设计语言或DBMS提供的事务实现机制,在具体DBMS平台和开发环境下,设计数据库事务。
②事务详细设计需要将概要设计中的read和write元操作替换为DBMS支持的具体数据库访问操作或数据库访问API调用。
(3)应用程序详细设计
根据应用程序概要设计中定义的各模块功能和输入/输出数据需求,结合具体的程序设计环境和机制,设计各模块的内部处理流程和算法、数据结构、对外详细接口等。
1.6 实现与部署
DBAS的实现与部署也称为DBAS的实施。
考点1 定 义
DBAS的实现与部署是指数据库应用系统开发人员需要根据DBAS设计结果,建立数据库,编写应用程序,集成DBAS软硬件,组成完整的DBAS。系统经测试和试运行,确定在功能、性能等方面达到设计要求后,交付用户使用。
考点2 内 容
(1)建立数据库结构;
(2)数据加载;
(3)事务和应用程序的编码及测试;
(4)系统集成、测试与试运行;
(5)系统部署。
【真题演练】
下列不属于DBAS实施与部属工作的是( )。
A.数据加载
B.系统部属
C.建立数据库
D.规范化表结构
【答案】D
1.7 运行管理与维护
数据库应用系统投入运行标志着系统开发任务的基本完成和系统运行维护工作的开始。
考点1 内 容
(1)系统的运行和维护工作包括数据库应用系统的运行管理以及对数据库本身的运行管理,它主要由数据库管理员DBA负责,有时也需要其他设计及开发人员参与。
(2)数据库运行管理与维护的主要工作内容包括日常维护、系统监控与分析、系统性能优化调整、系统进化(升级)等工作。
【真题演练】
下列不属于数据库运行维护工作的是( )。
A.系统监控
B.系统性能优化
C.应用系统重写
D.系统升级
【答案】C
考点2 重要性
DBAS的运行管理和维护是其生命周期过程中的一个重要组成部分,为了保证数据库系统的正常运行,对DBAS的管理和维护工作贯穿在DBAS运行过程中。
喜欢的小伙伴,可以给博主一键三连哟~~~~
本期的文章就到这里,数据库技术干货大全,持续更新中.......欢迎订阅博主《数据库技术原理应用——计算机三级》
每文一语
壁立千仞,无欲则刚
以上是关于①⭐全网首发☀️数据有道之数据库技术❤️干货大全持续更新❗❗❗的主要内容,如果未能解决你的问题,请参考以下文章
一文带你斩杀Python之Numpy☀️Pandas全部操作全网最详细❗❗❗
时隔一年,终于还是对 YOLOX 之 Openvino 出手啦