改进的数据库访问方法及装置制造方法及图纸

技术编号:2891000 阅读:170 留言:0更新日期:2012-04-11 18:40
一种通过存储在主数据库管理系统(DBMS)中的查义包来改进DBMS系统的效率和安全性的方法。查询包的生成只限于那些享有该权限的用户。例如,数据库管理员对发送到DBMS系统的查询包进行初始化(100)。如果成功的话,数据库管理员向查询包中增添多个SQL语句(104)并将其发送给DBMS以关闭查询包(114)。在成功地关闭了查询包之后,将所有信息插入到主查询包列表中去(118)并在成功地插入之后,设置用户权限(122)。否则,向所有用户显示出错信息,并取消所有对数据库的操作(108)。(*该技术在2015年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及数据库管理系统,特别是指一种经过改进的对存储在数据库管理系统中的信息进行访问的方法和装置。数据库普遍应用于商业环境中。在小型的商业业务中通常使用驻留在个人计算机中的数据库管理系统(DBMS),记录诸如货存或客户清单等数据。为了实现这种用途,人们采用了可在个人计算机上使用的小型商业上获得的DBMS系统。其中包括如Microsoft公司的Access及Borland公司的Paradox。通常,这些的小型DBMS系统适合在那些规模较小、访问数据的用户相对较少的商业环境中应用。在这种情况下,从DBMS系统中获取数据的速度是可以被接受的。而且,因为对运行DBMS系统的个人计算机所进行的访问能够被适当地控制起来,所以,DBMS系统中存储的数据是相当安全的。然而,对于使用庞大的DBMS系统的大型商业业务来说,数据的访问速度和安全性是一个非常重要的问题。例如,在大型的财务机构中,保存了与上百万人有关的财务信息,可能会有成百上千的人同时要求访问数据,访问的速度就可能不够令人满意。此外,对于一个有成千上万个“哑终端”经常处于不安全环境中的大型DBMS系统来说,数据安全性也是一个重要的问题。比如,一个银行可能保存着许多敏感的金融信息,关系到成百万独立帐户与/或顾客。这种信息应该只对“需要了解”的DBMS系统用户开放。进一步来说,经常会发生这种情况,不同类型的用户可能需要数据库中不同种类的信息。例如,一种类型的用户如银行出纳员,需要客户的帐户收支结余情况,而一个信贷员则需要有关客户资信情况的信息。因此,只有特定类型的用户才能被允许访问数据库中特定种类的信息。本专利技术以交互方式生成一组存储在DBMS主系统中的查询包。查询包的生成只局限于对那些有权这样做的用户。具有代表性地,只有DBMS系统的数据库管理员才有这种权力。查询包包括一个或多个预先编译好的程序段。每个程序段都是经过预编译的单独的SQL语句。每个查询包都具有与之相关的权限表,它列举了能够调用该查询包中任何程序段的每个单个用户或用户类别。经过系统地制定出一系列查询包——这里的每个包都是为某一类特定用户专门设计的,DBMS系统的数据安全性得到了增强。调用包中存储的预编译SQL语句进而会显著地缩短访问时间。而且,数据库管理员和用户可以在一个用户友好的界面中交互地生成和使用查询包。根据本专利技术的其它方面,主DBMS系统是一个分布式数据库结构(DRDA)的主从(compliant)DBMS系统,其中储存着查询包。数据库管理员通过一组发送到DRDA主从DBMS系统中去的指令在工作站中制定查询包。根据本专利技术的其它方面,每个查询包的权限表存储在主DBMS系统中。通过参考下面的详细说明和附图,上述本专利技术的特点及许多附带的优点将会变得更加易于接受和理解。附图说明图1是一个驻留在大型主计算机中的数据库管理系统的示意图,该主机用网络联接了各种用户工作站。图2是描述查询包结构的示意图。图3是描述由数据库管理员生成一个新查询包的方法的流程图。图4A-4B是在生成一个查询包时数据库管理员所见到的屏幕显示。图5A-5C是在生成一个查询包时数据库管理员所见到的屏幕显示。图6是执行查询包中的程序时用户所见到的屏幕显示。图7是数据库管理员给一个查询包赋予用户权限时所见到的屏幕显示。图8是描述查询包执行方法的流程图。最佳实施方案的详细描述图1是一个典型的大规模数据库管理系统(DBMS)11的示意图,该系统包括了一个大型计算机13和若干用户工作站15。大型机13以IBM3090为例,或者用一个小型机如AS/400来代替。工作站15是用网络联系起来访问大型机13的独立的个人计算机。在最佳实施例中,用户工作站15是与IBM兼容的个人计算机,其中装有许多应用软件,如Excel、Lotus 1-2-3或Microsoft Word。正如下面将要进一步描述的,应用软件的用户需要访问驻留在大型机13中的DBMS系统中所存数据的情况是非常普遍的。而且,虽然图1中只显示了3个用户工作站15,但在大型DBMS系统中,大型机13会以网络联接上百万个用户工作站15。实际上,正如下面将要进一步详细说明的那样,本专利技术比现有的大型DBMS系统具有更大的优点。大型机13也被当作主计算机,并储存驻留其中的DBMS系统中的数据。例如,大型机13可能会安装著名的DB/2的DBMS系统。根据操作用户工作站15的用户所发出的指令,可以完成对大型机13中数据的访问。如上所述,用户工作站15在典型情况下是运行本地应用程序的个人计算机。用户工作站15也有可能运行本地主访问软件,如Wall Data公司的RUMBA。总之,大多数有能力从远程主DBMS系统输入数据的应用软件在标准化的指令语言和语法的基础上,都能做到这一点。如本领域技术熟练的人员所知,著名的结构化查询语言(SQL)或其微小的修改现在已经成为事实上的标准。SQL是一组指令和语法规则,用于访问和修改DBMS系统中的数据。为了更进一步了解SQL,读者可以参考“A Guideto the SQL Standard”,作者为C.J.Date,出版者是Addison-Wesley(1989年第2版)。本专利技术允许用户工作站15快速访问驻留在大型机13中的DBMS系统中所存储的数据,还提供了增强的安全性。概括地说,本专利技术可以生成一组储存在DBMS系统中查询包,该DBMS系统驻留在大型机13中。查询包的生成仅局限于那些享有该权限的用户,有代表性地,只有DBMS系统的数据库管理员有此权力。如技术上为人所知的,数据库管理员是负责DBMS系统整体维护和操作的个体。查询包包括一组程序段。每个程序段是一个单独的经过预编译的SQL语句。一个预编译SQL语句也称作一个“静态”语句。虽然使用查询包这个名称,但这些包中可以包含任何SQL语句,而不仅仅是象“SELECT”这样的“查询”类语句。进而,每个查询包都与一个权限表联系在一起,这个权限表列举出了每一个能够调用查询包中任何程序段的个体用户或用户类型。该用于查询包的权限表也储存在驻留在大型机13中的DBMS系统中。经过系统地制定出一系列查询包——这里的每个包都是为某一类特定用户专门设计的,DBMS系统的数据安全性得到了增强。进而通过预编译的静态语句也显著地缩短了访问DBMS系统数据的时间。而且,数据库管理员和用户可以在一个用户友好的界面中交互地生成和使用查询包。在此之前,为了便于生成预编译语句,复杂的源代码段——典型地使用第三代语言,如COBOL或PL/I,会被写出并安装在大型机13中。在最佳实施方案中,用户工作站15中的一个被设计为供数据库管理员使用的安全的工作站。只有数据库管理员能访问此工作站,因此,只有数据库管理员能制定新的查询包或修改一个现存的查询包。或者,数据库管理员可以通过用其用户标识和密码“登录”到DBMS系统,从而访问任何工作站15。因此,可以认为很多只允许数据库管理员生成或修改查询包的方法都是可行的。下面是图2,它示意性地描绘了一个作为例子的查询包21。如上所述,包中每个独立的SQL语句被称为程序段23a-e。一个查询包可以包括几十甚至几百个单独的程序段,这取决于应用。每个程序段23a-e,如程序段23a,是一个在数据库本文档来自技高网...

【技术保护点】
一种提高数据库系统效率的方法,所述的数据库系统包括一个驻留在主机中的数据库管理系统(DBMS),所述的DBMS系统与一组工作站以可通信的方式联接在一起,所述的DBMS系统储存可以通过所述的工作站进行访问的信息,所述的方法包括以下步骤:( a)、生成至少一个查询包,所述的查询包包括一组程序段,所述的程序段是预编译过的静态语句,当它们被DBMS系统执行时,操纵储存在所述的DBMS系统中的所述的信息,并且(b)、把每个查询包与一个权限表联系在一起,所述的权限表列举出一组可以访 问所述的查询包的预定的用户,所述的查询包中所述的预定用户组能够通过所述的工作站调用所述的查询包中所述的程序段,因而能够操纵储存在所述DBMS系统中的所述信息。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:余洪利音译托马斯C米特什尔小阿尔伯特詹姆斯尼科利
申请(专利权)人:瓦尔数据公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1