多层次数据库系统与建立该多层次数据库系统的方法技术方案

技术编号:2847319 阅读:264 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种可解决数据库升级风险的数据库系统及其建立方法,利用混合多种不同层次的数据库结构设计,以在升级数据库时能维持原始程序的数据及保持系统的完整性。在不需更动实体数据结构的条件下,通过应用程序于索引数据层针对实体数据建立索引数据表以进行数据及字段的搜寻、建立、删除及修改。

【技术实现步骤摘要】

本专利技术涉及一种数据库系统结构,特别是涉及一种适用于数据库升级的多层次数据库系统结构。
技术介绍
近年来,随着多媒体技术、空间数据库技术和计算机网络的快速发展,数据库系统的发展十分迅速,应用领域愈来愈广,企业单位、政府部门的行政管理、办公自动化、企业生产计划管理、银行财务管理、医院病房病历管理、图书馆管理、气象预报、地理信息系统(GIS)、电子商务等等都离不开数据库系统。一方面,一些较成熟的技术,如各种大、中、小和微型计算机数据库管理系统和一些传统的数据库设计方法已付诸应用层面;另一方面,尚有许多理论及实际问题极待开发和探索,如空间数据库、多媒体数据库、网络数据库、智能数据库等。特别是网络数据库的理论和技术问题正成为数据库研究的一个热门研究领域,相较之下,传统的数据库技术和系统便显得力不从心,这也对传统的技术和研究开发工作提出了挑战。从1970年代末期以来,几乎所有的数据库系统的发展都以关系型数据库系统(relational database system)为主轴。事实上,关系型的作法是今日的主流,而关系型模型成为数据库领域中最重要的发展也是无庸置疑的。简单的说,关系型数据库系统就是1.使用者所看到的数据都是表格。2.使用者可使用的运算(例如数据的撷取)都是从旧的表格中产生新的表格。例如,有些运算子(operator)用来撷取表格中的某些横列成为一个子集合,另有些运算子则用来选取表格中的直行成为子集合,当然,表格中横列的子集合及直行的子集合可以合起来构成一个新的表格。关系型数据库的所以如此受欢迎,主要原因是其建立在严格的数学概念基础上(以「关系运算」为基础),无论数据库内的实体(entity)或实体之间都用关系来表示,对数据的检索结果也是一种关系(即表格),因此关系型数据库的概念单一,其数据结构也显得相当简单、清晰。此外关系型数据库中关系表格的存取路径对使用者而言是公开的,其具备了更高的数据独立性、更加的安全保密性,亦简化了数据库开发建立的工作。总结来说,关系型数据表的优点在于对结构化数据关连的定义和控制十分详细。然而关系型数据库的缺点则是缺乏弹性,一旦数据的关联发生异动,则牵一发而动全身,对应程序的修改是相当费时费力。通常关系型数据库在两个独立的数据表格(data table)之外还需要建立一个关系表格(relationaltable),以在数据库表格中间设定主键(primary key)与其它附属键(foreignkey)的关联性。请参阅图1。图1为一现有的关系型数据库B1示意图。关系型数据库B1包含二数据表格10及表格20,其中表格10中含有数据K1,表格20中含有数据K2。此外,根据数据K1及数据K2的关系另建立一表格30来表示。建立关系表格的好处在于搜寻上如果有关系式的建立,所有相关的附属数据可以非常快地找出来;但是相对而言,使用关系表格的一个非常大的缺点就是当需要新增、删除、修改数据,甚至需要新增、删除、修改数据库时,数据之间的关联性会使得执行这些任务变得非常复杂、耗时且容易出错。举例而言,当需要删除数据时,必须先将相关联的附属关系数据一一删除后才可以删除原本要删除的数据。如图1所示,如果我们要删除表格20中的数据K2,必须先将表格30中所有有关数据K2的数据删除才可以将表格20中的数据K2删除。从程序设计师的观点来看,前后数据的变动关系会使得程序设计变得异常困难;也往往在数据更新的过程中,因为修正程序的错误,而使系统产生错误的讯息,甚至造成整个系统的瘫痪。此外,因为各数据彼此之间的关联性很重要,即使是数据库的硬件有些微的差错,也可能遗失各数据之间的关联或破坏了该关联性数据库,造成整个系统停摆。如此一来,虽然关联性数据库增加了数据搜寻上的便利性,却因此牺牲了数据新增、删除、修改的效率,并且增加了程序本身不必要的复杂度;更严重的是,复杂的关系型数据库结构的修改成了一近乎不可能的工程。请继续参考图1。一个具有三个数据表格的关系型数据库在针对数据本身作处理的过程中,若处理的数据涉及键值数据(key)时,不管是新增、删除或修改数据,皆需要三个步骤。例如 (一)新增数据的步骤步骤一于表格10新增数据K1步骤二于表格20新增数据K2步骤三于表格30新增数据K1与数据K2的关联数据(二)删除数据的步骤步骤一删除表格30中数据K1与数据K2的关联数据步骤二删除表格10中数据K1步骤三删除表格20中数据K2(三)修改数据(键值数据)的步骤步骤一修改表格30中数据K1与数据K2的关联数据步骤二修改表格10中的数据K1步骤三修改表格20中的数据K2上述关于新增、删除与修改数据的步骤只有涉及表格30与表格10、表格20之间的关系,尚未包含表格30与其它表格的关系。如果关系型数据库的具有n个数据表格,则我们可以预期如表格30的关系表格最多将有C2n种情形。在表格数量持续增加时,单单进行简单的数据或表格的新增、删除或修改的运算量就十分惊人。另一方面,由于C++等面向对象(object oriented)的程序相继问世,几乎所有程序设计都以面向对象为设计标准。面向对象设计的概念在于将所有最基本程序分析的组件转换成对象与对象的相互行为。也因为程序设计的基本组件变成可分析的概念,UML(unified modeling language)语言一类的语言便相继被专利技术与强化来支持面向对象程序的简化。然而很不幸的,目前在程序语言被强化成面向对象观念同时,数据库的运用虽有所谓面向对象的数据库来配合,但是仍为了在搜寻上与稳定度的考虑而采用关系型数据库。正因为如此,无论是面向对象的数据库或关系型数据库,当遭遇系统升级的需求时,数据库的升级都会遭到无比的风险。总括而言,这些风险来自(1)数据库表格的字段往往会因为升级的需求而增加,而在关系型数据库的结构下,「增加字段」会更动到数据库基本结构。(2)关系型数据库的数据表格会因为主表格的变更而跟着被更动,同样也会更动到数据库的基本结构。(3)当数据库版本变更时,数据库的数据格式可能无法兼容。由于这些数据库设计的风险,大部分信息人员往往视移动关系型数据库的数据为畏途,即使数据库效能已经不敷使用,也只利用调教效能(performance tuning)的方式试图解决。
技术实现思路
因此,本专利技术的主要目的是提供一种可解决数据库升级风险的多层次数据库系统。本专利技术提供一种多层次的数据库系统,其包含有一实体数据层以及一索引数据层。该实体数据层包含一数据表,该数据表记录有该数据库系统的多笔对象数据,该数据库系统的数据表的每一笔对象数据包含多个数据项,该对象数据的该多个数据项的每一数据项具有一属性名称,一对象识别码,一项目内容及一索引代码。该索引数据层记录有索引数据,用来据以搜寻该多个数据项的索引代码以取得该数据库系统中符合应用程序所要求的对象数据。本专利技术还提供一种建立多层次数据库系统的方法,其包含下列步骤产生一实体数据层,其包含一数据表,该数据表记录有该数据库系统的多笔对象数据,该数据库系统的数据表的每一笔对象数据包含多个数据项,该对象数据的该多个数据项的每一数据项具有一属性名称,一对象识别码,一项目内容及一索引代码;以及依据一索引数据层的索引数据,搜寻该多个数据项的索引代码以取得该数据库本文档来自技高网
...

