- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
軟件功能分布研究
C/S体系结构下ORACLE和PB应用软件开发中的软件功能分布研究
李小庆 马玉书
(石油大学(北京)人工智能中心 ,北京102200)
摘要 本文以ORACLE和PB开发应用程序为例,分析了在C/S体系结构下数据服务器和客户软件各自能完成的功能,并讨论了在它们之间如何合理的分布功能。
主题词 C/S(客户/服务器) 、数据完整性、网络I/O 、处理逻辑
中图法分类
第一作者简介 李小庆,男,1977年生,1998毕业于石油大学(华东)计算机科学系,现为石油大学(北京)人工智能中心硕士研究生,主要从事大型数据库应用系统的开发。
引言
90年代以来,随着网络技术和数据库技术的飞速发展,采用分布式环境下的客户/服务器(C/S)体系结构逐渐成为开发数据库应用系统和MIS系统的主流。C/S体系结构包括两层含义,其一指硬件的C/S结构,其二指软件的C/S结构。随着软件规模日趋庞大,结构日趋复杂,设计合理的软件体系结构显得越来越重要。软件C/S结构是指将一个应用系统按照逻辑功能分成若干组成部分,例如用户界面、表示逻辑、用户逻辑、数据约束等,这些功能组成部分由客户软件和服务器软件分别承担。实际应用中,用户软件和服务器软件有相当部分功能存在重复和交叉,服务器能实现的一些功能,客户软件通过一定的处理逻辑也能实现,但有时应用的功能不合理分布时,则会降低整个应用系统的性能,例如,一个设计不好的应用程序没有充分利用数据库的存储过程,以至要执行过多的网络I/O,使网络负载过重。所以在开发服务器软件和客户软件时,如能明确二者的功能,并能在它们之间实现合理的功能分配,对开发大型数据库系统和MIS系统具有重要意义。本文以当前开发C/S应用程序的最流行的数据库管理系统ORACLE7和数据库应用开发工具PB6来论述这一问题。
数据库服务器可以实现的功能
在分布式C/S环境下,数据库服务器指以ORACLE作为后台所实现的数据库管理功能。通常,它侧重于对数据库系统进行管理和维护,其功能主要包括数据的完整性、并发性和安全性等方面。
数据完整性
数据的完整性,是指按照某些规则来确定数据是否正确和可用,它可分为内部规则和业务规则。关系模型的内部规则由域完整性、实体完整性和关系完整性等组成,业务规则则是根据数据在实际应用中对数据的要求而制定的规则。
1、内部规则
域完整性
域完整性关系是指表中的任一数据都属于列的成员,表中不含任何无意义或非法的数据。ORACLE7中,使用列的数据类型来实现域的完整性,对于表中的每一列都要正确指出数据类型。
实体完整性
实体完整性是指在一个关系表中能唯一地识别一条记录,不存在两条相同的记录。ORACLE7中用主键来保证实体完整性。
关系完整性
关系完整性是指关系数据库中一个关系的一列或一组列的值引用了另一关系中一列或一组列的值。在数据库内容发生变化时,两值必须保持匹配。ORACLE7用外键来实现这一功能。
业务规则
每一个数据库根据实际应用情况都有自己的业务规则集,它与数据库固有的规则集同等重要,例如,某公司的库存量不能超过一万,否则马上要给公司主管出示警告,以停止订货。ORACLE7提供一序列的强大功能来实现定制的业务规则:
数据库触发器
应用开发中会经常遇到复杂的业务规则,这些规则如在客户应用程序中编程就显得十分复杂,而且不易满足动态响应要求,这时应考虑采用ORACLE7的触发器。触发器其实是一个存储过程,它在满足触发条件时自动触发,以执行相应过程。
存储过程、函数和包
过程和函数是由编译过的SQL语句、控制流语句、变量说明、运算符等组成的集合,它们由软件开发人员创建并存储在库中。当用户调用过程和函数时,数据库就按过程和函数预定义的操纵数据。采用过程和函数由很多优点,比如它能实现复杂的安全性和完整性的检查,能集中进行规则实施,减少网络流量,而且比较容易创建,可避免在客户应用程序重用大量的编程语句来实施业务规则。
包是一组过程或函数的集合,如果开发应用程序需要使用多个不同的过程或函数协同工作,最好将过程或函数封装在一个包中,从而可以改善过程和函数单独使用时的性能。
数据库报警
当数据库发生某些特殊情况时,如库存量超过一万,需要提示给用户,以便用户采取适当行动,ORACLE7提供了数据库报警这一功能,让库管理程序自动周期性的发出SQL语句查询需要报警的条件以给予报警。
2.2 数据的并发性、安全性和优化处理技术
说明数据并发性一个较好的例子是飞机订票系统,即如果不同地方的两个人在同一时间订票,有可能订到同一张机票,这是由于数据库中有关机票号的数据丢失了一个
文档评论(0)