买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种ER图的布局方法和装置_创新先进技术有限公司_201810682536.4 

申请/专利权人:创新先进技术有限公司

申请日:2018-06-27

公开(公告)日:2021-07-20

公开(公告)号:CN109086315B

主分类号:G06F16/28(20190101)

分类号:G06F16/28(20190101)

优先权:

专利状态码:有效-授权

法律状态:2021.07.20#授权;2019.01.18#实质审查的生效;2018.12.25#公开

摘要:本说明书实施例提供一种ER图的布局方法和装置,其中,方法可以包括:根据待布局的ER图,获得所述ER图中的第一元素和第二元素;所述第一元素与ER图中的其他元素具有关联,所述第二元素是独立元素;确定包含多个第一元素以及元素间关联的关系图;由所述关系图,生成包括所述多个第一元素的最小生成树;将所述最小生成树转换成径向树;根据所述径向树在布局界面中布局各个第一元素的位置,并在所述布局界面显示各个第一元素的元素间关联以及所述第二元素。

主权项:1.一种实体联系ER图的布局方法,所述方法包括:根据待布局的ER图,获得所述ER图中的第一元素和第二元素;所述第一元素与ER图中的其他元素具有关联,所述第二元素是独立元素;确定包含多个第一元素以及元素间关联的关系图;由所述关系图,生成包括所述多个第一元素的最小生成树;将所述最小生成树转换成径向树;根据所述径向树在布局界面中布局各个第一元素的位置,并在所述布局界面显示各个第一元素的元素间关联以及所述第二元素。

