用于提供数据的树形结构视图的方法

文档序号:6492822阅读:736来源:国知局
专利名称:用于提供数据的树形结构视图的方法
技术领域
本发明涉及一种提供数据库内数据项目的树形结构视图的方法,其中每个数据项目都涉及一个或多个对象类型,这里每个对象类型都具有多种属性。
树形结构视图或树形结构广泛地用于各种软件应用程序中。例如文件管理器中的目录结构、包括子菜单的菜单系统、联机文档中的内容组织等。当树形结构呈现给用户时,它们通常显示为缩进列表,在第一行从未缩进的根元素(例如主目录)开始,接着是每个都位于独立的随后行上的缩进的子元素。每个子元素也可以还有子元素,其刚好显示在与下一个等级的缩进相关的子元素下面。
一般,用户可以展开或折叠特殊元素来显示或隐藏某个特定(子)元素的子元素。在任一等级上“选中”一个元素通常会有一些特殊的效果,例如,在文件管理器中选中一个(子)目录会显示文件,它包含在独立窗口中。有时,元素的选择产生了它被展开或者另一效果,这取决于它是否具有子元素。例如,菜单项目的选择可引起显示一个子菜单,或者如果它没有子菜单,则会调用相应的函数。
已知的树形结构通常是预定义的,且利用了树中对象之间预定义的从属关系。例如,大多数文件管理器都是基于目录和子目录的概念,通过树形显示的方式来直观表现这种从属的关系。这种树形可以有不确定的等级数目。更复杂的系统,例如分等级的数据库系统,在一个树形结构中允许多种对象类型,如学生数据、从属于学生数据的课程登记数据和从属于课程登记数据的考试数据。另一个例子是患者数据、从属于患者数据的检查数据......。利用这些系统,使用的数据模型规定了应该如何定义树形结构以及应该如何将该树形结构直观表现给用户。树形结构常具有固定的最大深度,用户对它们定义影响很小,特别是唯一的选项是展开或折叠某些树形结构中的某些等级。
现在,即语义或面向的对象,数据库系统,复杂的关系可以存在于多种对象类型中,这些关系中的许多种通常都不以从属关系来分类。尤其是这种1∶1和n∶m的关系(在1∶n的关系中,常常但非总是提出某种形式的对象类型的分等级结构)。尽管如此,树形结构用于直观表现这样复杂的关系以使用户能够研究和理解它们,还是非常有用的。
例如,在公司数据库的中,提出一种部门对象或者项目对象的树形结构表示是很有用的。这种视图典型地被硬编码在数据库系统的顶端的应用程序中。这样的编码花费大且耗时,同时不可能预见所有可能的用户需求。因此,产生的系统会为终端用户提供很少的灵活性,且新用户的需求必须由一位数据库管理员来完成,典型地是IT专业人员。
US 6,341,280 B1公开了一种内联树形过滤器,其被配置以给出树形结构的用户定义视图,这里内联树形过滤器可以被应用于传统的接口元素,例如分等级的树形浏览器。US 6,341,280 B1描述了一种技术方案,能够使用户有选择性地选择他/她想要显示的数据,尽管不能修改树形浏览器的状态和交互作用。然而,这种树形结构是固定的,同时过滤机构工作以提供该固定的树形结构中被选中部分的内容的过滤视图。甚至这种过滤操作还包括向树形结构删除或添加子节点,但是US 6,341,280 B1并没有提供一种定义树形结构本身的方法。
因此,本发明的目的是提供一种前面的介绍中提及的方法,这种方法允许用户定义树形视图表示。
当该方法包括以下步骤时可以实现该目的即以链接属性来显示数据库中任一种对象类型和与其相关的其他对象类型之间的至少一种关系,该链接属性可以展开,即与具有一个或多个更进一步的属性的对象类型相关;显示一种对象类型及其一个(或多个)属性;为用户提供展开任意链接属性的可能性,以便与展开的一个(或多个)链接属性相关的对象类型的一个或多个更进一步的属性也被显示;基于显示的一个(或多个)属性为用户提供定义数据视图的可能性;以及显示与在用户定义的数据视图中的一个(或多个)属性有关的数据项目。
由此,不需要强迫用户以固定的结构来浏览数据库中的数据项目,而是可以定义将被显示的数据项目的树形视图表示。这也便于数据库管理员的工作,不再需要预见关于数据项目的显示的用户需求。
一种向用户提供展开任意链接属性的可能性的方法是以不同于显示其它属性种类的方法来显示链接属性,且通过例如鼠标的定点装置来点击链接属性来便于展开链接属性。
一种向用户提供展开任意链接属性的可能性的方法是使他/她能够标记在显示的一个(或多个)属性中的某种(或某些)属性,该某种(或某些)属性与要被显示的数据项目有关。这种可能性可以是例如通过检验栏的方式而提供。
应该注意的是,项目属性包括基本属性和链接属性,基本属性包括关于与其相关的对象类型的常用信息,链接属性将一种对象类型与一个或多个其它的数据类型相联系。例如,基本属性可以是“名字”和“年龄”,对象类型的链接属性“人”可能涉及这个人所在公司的对象类型“部门”。在此无论何时使用术语“属性”,都意味着包括基础属性和链接属性。
在根据本发明所述方法的一种优选实施例中,该方法进一步包括为用户提供可以选择要以树形结构视图的根来显示的对象类型的可能性的步骤。这在数据库中提供了数据项目的真实的用户可定义视图。
根据本发明所述方法的优选实施例,该方法进一步包括在缩进的视图中显示对象类型的属性的步骤。这给出了已显示的数据项目的一种清晰概述。
根据本发明所述方法的优选实施例,与一个(或多个)属性相关的数据项目被显示在屏幕第一部分中以及在屏幕第二部分上将该一个(或多个)属性显示给用户。这便于用户选择包含将被显示的数据项目的对象类型,并且也便于数据项目的合理排列的显示。
优选地,根据本发明的方法通过使用数据库的数据库模型来执行。
优选地,根据本发明的方法可以在个人计算机、个人数字助理、机顶盒或电视机中实现。数据的显示出现在相应设备的屏幕上。
根据本发明所述方法的优选实施例,该方法进一步包括为用户提供通过标记通过一个或多个链接属性的循环路径来定义递归视图的可能性。由此,用户可以定义数据项目的递归视图。
以下结合优选实施例并参考附图,本发明可以更充分地被理解,这里