【技术保护点】
一种多层次的数据库系统,其包含有:一实体数据层,其包含一数据表,该数据表记录有该数据库系统的多笔对象数据,该数据库系统的数据表的每一笔对象数据包含多个数据项,该对象数据的该多个数据项的每一数据项具有一属性名称,一对象识别码,一项目内 容及一索引代码;以及一索引数据层,其记录有索引数据,用来据以搜寻该多个数据项的索引代码以取得该数据库系统中符合应用程序所要求的对象数据。

【技术特征摘要】
1.一种多层次的数据库系统,其包含有一实体数据层,其包含一数据表,该数据表记录有该数据库系统的多笔对象数据,该数据库系统的数据表的每一笔对象数据包含多个数据项,该对象数据的该多个数据项的每一数据项具有一属性名称,一对象识别码,一项目内容及一索引代码;以及一索引数据层,其记录有索引数据,用来据以搜寻该多个数据项的索引代码以取得该数据库系统中符合应用程序所要求的对象数据。2.如权利要求1所述的数据库系统,其还包含多个动态数据层,位于该索引数据层与该实体数据层之间。3.如权利要求1所述的数据库系统,其中该实体数据层包含多个丛集,每一丛集包含多个数据表。4.如权利要求3所述的数据库系统,其中该多个丛集储存于多个经由一网络系统相连的计算机主机中。5.如权利要求3所述的数据库系统,其中该多个丛集的每一丛集还具有索引数据。6.如权利要求1所述的数据库系统,其中该索引数据层包含多个索引数据表,每一索引数据表包含多笔索引数据。7.一种建立多层次数据库系统的方法,其包含下列步骤(a)产生一实体数据层,其包含一数据表,该数据表记录有该数据库系统的多笔对象数据,该数据库系统的数据表的每一笔对象数据包含多个数据项,该对象数据的该多个数据项的每一数据项具有一属性名称,一对象识别码,一项目内容及一索引代码;以及(b)依据一索引数据...

【专利技术属性】
技术研发人员:高裕翔苏汉良叶志强叶金宽
申请(专利权)人:北京数码大方科技有限公司
类型:发明
国别省市:11[]

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

1