全文数据:一种ER图的布局方法和装置技术领域本公开涉及计算机技术领域,特别涉及一种ER图的布局方法和装置。背景技术ER图也称实体-联系图EntityRelationshipDiagram,提供了表示实体类型、属性和联系的方法,是用来描述现实世界的概念模型的有效方法。ER图的应用场景很多,例如,可以使用ER图表示学生与选修课之间的关系,一个学生选修了多门课程;又例如,一个员工可以同时是多个部门的经理,一个部门只能有一个经理等部门职能关系,都可以用ER图表示。但是,ER图有时比较复杂,比如,一个员工可以有多种属性,员工和部门之间可以是一对多的关系,等,用户在查看ER图中的各个实体、属性等关系时比较困难。当用户要查看ER图的关系表示,并且要依据ER图中的关系来构建其他模型时,对关系识别费时费力。那么用户可以在模型的布局界面中依靠手动拖放的方式重新布局一下ER图中各个实体、属性的位置,以使得关系的显示更加清楚和容易观察。发明内容有鉴于此,本说明书一个或多个实施例提供一种ER图的布局方法和装置,以提高ER图的布局速度。具体地,本说明书一个或多个实施例是通过如下技术方案实现的:第一方面,提供一种实体联系ER图的布局方法,所述方法包括:根据待布局的ER图,获得所述ER图中的第一元素和第二元素;所述第一元素与ER图中的其他元素具有关联,所述第二元素是独立元素;确定包含多个第一元素以及元素间关联的关系图;由所述关系图,生成包括所述多个第一元素的最小生成树;将所述最小生成树转换成径向树;根据所述径向树在布局界面中布局各个第一元素的位置,并在所述布局界面显示各个第一元素的元素间关联以及所述第二元素。第二方面,提供一种ER图的布局装置,所述装置包括:元素分类模块,用于根据待布局的ER图,获得ER图中的第一元素和第二元素;所述第一元素与ER图中的其他元素具有关联,所述第二元素是独立元素;关系确定模块,用于确定包含多个第一元素以及元素间关联的关系图;生成树模块,用于由所述关系图生成包括所述多个第一元素的最小生成树;径向树模块,用于将所述最小生成树转换成径向树;布局处理模块,用于根据所述径向树在布局界面中布局各个第一元素的位置,并在所述布局界面显示各个第一元素的元素间关联以及所述第二元素。本说明书一个或多个实施例的ER图的布局方法和装置,通过自动根据ER图生成径向树,并自动完成元素布局,提高了ER图的布局速度;并且,按照径向树的分布进行元素位置的布局,使得ER图中的元素呈辐射状分布,这种辐射状的布局特点更加有利于用户对元素关联的快速识别。附图说明为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本说明书一个或多个实施例提供的一个简单的ER图;图2为本说明书一个或多个实施例提供的一个ER图的自动布局的方法;图3为本说明书一个或多个实施例提供的一个最小生成树的示意图;图4为本说明书一个或多个实施例提供的一个径向树的示意图;图5为本说明书一个或多个实施例提供的一个布局界面的示意图;图6为本说明书一个或多个实施例提供的一个ER图的布局装置的示意图。具体实施方式为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。ER是一种用来描述现实世界的概念模型的有效方法,构成ER图的三个基本要素是实体、属性和联系。图1示例了一个简单的ER图,如图1所示:实体:客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。关键在于一个实体能与另一个实体相区别。在E-R图中用矩形表示,矩形框内写明实体名;比如,图1中所示的“公司”、“部门”、“员工”可以是各个实体。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来。例如,图1中的“公司代码”、“公司名”、“地址”都是实体“公司”的属性,“姓名”、“性别”是实体“员工”的属性。联系:联系也称关系,信息世界中反映实体内部或实体之间的关联。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来。例如,图1中的“员工”和“部门”之间的联系是“属于”,并且,n个员工属于一个部门。用户有时需要依据ER图中的关系来构建其他模型,可是由图1也可以看到,ER中的实体、属性等元素之间的关系有的很复杂,并且ER图的布局比较紧凑,用户要识别元素关系会较为困难。因此,用户可以在模型设计界面中重新对ER图中的元素进行位置布局,使得实体、属性等元素的位置不要那么紧凑,尽量的铺展开,以利于用户观察识别元素关系。本说明书至少一个实施例提供了一种ER图的自动布局的方法,一方面,该方法可以实现布局的自动执行,另一方面,布局后可以使得ER图的元素关系显示的更加清楚。图2示例了该方法的处理流程,可以包括:在步骤200中,获取待布局的ER图。例如,用户在业务模型设计中需要使用到一个ER图中的各元素关系,该ER图可以称为待布局的ER图。可以将该ER图中的各个元素布局在用于设计模型的界面上,该界面可以称为布局界面。在步骤202中,获得所述ER图中的第一元素和第二元素;所述第一元素与ER图中的其他元素具有关联,所述第二元素是独立元素。其中,所述的第一元素和第二元素中的“元素”,可以包括如下任一种:ER图中的实体、属性、以及联系。即不论是实体、属性、以及联系,都可以称为“元素”。例如,在图1中,元素“员工”与“姓名”、“性别”之间具有关联,所以“员工”可以称为第一元素;同理,“姓名”也称为第一元素。在图1的例子中,不存在第二元素,第二元素是不与ER图中的任何其他元素发生关联的元素。在步骤204中,确定包含多个第一元素以及元素间关联的关系图。在ER图中,包括所述多个第一元素以及元素间关联的部分ER图,可以称为关系图。例如,如果ER图中只包括第一元素,不包括第二元素,可以将整个ER图作为所述关系图;如果ER图中包括第一元素和第二元素,则可以将包括第一元素的那部分ER图,作为所述关系图。即关系图中不包括第二元素。例如,图1中只包括第一元素,可以将图1作为一个关系图。在步骤206中,由所述关系图,生成包括所述多个第一元素的最小生成树。本步骤中,将根据最小生成树算法,将所述关系图生成最小生成树,例如,可以采用Prime算法或者Kruskal算法得到最小生成树。其中,在最小生成树的生成过程中,需要对连接元素的边设置权值,例如,可以将具有关联的两个第一元素间的关系权值都设置为1,当然,也可以不设置为1,而是根据某种权值设定规则,对各条边的权值进行差异化设置。这里以所有关系权值均为1为例,在最小生成树的生成过程中选择最小权值时,可以由多个关系权值1中任选其中一个权值作为最小权值。最小生成树的生成算法由于是常规算法,不再详述。图3示例了一个关系图得到的最小生成树,其中,整个图G是关系图,点线示意的部分是得到的最小生成树T。该最小生成树T包括了G中的所有元素,且权值之和最小。在步骤208中,将所述最小生成树转换成径向树。本步骤中,径向树RadialTree,RT是一种以径向向外扩展的方式显示树结构的方法,是一种信息图形的类型,是以树的根节点为圆心,在圆的周围放置子节点。以图3所示的最小生成树为例,图3中的最小生成树的根节点是D。以D为圆心,将最小生成树的子节点一层层向外层展开。例如,参见图4的示意,示意了以D为圆心的多个同心圆,在第一层圆上分布有A和F,根据图3的最小生成树,该A和F是直接与D关联的节点。并且,在具体的将节点布置在圆上时,示例性的,可以由A和F两个节点将360度均分,即A-D-F是180度,当然也可以不均分。接着,在第二层同心圆上,根据图3的最小生成树,B与A直接连接,所以将B分布在该第二层同心圆上。然后,继续沿着图3的最小生成树来看,与B直接连接的节点是E,所以将E分布在第三层同心圆上。最后,再继续沿着图3的最小生成树来看,节点C和G直接与节点E连接,所以将C和G分布在第四层同心圆上。在步骤210中,根据所述径向树在布局界面中布局各个第一元素的位置。本步骤中,可以按照步骤208中生成的径向树中各个第一元素的布局,在布局界面显示所述各个第一元素。例如,根据图4的径向树,确定了各个第一元素之间的空间位置分布,可以按照该空间位置分布,将各个第一元素在图5中的布局界面上放置各个第一元素的位置,可以整体移动径向树到布局界面,且将径向树的根节点即圆心放置到布局界面的中心处,即可完成对各个第一元素的放置。如图5所示,示意了一个布局界面,A、B、D、F等各个第一元素按照径向树的布置放置在布局界面中,呈辐射状分布。在步骤212中,在所述布局界面显示各个第一元素的元素间关联以及所述第二元素。图5示意了最小生成树中表示的元素间的关联,本步骤中可以补充元素间的其他关联,例如,图3所示的关系图中示出了元素间的各个关联,比如,D和E之间的直接联系,而在最小生成树中显示了部分关联,并没有显示D和E之间的直接联系,所以可以在本步骤中根据图3所示的关系图补充元素间关联。即,根据径向树可以确定各个第一元素在布局界面中的位置放置,而后可以根据初始的关系图补充完整各个第一元素之间的关联关系。此外,如图5所示,可以分为第一区域和第二区域,其中的第二区域可以是一个矩形框,矩形框的尺寸可以预先设定。第一区域可以是布局界面中的除第二区域之外的区域,用于显示各个第一元素和元素间关联。第二区域用于显示第二元素,例如,图5中的Y1至Y3可以是第二元素。用户可以将第二元素统一都放置在第二区域,方便后续将第二元素拖放到自己想要放置的位置。第二区域也可以不设置在布局界面的下方,也可以有其他的位置设置方式,比如,也可以将第二区域放置在上方,而将各个第一元素显示在第二区域下方。本方法的ER图的自动布局方式,通过自动根据ER图生成径向树,并自动完成元素布局,提高了ER图的布局速度;并且,按照径向树的分布进行元素位置的布局,使得ER图中的元素呈辐射状分布,这种辐射状的布局特点更加有利于用户对元素关联的快速识别。为了实现上述的方法,本说明书至少一个实施例还提供了一种ER图的布局装置,如图6所示,该装置可以包括:元素分类模块61、关系确定模块62、生成树模块63、径向树模块64和布局处理模块65。元素分类模块61,用于根据待布局的ER图,获得ER图中的第一元素和第二元素;第一元素与ER图中的其他元素具有关联,所述第二元素是独立元素;关系确定模块62,用于确定包含多个第一元素以及元素间关联的关系图;生成树模块63,用于由所述关系图生成包括多个第一元素的最小生成树;径向树模块64,用于将所述最小生成树转换成径向树;布局处理模块65,用于根据所述径向树在布局界面中布局各个第一元素的位置,并在所述布局界面显示各个第一元素的元素间关联以及所述第二元素。例如,所述元素,包括如下任一种:ER图中的实体、属性、以及联系。在一个例子中,所述生成树模块63,在用于生成包括所述多个第一元素的最小生成树时,包括:将具有关联的两个第一元素间的关系权值设置为1;根据最小生成树算法,将所述关系图生成最小生成树,其中,在选择最小权值时,由多个关系权值1中任选其中一个权值作为最小权值。在一个例子中,布局处理模块65,具体用于按照所述径向树中各个第一元素的布局,在布局界面显示所述各个第一元素;并根据关系图中的元素间关联,在所述布局界面显示各个第一元素的元素间关联。上述方法实施例中所示流程中的各个步骤,其执行顺序不限制于流程图中的顺序。此外,各个步骤的描述,可以实现为软件、硬件或者其结合的形式,例如,本领域技术人员可以将其实现为软件代码的形式,可以为能够实现所述步骤对应的逻辑功能的计算机可执行指令。当其以软件的方式实现时,所述的可执行指令可以存储在存储器中,并被设备中的处理器执行。例如,对应于上述方法,本说明书一个或多个实施例同时提供一种ER图的布局设备,该设备可以包括处理器、存储器、以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器通过执行所述指令,用于实现如下步骤:根据待布局的ER图,获得所述ER图中的第一元素和第二元素;所述第一元素与ER图中的其他元素具有关联,所述第二元素是独立元素;确定包含多个第一元素以及元素间关联的关系图;由所述关系图,生成包括所述多个第一元素的最小生成树;将所述最小生成树转换成径向树;根据所述径向树在布局界面中布局各个第一元素的位置,并在所述布局界面显示各个第一元素的元素间关联以及所述第二元素。上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和或硬件中实现。本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质包括但不限于磁盘存储器、CD-ROM、光学存储器等上实施的计算机程序产品的形式。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据采集设备或者数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。