图1和图2示出了传统的树形结构表示;图3和图4示出了根据本发明来定义数据库视图的实施例;图5示出了根据本发明的数据库视图的数据面板;图6至图9示出了根据本发明来定义递归数据库视图的实施例;图10和图11示出了根据本发明的数据库视图的数据面板的其他实施例;以及图12是一个流程图,示出了根据本发明所述方法的步骤。
贯穿整个描述,相同的参考数字表示相同的元素。
图1和图2示出了一种显示器或屏幕10上的数据项目的传统树形结构表示。显示器或屏幕10可以是显示器或任意适当电子单元的某一部分,例如像个人计算机、个人数字助理、机顶盒或电视机。文本15以一种树形结构表示而排列显示在显示器10上。图1和图2中的文本15是公司数据库中的部门对象表示的一个例子。在图1中,根节点表示在公司中的部门名称;在图2中,根节点被替换为项目对象。图1和图2中,仅仅示出了部门、项目和雇员的假设名称,但是很自然地也同样可以显示其它属性,其被表示为“......”。这种视图的结构典型地被硬编码于数据库系统顶端的应用程序中,因此用户对定义要显示的视图仅仅有很少的影响。屏幕或显示器10或图1、2中所示的部分,包括在所示的文本15中用于导航的装置11、12、13,例如向上滚动或向下滚动。
图3和图4示出了根据本发明来定义公司数据库视图的例子。图3和图4分别示出了用于定义图1和图2中分别示出的数据库视图的例子。图3示出了一种显示器或屏幕或其中包括两个面板10、20的部分位于左边的数据面板10,用来显示像文本15这样的实际数据项目,以及位于右边的视图面板20,用于使用户在数据项目上定义期望的视图。面板10、20的大小和布局只是示范性的且不限定本发明的范围。图3中,视图面板20示出了像文本25这样的对象类型和属性,例如“部门”作为根对象类型,具有属性“名称”、“领导”和“全体职员”,相对于根对象类型“部门”,这些属性被缩进显示。属性“名称”被选中来显示(图3中以符号“√”来表示),所以部门的名称,例如对象类型“部门”中的数据项目,在数据面板10中示出。属性“领导”和“全体职员”没有被选中。对象类型“部门”中的数据项目以未缩进文本“部门1”、“部门2”被显示在数据面板10上。在视图面板20中,属性“全体职员”是链接属性,它可以在图3的视图面板20中被展开显示为“名称”、“职能”和“项目”。在视图面板中,选中与链接属性“全体职员”有关的属性“名称”来显示,因此链接属性“全体职员”中的数据项目的名称被显示在数据面板10中,在数据面板10中表示为“雇员1”、“雇员2”,等。未选中视图面板中的属性“职能”和“项目”,但是链接属性“项目”已经被展开以显示缩进的相关对象类型的属性,即“名称”和“领导者”。这些后面的属性都被选中来显示,像“项目3”,“项目1”等以及“雇员1”,“雇员5”,“雇员2”等这样的在数据面板10中分别缩进显示的数据项目。
图4示出了根据本发明与图3类似的用于定义公司数据库视图的例子。然而,在图4中,视图面板20中的根节点是“项目”而不是图3中的“部门”,因此数据面板10中显示的数据对应于图2中显示的数据,反之,图3中的数据面板10上显示的数据对应于图1中显示的数据。图3和图4也都示出了在面板10、20上用于导航的装置11、12、13、21、22、23。然而,这些装置并不是本发明的一部分且将不会进一步详细描述。
图5示出了根据本发明的数据库视图的数据面板10。数据面板10包括以文本15显示的数据项目且以标题排列,它被细分为三个等级,每一个等级由两行组成,第一行表示链接该等级与上一等级的链接属性,且第二行表示属性,其相关的数据项目实际上显示在数据面板10上。图5中的表格标题作为进一步与用户的通信,有关如何定义树(利用图5中未示出的视图面板20)。标题区域内用户可能具有一些有限的控制(例如移动某个等级或递归),但是该区域缺少视图面板的全部功能(例如,所有可用属性的列表)来能够生成完全用户定义的数据库视图。
图6至图9示出了根据本发明的用于定义数据库视图的其他可替换例子。就目前描述的例子来说,该树形结构具有一个固定的等级数目。然而,在许多应用中,像目录结构等,树形结构会具有不确定的深度。本发明提供一种定义这种称为数据库递归视图的良好方法。图6示出了数据面板10和视图面板20,响应于用户表示了他(她)想要定义递归视图,例如在家谱数据库中。在视图面板20中,用户可以在一个链接属性和例如根或者前一个链接属性的更高一等级之间建立一种连接。为用户提供这种可能性的一种可能方法是通过提供图6中所描述的检验栏26。这些检验栏26仅当可能存在经由链接属性的递归时才显示在视图面板20上。在这个例子中,递归可能通过链接属性“孩子”和“父母”但是不会通过链接属性“国家”。当被选中时,检验栏关闭对应链接属性和上一等级之间的连接。替代检验栏,用于连接两个等级的任何其他装置都可以被应用,例如在它们之间画一条线、拖动一个到另一个,等。
在图6所示的视图面板20中,分别与“孩子”和“父母”相关的两个检验栏26都没有被选中,因此数据面板没有显示递归视图。属性“姓名”和“生日”被选中,结果显示“人物1”“人物2”等的姓名及其各自的生日,其在数据面板10上表示为“1/1/1...”。在图7中,属性“姓名”和“生日”再次被选中,结果再次显示“人物1”、“人物2”等的姓名及其各自的生日,其在数据面板10上表示为“1/1/1...”。此外,视图面板20上的检验栏“孩子”被选中,结果产生了在数据面板10上显示的递归视图,这里“姓名”和“生日”的显示被应用到根“人物”中的所有孩子以及人的孙子。每个等级都以成比例的缩进显示。
图8与图7相似,除了图8的数据面板20中检验栏“父母”被选中而不是图7中的检验栏“孩子”被选中。这给出了通过属性“父母”的一种递归视图,其中只有很微小的变化,即涉及关于属性“姓名”的数据项目的文本具有不同的缩进,相反,与属性“生日”有关的特性在所有行中以相同的缩进来显示。这将更方便于用户,同时也仅仅作为一个例子来显示;它是应用设计的一种方式且适宜用户调整。图7和图8示出的这两个相对的数据库,在时间上一个发生在前而另一个在后,这仅仅只需要点击鼠标就可以实现。
用户也可以在定义递归视图之前选择第一次展开链接属性,如图9中描述的。因此,用户可以定义树形结构中不同等级的不同视图。通过选中相应的检验栏,用户例如可以仅在最高等级上选择以显示属性“生日”、交替显示和隐藏等级、显示除了最高级之外的每一个等级的性别等。此外,为每一个等级分别设置缩进;不同的分类和/或过滤可以应用到不同的等级(例如仅仅对于‘女性行’),等。一旦被展开,链接属性就不再作为递归的候选,因为所包括的数据项目上的视图现在已经被循环中的上次视图确定。
也可能当另一个链接属性在同一个或更高等级展开的同时,定义通过某个链接属性的递归。选中图9中与在最高等级上属性“父母”有关的检验栏(即,最低的检验栏),这样会以缩进的方式显示父母和他们的孩子、祖父母和他们的孩子等的小型树的树形。虽然用户可以单独地调整缩进,此特征可能被抑制,因为两种混合缩进方式中可能会混淆(例如不显示最低检验栏)。
图10和图11示出了根据本发明的数据库视图的数据面板10的其他例子。图10示出了一种在数据面板10的标题区域内表示递归树形结构的可能方法。
此外,还可能同时定义两个或更多的递归。如果例如某个人的父母没有以属性“父母”的方式被显示,而是通过两个截然不同的属性“父亲”和“母亲”来显示,则用户可以全部选中,结果显示整个家庭树,如图11所示。
应该注意的是,选中检验栏以及标记将要显示的属性、展开和/或显示在递归视图中,可以通过任何适当的装置来实现,例如定点设备,例如鼠标、光标、触摸屏上的触摸,等。
图12是一个流程图,示出了根据本发明的方法的步骤。该方法可以在数据库的数据库模型中实现,因为数据库的结构本身是固定的。该数据库可以是任何类型的数据库,例如面向对象或关系数据库。流程从步骤101开始,其中一种对象类型和在数据库中与其相关的其他对象类型之间的每一关系以链接属性来表示。
接下来,步骤102,向用户显示对象类型及其一个(或多个)属性,典型地显示在电子设备的屏幕上或显示器上。每个链接属性都可以被展开,这意味着它包括一个或多个更进一步的与链接属性有关的对象类型的属性。例如检验栏能表示可展开的链接属性,或者以超链接的形式显示链接属性的名称,但是当然任何其它适当的方法都可以用来显示这个。
在步骤103中,用户被允许展开任何链接属性,例如通过提供用户选中的检验栏。在步骤104中,用户被允许定义他(她)想要看到的数据的视图。这个可以通过允许用户标记包括将被显示数据项目的属性来实现。在优选实施例中,通过具有显示器或屏幕的电子设备来实现该方法,例如个人计算机、个人数字助理、机顶盒或电视机,并且优选地,根据本发明的方法提供了显示器或屏幕上两个截然不同部分的信息一部分是用于显示数据的数据面板,另一部分是用于显示属性的视图面板。步骤105,在视图面板中,用户可以定义数据项目的需要的视图,其以适当的排列显示在数据面板上。
如上所述,根据本发明的方法可以用于任何类型的数据库中。在关系数据库中,对象类型对应于表格,即记录类型,同时属性对应于表格列。单链接属性,即涉及最多一个对象的属性,可以直接被定义来显示包括另一个表格的外键码的表格列。多链接属性,即涉及一组对象的属性,在关系模型中没有直接的对应。多链接属性可以被定义于主键码以另一表格的外键码形式出现的表格中。事实上,加入一个虚拟列,它的范围可以包括多个外键码。多链接属性也同样可以被定义来显示三个或更多表格之间的关系,例如,如果表格中某一个是辅助表格以建立m∶n的关系。
权利要求
1.一种用于提供数据库内数据项目的树形结构视图的方法,其中每个数据项目与一个或多个对象类型相关,每个对象类型具有任意数目(包括零)个属性,且所述方法包括以链接属性来显示数据库中任一种对象类型和与其相关的其他对象类型之间的至少一种关系,所述链接属性可以展开,即与具有一个或多个更进一步的属性的对象类型相关;显示对象类型及其属性;为用户提供展开任意链接属性的可能性,以便与展开的链接属性相关的数据类型的一个或多个更进一步的属性也被显示;且基于显示的属性,为用户提供定义数据的视图的可能性;以及显示与在用户定义的数据视图中的属性有关的数据项目。
2.根据权利要求1的方法,所述方法进一步包括步骤为用户提供选择一种要被显示的对象类型作为树形结构视图的根的可能性。
3.根据权利要求1的方法,所述方法进一步包括步骤显示缩进视图中对象类型的属性。
4.根据权利要求1的方法,其中与属性相关的数据项目被显示在屏幕的第一部分,同时其中所述属性在屏幕的第二部分上被显示给用户。
5.根据权利要求1的方法,其中通过利用数据库的数据库模型来执行所述方法。
6.根据权利要求1的方法,其中在个人计算机、个人数字助理、机顶盒或在电视机中执行所述方法。
7.根据权利要求1的方法,其中所述方法进一步包括步骤标记通过一个或多个链接属性的递归路径,向用户提供定义递归视图的可能性。
8.一种用于执行权利要求1至7中任何一个所述方法的设备。
9.一种用于执行权利要求1至7中任何一个所述方法的系统。
10.利用权利要求1至7中任何一个所述方法来显示来自数据库的用户定义的数据视图。
全文摘要
本发明涉及一种使数据库的用户能够定义在数据库中的数据项目的树形视图表示的方法。数据库中的数据项目涉及对象类型和属性。属性可以是基础属性或链接属性,这里,基础属性包括关于与其相关的对象类型的常用信息,其中由本发明提出链接属性的概念。链接属性使一个对象类型与一个或多个其它对象类型相联系,并提供使用户能够定义在树形结构的数据库中的数据项目的需要的表示的可能性。本发明使用户能够选择树形结构的根并且定义递归数据库视图。
文档编号G06F9/44GK1849602SQ200480025700
公开日2006年10月18日 申请日期2004年8月27日 优先权日2003年9月9日
发明者F·尤坦博加德 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1