数据库三级
Posted 364.99°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库三级相关的知识,希望对你有一定的参考价值。
4.数据库应用系统功能设计与实施
选择、填空
4.1.软件体系结构与设计过程
4.1.1.概述
对于DBAS功能设计部分而言,与总体上的三个阶段相对应,功能设计过程一 般被划分为总体设计、概要设计和详细设计三个阶段。而具体到DBAS功能设计的数据库事务设计部分,又可以分成事务概要设计和事务详细设计两个阶段。完成系统设计工作以后,就可以进入到系统实现与部署阶段
4.1.2.软件体系结构
又称软件架构,软件体系结构={构件、连接件、约束},是一种可预制和可重构的软件框架结构
- 构件:组成系统的具有一定独立功能的不同粒度的程序模块、 独立程序或软件子系统,是组成软件的系统元素
- 连接件:将不同的构件连接起来,表示了构件间的相互作用。如信号量的传递、功能和方法的调用、数据传送和转换、构件间的同步等
- 约束:一般为对象连接时的规则 ,或指明了构件连接的条件
软件体系结构的简单描述:
软件体系结构描述了软件系统的总体组织和层次划分、系统元素及其功能分配、全局控制、系统元素间的协调和交互、数据存取等
软件体系结构的风格和类型:
- 分层体系结构
- 模型-视图-控制器体系结构(MVC)
- 客户/服务器体系结构(C/S)
4.1.3.软件的设计过程
根据数据库应用系统生命周期模型,软件开发由设计、实现、测试三个环节组成,设计又包括概要设计、详细设计。
软件设计过程中的遵循原则:设计应与软件需求保持一致,设计的软件结构应支持模块化、信息隐藏、抽象与逐步求精等
概要设计
- 概要设计的任务:建立软件系统的总体结构和模块间的关系,定义各功能模块的接口,设计全局数据库或数据结构,规定设计约束,制订测试计划
- 概要设计的要求:良好的总体结构,功能模块间较低的耦合度和功能模块内较高的内聚度,并尽量降低模块接口复杂性
- 概要设计侧重点:模块的外部功能描述和模块间接口关系
详细设计
- 详细设计是细化概要设计产生的功能模块,形成可编程的程序模块,用某种过程设计语言( PDL )设计程序模块的内部细节,如算法和处理流程、数据结构、程序模块间详细接口信息等,为编写软件原代码提供依据
- 需要制定模块测试方案
- 详细设计结果用详细设计说明书表示
总体设计
对于一些大型复杂软件系统 ,如分布式网络环境下的数据库应用系统,可根据逐步抽象和层次化原则,将概要设计分解成两个步骤
- 软件总体结构设计,也就是对软件需求进行分解。按照定原则,如根据分布式系统中不同部分的物理位置分布或是系统本身层次结构,将其划分为若干个子系统;定义各个子系统应实现的功能和相互间的交互关系和通信机制
- 将每个子系统进步划分为功能模块,定义各功能模块的数据结构、相互间交互关系。根据需要,每个模块可以进一步分解为多个子模块
4.2.DBAS总体设计
广义上讲, DBAS设计包括结构设计、过程设计和数据设计。DBAS总体设计任务是依据系统规划与分析结果。
主要内容:
- DBAS体系结构设计
- DBAS软件总体设计
- 软硬件选型与配置设计
- 业务规则初步设计
4.2.1.DBAS体系结构设计
确定DBAS体系结构是指将系统从功能、层次/结构、地理分布等角度进行分解,划分为多个子系统,定义各子系统应实现的功能;设计系统的全局控制,明确各子系统间的交互和接口关系。
常见的DBAS体系结构
客户/服务器结构(C/S)
C/S是网络环境下一种主流的数据库应用系统体系结构
特点:
1.DBAS的数据管理和数据处理功能被分解并分布在客户端和数据库服务器上
2.数据库服务器可以为多个客户端应用提供共享的数据管理功能
3.客户端应用可以通过网络访问多个不同数据源
4.客户端除了完成人机交互功能外。还需要完成面向应用的数据处理功能,属于典型的“胖客户端”
C/S结构的数据库应用系统可以有多个数据库服务器,数据库服务器客户端和应用服务器相互协同工作,实现了对数据库服务器上的数据资源的共享。
两层C/S结构数据库应用系统:浏览器/服务器结构(B/S)
三层浏览器/服务器(B/S)结构的数据库应用系统是一种互联网环境下的新型数据库应系统结构
特点:将数据处理功能分解并分布在表示层、功能层和数据层三个层次上,分别由Web浏览器、Web应用服务器和数据库服务器来实现
1.表示层位于客户端.由Web浏览器实现。客户端根据显示逻辑完成具体的数据表示和人机交互功能。客户端功能单一. -般只安装Web浏览器.没有其他用户应用程序,属于典型的“瘦客户端”
2.功能层位于Web应用服务器,实现面向具体应用领域的业务规则。应用服务器接收来自于Web浏览器的用户请求.根据应用领域业务规则执行相应的数据库应用程序。通过数据库访问接口向数据库服务器提出数据操作请求:接收来自于数据库服务器的数据访问结果.并通过客户端将结果返回给用户
3.数据层位于数据库服务器,通过DBMS完成具体的数据存储和数据存取等数据管理功能。数据库服务器接收应用服务器提出的数据操作请求,按照事务逻辑对数据库进行查询和修改,并将数据访问结果返回给应用服务器
三层B/S结构数据库应用系统:
C/S与B/S的优势与特点
- C/S优势:C/S技术成熟,应用广泛,在运行速度、数据安全、人机交互等方面较好
- B/S优势:B/S在适用Internet,维护工作等方面较好。 B/S结构将人机交互、应用业务逻辑处理和数据管理三类功能相互分离,提高了系统的可维护性。用户通过Web浏览器可以访问多个异构应用平台,解决了跨平台数据管理问题。对于以浏览为主、 录入简单的应用程序,B/S技术有很大的优势,例如Web网站
4.2.2.DBAS软件总体设计
DBAS软件系统:
- 操作系统
- 数据管理系统
- 开发环境
- 中间件
- 应用软件
5.1. 数据库事务:通过对数据库的直接操作实现数据管理和数据处理功能
5.2. 应用程序:
1.可以与数据库事务相互协调合作,对数据库中的应用数据进行进一 步加工处理
2.从应用数据中抽取新的信息,以实现复杂的数据处理功能
3.可以实现与数据库访问无关的功能,如通信功能、人机交互功能
DBAS软件总体设计
- 应用软件总体设计得到的系统总体结构和分层模块结构可以用模块结构图表示
- 模块结构图是结构化程序设计中描述系统结构的一种图形化工具,定义了模块的名字、功能和结构
- 模块结构图主要关心模块的外部特性(上下级模块、同级模块间数据传递和调用关系), 与模块内部处理流程无关
4.2.3.软硬件选型与配置设计
合理的软硬件选型和配置设计是保证DBAS功能和性能顺利实现的重要因素
软硬件选型:
- 涉及内容:
1.1. 网络及网络设备选型
1.2. 数据存储设备及备份方案制定
1.3. 应用服务器、web服务器选型
1.4. 确定系统终端软件环境
1.5. 确定软件平台及开发语言、工具
1.6. 系统中间件及第三方软件选型- 选型及配置设计考虑因素
2.1. 数据规模
2.2. 系统性能
2.3. 安全可靠性
2.4. 用户需求
2.5. 项目预算情况
4.2.4.业务规则初步设计
需求分析阶段的任务是明确系统将要做什么,而设计阶段的任务是明确将如何实现系统
商场经营管理系统
4.3.DBAS功能概要设计
4.3.1.DBAS功能概述
DBAS功能概要设计按照逐步求精、模块化、信息隐藏、和功能细化原则,根据DBAS需求分析阶段得到的系统功能和业务规则描述,在总体设计结果基础上,将DBAS应用软件进一 步细化为模块/子模块,组成应用软件的系统子系统-子模块层次结构,并对系统、子系统、模块、子模块等系统元素从结构、行为和数据三方面进行设计
从功能角度划分:
- 表示层——负责所有与用户交互的功能,展现用户对数据库应用系统的最直观感受
- 业务逻辑层——负责根据业务逻辑需要将表示层获取的数据进行组织后,传递给数据访问层,将数据访问层获取的数据进行相应的加工处理后,传送给表示层用于展示
- 数据访问层——负责与DBMS系统进行交互,提取或存入应用系统所需的数据
- 数据持久层——负责保存和管理应用系统数据
4.3.2.表示层概要设计
表示层概要设计的主要任务是进行人机界面设计(也称用户界面) 。由于不同的DBAS对用户界面设计的要求与实际应用领域有关。 故没有统一的设计方法。
设计原则:
- 用户应当感觉系统的运行始终在自己的控制之下
- 用户界面应该为用户提供有意义的反馈信息,并有上下文感知的帮助功能
- 用户界面应该容忍用户在使用过程中发生的各种操作错误,并且能够恢复过来
- 用户界面应该遵循一定标准和常规
- 用户界面应采取灵活多样的数据输入方式
- 如果使用Web界面,设计要求具有简洁性,避免使用过于复杂的图形和动画等
4.3.3.业务逻辑层概要设计
业务逻辑概要设计的主要任务是梳理DBAS的各项业务活动,将其表示为各种系统构件(如类、模块、组件等).业务逻辑层是DBAS的重要组成部分,它承载了数据访问层与用户界面层的桥梁作用,主要实现DBAS的核心业务
- 设计的方法:设计人员需要将数据库应用软件划分为-系列程序模块,每个模块实现一个具体的功能
- 需要关心的问题:设计人员仅需要关心各业务模块的功能,输入/输出等外部特性, -般不涉及模块内部的具体处理流程,以及各软件模块的具体编程实现机制
- 业务逻辑层概要设计包括
业务逻辑层进行模块划分需要考虑高内聚与松耦合原则,主要体现在一下几个方面
- 单一责任原则:一个构件(由相关性很强的代码组成)或一个模块只负责完成一项任务
- 组成系统业务逻辑层的各个构件均应具有独立的功能,并且最大限度地减少与其他构件功能重叠
- 构件之间的接口应尽量简单明确
- 如果某两个构件间的关系比较复杂的话,应考虑进一步进行模块划分
- 如果构件过于复杂,可以考虑将其细分
采用高内聚与松耦合原则:目的是在保持软件内在联系的前提下,分解软件系统,降低软件系统开发的复杂性
软件系统分解方法如下所示
4.3.4.数据访问层概要设计
数据访问层概要设计的主要任务就是针对DBAS的数据处理需求设计用于操作数据库的各类事务
- 事务:
1.1 概念:数据库系统中的一个逻辑数据处理单元,其中包含了一系列数据操作的集合
1.2 事务的设计注重事务本身的数据流程处理- 设计事务处理逻辑
2.1 如果把数据处理需求分析的结果表示为数据流图,则可以将待设计的事务看作是程序,采用软件工程中面向数据流的程序设计方法,设计事务内部的数据处理流程和结构,也就是设计事务处理逻辑
- 事务概要设计
3.1 把数据处理需求分析的结果表示为事务规范,由于事务规范包括了事务名称、事务描述、事务所访问的数据项、事务用户等事务描述信息,可直接从事务描述出发,根据具体应用领域的相关知识设计事务逻辑,得到事务概要设计结果。-个完整的事务概要设计包括以下几方面的信息
- read(X)与write(X)
事务概要设计中的事务逻辑定义了具有独立逻辑功能的一系列操作以及这些操作的执行流程,引入与具体DBMS平台无关的两个元操作read、write
4.1 read(X)操作:将数据库磁盘文件中的数据项X读入内存缓冲区
4.2 write(X)操作:将内存缓冲区中数据项X的当前值写入数据库磁盘文件
4.3 事务对数据的操作, 如查询、插入、删除、修改等,可以用这两个元操作来抽象表示
4.4.DBAS功能详细设计
4.4.1.表示层详细设计
人机界面的设计与用户感知密切相关,由于其特殊性,人机界面设计最好采用原型迭代法
基于原型迭代法的用户界面设计步骤:
4.4.2.业务逻辑层详细设计
- 业务逻辑层详细设计的任务是根据概要设计中定义的各程序模块功能和输入输出数据需求,结合具体的程序设计环境机制,设计各模块的内部处理流程和算法、具体数据结构、对外详细接口等,是对概要设计的细化
- 在业务逻辑详细设计阶段,设计人员也可以通过UML的类图、活动图、 协作图来描述DBAS对用户业务的详细实现逻辑
4.5.应用系统安全架构设计
4.5.1.数据安全设计
数据是所有信息系统的基础,如何保障数据安全也是信息系统设计和建设过程中需要考虑首要问题。数据安全涉及的范围很广, 从数据存储安全龟府出发主要有以下五个方面:
数据的安全性保护
在DBAS系统设计时。通常采用前台和后台相结合的安全性保护措施来共同维护DBAS的安全性。数据库的安全保护方式有以下几点内容:
- 用户身份鉴定:
对于后台数据库,服务器主机用户如果采用了Windows集成登录方式。只有合法的的服务器计算机用户才能登录数据库,对于远程数据库用户,只有通过验证才能进人数据库- 权限控制:
对于前台程序,在数据库中为每一个应用系统用户建立了用户编号、 用户名、密码及权限权限,每次登录时都要进行身份验证,只有合法的应用系统用户才能进入该系统- 视图机制:
可通过视图机制把要保密的数据对无权查看这些数据的用户隐藏起来,尽管这些数据存在,但用户看不到它们
数据库的完整性保护
- 数据库的完整性是指数据库中数据的正确性、一致性和相容性
- 完整性约束条件的作用对象分为列、元组和关系三种级别
2.1. 对列的约束主要指对其值类型、范围、精度、排序等的的束条件
2.2. 对元组的约束主要指对记录中各个属性之间的联系的约束条件
2.3. 对关系的约束是指对若干记录间、关系集合上以及关系之间联系的约束条件
数据库的并发控制
- 并发访问是指如果数据库管理系统可以同时接纳多个事务,事务可以在时间上重叠执行一数据库的并发控制
- 实现数据库并发控制的方法很多,常用的是封锁技术
- 封锁:指在某一时间内禁止某用户对数据对象做某些操作以避免产生数据不一致的问题
- 基本的封锁一般有**排它锁( x锁)和共享锁( s锁)**两种类型
再进行DBAS系统设计时,为了避免死锁,通常考虑以下原则
- 按同一顺序访问资源
- 避免事务中的用户交互
- 采用小事务模式,尽量缩短事务的长度,减少占有锁的时间
- 使用绑定连接,使同一应用程序所打开的两个或多个连接可以相互合作
- 尽量使用记录级别的锁(行锁) ,少用表级别的锁
数据库的备份与恢复
数据库恢复的基本原理:数据库中任何一部分数据可以利用存储在系统其他存储器上的冗余数据来重建
- 双机备份:是基于Active/Standby方式的服务器热备,服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备
- 数据转存:也称为数据备份。由管理员定期将应用系统的数据备份拷贝到存储介质上,当故障发生时,可以用来恢复数据
- 数据加密存储:针对高敏感数据安全保护的-种方案,目前主流数据库管理系统均带有相关的数据加密功能
数据加密传输
在处理一些敏感数据的传输时,如果DBAS系统需要保证这些敏感数据能安全到达其目的地,而不会在途中丢失数据或者被他人拦截,就需要以加密的格式传输数据来保证数据在传输过程中的完整性、安全性。数据加密传输手段如下
4.5.2.环境安全设计
任何DBAS系统运行均需要一定的软硬件环境支持,这些软件系统和硬件设备的安全同样影响和决定IDBAS系统能否正常有效运行, DBAS安全架构设计也需要考虑这些软硬件环境的安全。
4.5.3.制度安全设计
对于制度安全性设计工作,它不仅是系统开发人员的事情,而且需要系统最终用户的认可、支持与参与。
对于DBAS设计人员需要做的工作是:
- 详细了解系统最终用户对安全性的要求,梳理出需要从管理层进行安全控制的需求
- 认真与最终用户沟通,了解用户组织现状和制度现状,给出DBAS管理层安全策略的建议
- 耐心与最终用户交流,取得用户的信任和支持,保障相关制度能顺利执行
4.6.DBAS实施
完成数据库的物理设计后,进入数据库系统的实施阶段
DBAS的实施阶段主要工作:
4.6.1.创建数据库
开发人员使用具体的DBMS提供的数据定义语言( DDL )或图形化工具建立数据库和数据库对象。
在DBAS实施过程中,为了保障系统的性能和稳定性,创建数据库时,需要考虑以下因素:
- 初始空间大小:
数据库初始空间是创建数据库时的基本参数,在数据库创建初期设定,设定时需要对
DBAS系统的数据空间需求进行评估- 数据库增量大小:
在创建数据时需要设置数据库的增量大小,当数据库初始空间被占沾满时,DBMS会根据用户设置的数据库增量值分配相应的大小空间- 访问性能:
需考虑数据库访问的并发量,数据表访问的频率等针对不同的性能要求,需要对数据库进行不同的配置
4.6.2.数据装载
将数据源提取出来,存入计算机,分类转换,使之成为符合数据库结构的数据,存入数据库。
- 筛选数据
- 转换数据格式
- 输入数据
- 检验数据
4.6.3.编写与调试应用程序
- 编写应用程序:严格遵照DBAS的详细设计结果,如真实数据无法入库,可以尝试采用模拟数据
- 应用程序的编写与调试是同步进行的
- 在应用程序编码阶段:程序员需要对自己编写程序的正确性进行验证,保证程序能够按照预先设定的逻辑执行
4.6.4.数据库系统试运行
运行的主要目的是对数据库系统的功能和性能进行一次测试,找出其中的不足,加以完善改进。
主要测试方法
- 功能测试
- 性能测试
以上是关于数据库三级的主要内容,如果未能解决你的问题,请参考以下文章