欢迎来到天天文库
浏览记录
ID:28755831
大小:47.00 KB
页数:5页
时间:2018-12-13
《软件功能分布地地研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案C/S体系结构下ORACLE和PB应用软件开发中的软件功能分布研究李小庆马玉书(石油大学(北京)人工智能中心,北京102200)摘要本文以ORACLE和PB开发应用程序为例,分析了在C/S体系结构下数据服务器和客户软件各自能完成的功能,并讨论了在它们之间如何合理的分布功能。主题词C/S(客户/服务器)、数据完整性、网络I/O、处理逻辑中图法分类第一作者简介李小庆,男,1977年生,1998毕业于石油大学(华东)计算机科学系,现为石油大学(北京)人工智能中心硕士研究生,主要从事大型数据库应用系统的开发。1、引言90年代以来,随着网
2、络技术和数据库技术的飞速发展,采用分布式环境下的客户/服务器(C/S)体系结构逐渐成为开发数据库应用系统和MIS系统的主流。C/S体系结构包括两层含义,其一指硬件的C/S结构,其二指软件的C/S结构。随着软件规模日趋庞大,结构日趋复杂,设计合理的软件体系结构显得越来越重要。软件C/S结构是指将一个应用系统按照逻辑功能分成若干组成部分,例如用户界面、表示逻辑、用户逻辑、数据约束等,这些功能组成部分由客户软件和服务器软件分别承担。实际应用中,用户软件和服务器软件有相当部分功能存在重复和交叉,服务器能实现的一些功能,客户软件通过一定的处理逻辑也能
3、实现,但有时应用的功能不合理分布时,则会降低整个应用系统的性能,例如,一个设计不好的应用程序没有充分利用数据库的存储过程,以至要执行过多的网络I/O,使网络负载过重。所以在开发服务器软件和客户软件时,如能明确二者的功能,并能在它们之间实现合理的功能分配,对开发大型数据库系统和MIS系统具有重要意义。本文以当前开发C/S应用程序的最流行的数据库管理系统ORACLE7和数据库应用开发工具PB6来论述这一问题。2、数据库服务器可以实现的功能在分布式C/S环境下,数据库服务器指以ORACLE作为后台所实现的数据库管理功能。通常,它侧重于对数据库系统
4、进行管理和维护,其功能主要包括数据的完整性、并发性和安全性等方面。2.1数据完整性数据的完整性,是指按照某些规则来确定数据是否正确和可用,它可分为内部规则和业务规则。关系模型的内部规则由域完整性、实体完整性和关系完整性等组成,业务规则则是根据数据在实际应用中对数据的要求而制定的规则。1、内部规则l域完整性域完整性关系是指表中的任一数据都属于列的成员,表中不含任何无意义或非法的数据。ORACLE7中,使用列的数据类型来实现域的完整性,对于表中的每一列都要正确指出数据类型。l实体完整性实体完整性是指在一个关系表中能唯一地识别一条记录,不存在两条
5、相同的记录。ORACLE7中用主键来保证实体完整性。l关系完整性精彩文档实用标准文案关系完整性是指关系数据库中一个关系的一列或一组列的值引用了另一关系中一列或一组列的值。在数据库内容发生变化时,两值必须保持匹配。ORACLE7用外键来实现这一功能。2、业务规则每一个数据库根据实际应用情况都有自己的业务规则集,它与数据库固有的规则集同等重要,例如,某公司的库存量不能超过一万,否则马上要给公司主管出示警告,以停止订货。ORACLE7提供一序列的强大功能来实现定制的业务规则:l数据库触发器应用开发中会经常遇到复杂的业务规则,这些规则如在客户应用程
6、序中编程就显得十分复杂,而且不易满足动态响应要求,这时应考虑采用ORACLE7的触发器。触发器其实是一个存储过程,它在满足触发条件时自动触发,以执行相应过程。l存储过程、函数和包过程和函数是由编译过的SQL语句、控制流语句、变量说明、运算符等组成的集合,它们由软件开发人员创建并存储在库中。当用户调用过程和函数时,数据库就按过程和函数预定义的操纵数据。采用过程和函数由很多优点,比如它能实现复杂的安全性和完整性的检查,能集中进行规则实施,减少网络流量,而且比较容易创建,可避免在客户应用程序重用大量的编程语句来实施业务规则。包是一组过程或函数的集
7、合,如果开发应用程序需要使用多个不同的过程或函数协同工作,最好将过程或函数封装在一个包中,从而可以改善过程和函数单独使用时的性能。l数据库报警当数据库发生某些特殊情况时,如库存量超过一万,需要提示给用户,以便用户采取适当行动,ORACLE7提供了数据库报警这一功能,让库管理程序自动周期性的发出SQL语句查询需要报警的条件以给予报警。2.2数据的并发性、安全性和优化处理技术说明数据并发性一个较好的例子是飞机订票系统,即如果不同地方的两个人在同一时间订票,有可能订到同一张机票,这是由于数据库中有关机票号的数据丢失了一个更新操作。由此可认为数据并
8、发性是当两个用户或多个用户访问数据库会发生冲突而导致数据库出错,ORACLE7提供了排它锁和并发锁来防止这种冲突。当一个用户对数据进行更新,如果不会产生破坏性冲突,ORACLE7
此文档下载收益归作者所有