权利要求:1.一种实体联系ER图的布局方法,所述方法包括:根据待布局的ER图,获得所述ER图中的第一元素和第二元素;所述第一元素与ER图中的其他元素具有关联,所述第二元素是独立元素;确定包含多个第一元素以及元素间关联的关系图;由所述关系图,生成包括所述多个第一元素的最小生成树;将所述最小生成树转换成径向树;根据所述径向树在布局界面中布局各个第一元素的位置,并在所述布局界面显示各个第一元素的元素间关联以及所述第二元素。2.根据权利要求1所述的方法,所述元素,包括如下任一种:ER图中的实体、属性、以及联系。3.根据权利要求1所述的方法,所述确定包含多个第一元素以及元素间关联的关系图,包括:将包括所述多个第一元素以及元素间关联的部分ER图,作为所述关系图。4.根据权利要求1所述的方法,由所述关系图,生成包括所述多个第一元素的最小生成树,包括:将具有关联的两个第一元素间的关系权值设置为1;根据最小生成树算法,将所述关系图生成最小生成树,其中,在选择最小权值时,由多个关系权值1中任选其中一个权值作为最小权值。5.根据权利要求1所述的方法,根据所述径向树在布局界面中布局各个第一元素的位置,并在所述布局界面显示各个第一元素的元素间关联,包括:按照所述径向树中各个第一元素的布局,在布局界面显示所述各个第一元素;并根据关系图中的元素间关联,在所述布局界面显示各个第一元素的元素间关联。6.根据权利要求1所述的方法,所述在布局界面中显示第二元素,包括:在布局界面中设置第一区域和第二区域,所述第一区域用于显示多个第一元素以及元素间关联,所述第二区域用于显示第二元素;将各个第二元素显示在所述第二区域中。7.一种ER图的布局装置,所述装置包括:元素分类模块,用于根据待布局的ER图,获得ER图中的第一元素和第二元素;所述第一元素与ER图中的其他元素具有关联,所述第二元素是独立元素;关系确定模块,用于确定包含多个第一元素以及元素间关联的关系图;生成树模块,用于由所述关系图生成包括所述多个第一元素的最小生成树;径向树模块,用于将所述最小生成树转换成径向树;布局处理模块,用于根据所述径向树在布局界面中布局各个第一元素的位置,并在所述布局界面显示各个第一元素的元素间关联以及所述第二元素。8.根据权利要求7所述的装置,所述元素,包括如下任一种:ER图中的实体、属性、以及联系。9.根据权利要求7所述的装置,所述生成树模块,在用于生成包括所述多个第一元素的最小生成树时,包括:将具有关联的两个第一元素间的关系权值设置为1;根据最小生成树算法,将所述关系图生成最小生成树,其中,在选择最小权值时,由多个关系权值1中任选其中一个权值作为最小权值。10.根据权利要求7所述的装置,所述布局处理模块,具体用于按照所述径向树中各个第一元素的布局,在布局界面显示所述各个第一元素;并根据关系图中的元素间关联,在所述布局界面显示各个第一元素的元素间关联。11.一种ER图的布局设备,所述设备包括存储器、处理器,以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行指令时实现以下步骤:根据待布局的ER图,获得所述ER图中的第一元素和第二元素;所述第一元素与ER图中的其他元素具有关联,所述第二元素是独立元素;确定包含多个第一元素以及元素间关联的关系图;由所述关系图,生成包括所述多个第一元素的最小生成树;将所述最小生成树转换成径向树;根据所述径向树在布局界面中布局各个第一元素的位置,并在所述布局界面显示各个第一元素的元素间关联以及所述第二元素。

百度查询: 创新先进技术有限公司 一种ER图的布局方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。