CN108388623B - Er关系生成方法、装置、计算机设备及存储介质 - Google Patents
Er关系生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN108388623B CN108388623B CN201810144193.6A CN201810144193A CN108388623B CN 108388623 B CN108388623 B CN 108388623B CN 201810144193 A CN201810144193 A CN 201810144193A CN 108388623 B CN108388623 B CN 108388623B
- Authority
- CN
- China
- Prior art keywords
- entity
- entities
- name
- relation
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
Abstract
本申请实施例公开了一种ER关系生成方法、装置、计算机设备及存储介质。该方法包括:获取在浏览器的页面中所录入的多个实体名称;将实体名称发送至CMDB应用系统层;若在图形数据库中检索查询到与实体名称对应的实体,将与实体名称对应的实体、及实体之间的联系反馈至页面上进行显示;若在图形数据库中未检索查询到与实体名称对应的实体,在接收到用户的实体创建指令或联系创建指令时,对应在页面上创建实体、及多个实体之间的联系,将所创建的实体及多个实体之间的联系保存至图形数据库中,并根据所创建实体的表名在关系型数据库中创建数据表格。该方法实现了在CMDB应用系统中通过输入实体名称就可查看ER关系,无需反向工程,而且无需编写SQL脚本即可对数据库进行管理。
Description
技术领域
本申请涉及机器学习技术领域,尤其涉及一种ER关系生成方法、装置、计算机设备及存储介质。
背景技术
当前的大多数数据库工具,无法直接管理数据库,当需查看数据库的表关系是非常困难的,需要通过逆向工程去生成ER图等繁琐的操作,逆向工程稍有差错便不能成功生成ER图。而且数据库工具的客户端要执行SQL脚本才能产生对应的表,不够人性化,对操作人员的专业性要求太高。
发明内容
本申请提供了一种ER关系生成方法、装置、计算机设备及存储介质,旨在解决现有技术中查看数据库的表关系要通过逆向工程去生成ER图,而且数据库工具的客户端要执行SQL脚本才能产生对应的表,导致操作复杂,专业性要求高的问题。
第一方面,本申请提供了一种ER关系生成方法,其包括:
获取在浏览器的页面中所录入的多个实体名称;
将实体名称发送至CMDB应用系统层;
若在与CMDB应用系统层连接的图形数据库中检索查询到与实体名称对应的实体,将与实体名称对应的实体、及实体之间的联系反馈至页面上进行显示;
若在与CMDB应用系统层连接的图形数据库中未检索查询到与实体名称对应的实体,在接收到用户的实体创建指令或联系创建指令时,对应在页面上创建实体、及多个实体之间的联系,将所创建的实体及多个实体之间的联系保存至图形数据库中,并根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格。
第二方面,本申请提供了一种ER关系生成装置,其包括:
实体名称获取单元,用于获取在浏览器的页面中所录入的多个实体名称;
实体名称发送单元,用于将实体名称发送至CMDB应用系统层;
ER关系显示单元,用于若在与CMDB应用系统层连接的图形数据库中检索查询到与实体名称对应的实体,将与实体名称对应的实体、及实体之间的联系反馈至页面上进行显示;
ER关系创建单元,用于若在与CMDB应用系统层连接的图形数据库中未检索查询到与实体名称对应的实体,在接收到用户的实体创建指令或联系创建指令时,对应在页面上创建实体、及多个实体之间的联系,将所创建的实体及多个实体之间的联系保存至图形数据库中,并根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格。
第三方面,本申请又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一项所述的ER关系生成方法。
第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的ER关系生成方法。
本申请提供一种ER关系生成方法、装置、计算机设备及存储介质。该方法通过获取在浏览器的页面中所录入的多个实体名称;将实体名称发送至CMDB应用系统层;若在与CMDB应用系统层连接的图形数据库中检索查询到与实体名称对应的实体,将与实体名称对应的实体、及实体之间的联系反馈至页面上进行显示;若在与CMDB应用系统层连接的图形数据库中未检索查询到与实体名称对应的实体,在接收到用户的实体创建指令或联系创建指令时,对应在页面上创建实体、及多个实体之间的联系,将所创建的实体及多个实体之间的联系保存至图形数据库中,并根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格。该方法无需书写SQL脚本也可完成数据库的管理,且只需浏览器就可直接管理该应用的业务ER关系模型,无需逆向工程查看ER关系,更方便快捷。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例中一具体图形数据库的三层结构示意图;
图1b为本申请实施例提供的一种ER关系生成方法的示意流程图;
图2是本申请实施例提供的一种ER关系生成方法的子流程示意图;
图3是本申请实施例提供的一种ER关系生成方法的另一子流程示意图;
图4为本申请实施例提供的一种ER关系生成装置的示意性框图;
图5为本申请实施例提供的一种ER关系生成装置的子单元示意性框图;
图6为本申请实施例提供的一种ER关系生成装置的另一子单元示意性框图;
图7为本申请实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
为了方便理解,下面对本发明实施例中涉及的图形数据库,及CMDB应用系统及关系型数据库进行介绍。
在图形数据库中,存储有多个内核配置(内核配置也可称为配置模型)。配置模型是一种标准的图形结构,具体图形结构参考图1a。如图1a所示,所述配置模型被划分为三层,具体如下:
最上面一层是页面层(ViewGroup),该层是对页面基础信息的抽象,主要包含页面的基础信息,例如:页面名称,页面编码等信息。
中间一层是业务视图层(View),该层是对业务数据的抽象,每个View在页面当中可以理解成一个数据表格,主要包含业务视图的名称、编码、View类型以及View组件类型等信息,每个业务视图View都是由ER层的一个或多个Entity(实体)组成。
其中,View类型主要包含:
a.拓扑图类型,主要用于展示数据关联视图;
b.业务数据类型,主要用于展示页面表格数据。
View的组件类型主要包含:
a.数据表格;
b.其他数据展示组件,例如树状图、柱状图等其他数据展示组件。
最下面一层是ER层,主要是对关系型数据库E-R模型的表示,用于在对业务视图层View所需业务数据的管理提供基础,在ER层中主要包含Entity/Attribute(其中,Entity表示实体,Attribute表示实体的属性)以及Entity(实体)与Entity(实体)的关系,以及Entity与其Attribute(属性)的关系。
其中,Entity主要包含表名、表别名等信息是否可见、是否可编辑等信息;
Attribute主要包含属性名称、编码、是否可见、是否可编辑等信息。
在了解图形数据库的基本知识后,下面对CMDB应用系统进行简要介绍。CMDB(Configuration Management Database,即配置管理数据库)用于存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。CMDB应用系统分为三层,其中面向用户且能被用户直接看到的是页面,页面的下一层是CMDB应用系统层,再下一层是后台的图形数据库及关系型数据库(图形数据库、及关系型数据库均与CMDB应用系统层通讯连接,也就是CMDB应用系统层能从图形数据库、及关系型数据库获取数据)。
其中,图形数据库包括多个配置模型,每一配置模型均由上述三层结构组成(即页面层、业务视图层、和ER层),每个配置模型中的业务视图层均包括至少一个业务视图层节点,并在业务视图层进行显示。
请参阅图1b,图1b是本申请实施例提供的一种ER关系生成方法的示意流程图。该方法应用于台式电脑、手提电脑、平板电脑等终端中。如图1b所示,该方法包括步骤S101~S104。
S101、获取在浏览器的页面中所录入的多个实体名称。
在本实施例中,即当用户需查看多个实体之间的E-R关系时,先是在浏览器的系统页面的搜索框中输入至少两个实体名称,所输入的实体名称由浏览器发送至CMDB应用系统。
其中,在浏览器的系统页面的搜索框中输入至少两个实体名称,有以下几种情形:a、搜索框中同时输入多个待查询的实体名称,相邻的实体之间通过指定字符隔开(如空格或者分号);b、在搜索框中按先后顺序依次输入多个待查询的实体名称,例如第一次查询时只输入第一个实体名称,在根据第一个实体名称执行完后续的整个流程后返回至页面并输入第二个实体名称,此次类推直至所有实体被查询完成。本申请中,在查询图形数据库中的实体之间的关系时,只需在页面上输入实体名称即可,无需编写SQL脚本,降低了查看ER关系的难度。
S102、将实体名称发送至CMDB应用系统层。
在本实施例中,在CMDB应用系统从页面上获取到实体名称后,在图形数据库查找是否有该名称的实体;查找到有该实体时,则反馈给用户(即反馈至页面上进行显示);未查找到该实体时,则反馈给用户未查找到所述实体并提示用户进行新建实体或者是结束操作。由于CMDB应用系统层上一层的页面是面向用户的展示窗口,故在图形数据库中查询到实体后,需反馈至CMDB应用系统层,由CMDB应用系统层将实体及实体之间的关系渲染至页面。
S103、若在与CMDB应用系统层连接的图形数据库中检索查询到与实体名称对应的实体,将与实体名称对应的实体、及实体之间的联系反馈至页面上进行显示。
在本实施例中,将检索查询到与所述实体名称相对应的实体反馈至页面上进行显示,也即直接在页面上展示实体的过程。具体实现过程如下:先获取检索查询到与所述实体名称相对应的实体的实体名称,然后根据实体名称对应在页面上渲染包含该实体名称的实体节点(更形象的来说就是一个内部写了实体名称的小圆圈,一个小圆圈就表示一个实体节点)。这一过程是简单的查询与反馈过程,避免了通过反向工程来查看数据表的ER关系,极大降低了操作难度。
如图2所示,该步骤S103包括以下子步骤:
S1031、判断实体之间是否存在联系;
S1032、若实体之间存在联系,在页面上显示实体之间的联系;
S1033、若实体之间不存在联系且检测到在页面上新增实体之间的联系,执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系。
在本实施例中,检测到新增实体之间的联系,是指此时在页面上显示的多个实体(这些实体是根据用户所录入的实体名称而被检索出来并显示在CMDB应用系统的页面上的),如实体A和实体B此时显示在页面上。此时CMDB应用系统通过判断实体A在关系型数据库对应的数据表中是否有指定字段(主要是外键,外键定义如下,如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字),从而判实体A对应数据表与实体B对应数据表之间的关系。
假设实体A与实体B之间不存在关系(实体之间的关系可以理解为实体之间的联系),而用户又需要对目前这种无关系的状态进行修改,此时就可直接在页面上点击增加实体之间关系的虚拟按键后,通过关系连接线连接两个实体即可。当在页面上编辑好关系连接线,则根据关系连接线所连接的实体、及实体之间的关系对应生成第一Cypher脚本,并根据第一Cypher脚本创建对应的实体之间的关系。
例如,需要创建图形数据库中两个实体之间的关系,对应的第一Cypher脚本如下:
MATCH(a:Person),(b:Movie)
WHERE a.name='Robert Zemeckis'AND b.title='Forrest Gump'
CREATE(a)-[r:DIRECTED]->(b)
RETURN r;
其中,(a:Person),(b:Movie)分别代表两个实体,a实体的表名是RobertZemeckis,b实体的标题是Forrest Gump,通过第一Cypher脚本创建两个实体之间的关系。
此过程中,用户在实体之间不存在联系,又需要添加实体之间的联系时,只是在CMDB应用系统层上一层的页面中进行了简单的连线(即通过连线将两个实体进行连接,并编辑相互之间的联系,如实体a属于实体b),完成连线后由Cypher脚本自动在图形数据库中对应建立实体之间的联系,无需用户编写脚本,降低了数据管理的难度。
如图2所示,该步骤S103之后还包括以下子步骤:
S1034、根据实体的名称、及实体之间联系,对应生成第一SQL脚本;
S1035、执行第一SQL脚本,将实体在关系型数据库中所对应的数据表格之间进行E-R关系的关联。
在本实施例中,在图形数据库中根据Cypher脚本对应建立实体之间的联系后,还需通过SQL脚本来将实体在关系型数据库中所对应的数据表格之间进行E-R关系的关联。此过程也是在CMDB应用系统层自动生成并执行第一SQL脚本后,自动将实体在关系型数据库中所对应的数据表格之间进行E-R关系的关联,无需用户编写脚本,降低了数据管理的难度。
S104、若在与CMDB应用系统层连接的图形数据库中未检索查询到与实体名称对应的实体,在接收到用户的实体创建指令或联系创建指令时,对应在页面上创建实体、及多个实体之间的联系,将所创建的实体及多个实体之间的联系保存至图形数据库中,并根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格。
在本实施例中,若在与CMDB应用系统层连接的图形数据库中未检索查询到与实体名称对应的实体,则通过弹框进行实体的建立的提示,实时检测是否有实体建立建立,当检测到实体的建立时,则根据所建立的实体、实体之间的联系,及预先存储的Cypher脚本在图形数据库中对应生成实体后保存。
同时根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格。
在一实施例中,该步骤S104中根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格中,根据所创建实体的表名对应生成第二SQL脚本,并在mybatis框架中执行第二SQL脚本,在与CMDB应用系统层连接的关系型数据库中建立与实体相对应的数据表格。
本申请中,用户未查询到指定实体时,可以在CMDB应用系统层上一层的页面上直接新建实体,并根据用户需求建立实体之间的联系,之后自动生成Cypher脚本自动编辑实体及实体之间的关系,同时自动生成SQL脚本建立与实体的表名对应的数据表格,无需用户编写Cypher脚本和SQL语句,降低了操作难度。
如图3所示,该步骤S104中将所创建的实体及多个实体之间的联系保存至图形数据库包括以下子步骤:
S1041、执行用于创建实体的第二Cypher脚本,在图形数据库中创建与实体名称对应的实体,并保存至图形数据库中;
S1042、执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系,并保存至图形数据库中。
在本实施例中,用于创建实体的第二Cypher脚本的示例如下:
create(n:Person{name:'Tom Hanks',born:1956})return n;
其中,创建一个节点,标签是Person,具有两个属性name和born,通过RETURN子句,返回新建的节点。
将所创建的实体及多个实体之间的联系保存至图形数据库的过程中,通过第一Cypher脚本和第二Cypher脚本实现了整个过程的自动化,避免了用户手工编写脚本效率低下且难度大的问题。
可见,该方法无需书写SQL脚本也可完成数据库的管理,且只需浏览器就可直接管理该应用的业务ER关系模型,无需逆向工程查看ER关系,更方便快捷。
本申请实施例还提供一种ER关系生成装置,该ER关系生成装置用于执行前述任一项ER关系生成方法。具体地,请参阅图4,图4是本申请实施例提供的一种ER关系生成装置的示意性框图。ER关系生成装置100可以安装于台式电脑、平板电脑、手提电脑、等终端中。
如图4所示,ER关系生成装置100包括实体名称获取单元101、实体名称发送单元102、ER关系显示单元103、ER关系创建单元104。
实体名称获取单元101,用于获取在浏览器的页面中所录入的多个实体名称。
在本实施例中,即当用户需查看多个实体之间的E-R关系时,先是在浏览器的系统页面的搜索框中输入至少两个实体名称,所输入的实体名称由浏览器发送至CMDB应用系统。
其中,在浏览器的系统页面的搜索框中输入至少两个实体名称,有以下几种情形:a、搜索框中同时输入多个待查询的实体名称,相邻的实体之间通过指定字符隔开(如空格或者分号);b、在搜索框中按先后顺序依次输入多个待查询的实体名称,例如第一次查询时只输入第一个实体名称,在根据第一个实体名称执行完后续的整个流程后返回至页面并输入第二个实体名称,此次类推直至所有实体被查询完成。本申请中,在查询图形数据库中的实体之间的关系时,只需在页面上输入实体名称即可,无需编写SQL脚本,降低了查看ER关系的难度。
实体名称发送单元102,用于将实体名称发送至CMDB应用系统层。
在本实施例中,在CMDB应用系统从页面上获取到实体名称后,在图形数据库查找是否有该名称的实体;查找到有该实体时,则反馈给用户(即反馈至页面上进行显示);未查找到该实体时,则反馈给用户未查找到所述实体并提示用户进行新建实体或者是结束操作。由于CMDB应用系统层上一层的页面是面向用户的展示窗口,故在图形数据库中查询到实体后,需反馈至CMDB应用系统层,由CMDB应用系统层将实体及实体之间的关系渲染至页面。
ER关系显示单元103,用于若在与CMDB应用系统层连接的图形数据库中检索查询到与实体名称对应的实体,将与实体名称对应的实体、及实体之间的联系反馈至页面上进行显示。
在本实施例中,将检索查询到与所述实体名称相对应的实体反馈至页面上进行显示,也即直接在页面上展示实体的过程。具体实现过程如下:先获取检索查询到与所述实体名称相对应的实体的实体名称,然后根据实体名称对应在页面上渲染包含该实体名称的实体节点(更形象的来说就是一个内部写了实体名称的小圆圈,一个小圆圈就表示一个实体节点)。这一过程是简单的查询与反馈过程,避免了通过反向工程来查看数据表的ER关系,极大降低了操作难度。
ER关系创建单元104,用于若在与CMDB应用系统层连接的图形数据库中未检索查询到与实体名称对应的实体,在接收到用户的实体创建指令或联系创建指令时,对应在页面上创建实体、及多个实体之间的联系,将所创建的实体及多个实体之间的联系保存至图形数据库中,并根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格。
在本实施例中,若在与CMDB应用系统层连接的图形数据库中未检索查询到与实体名称对应的实体,则通过弹框进行实体的建立的提示,实时检测是否有实体建立建立,当检测到实体的建立时,则根据所建立的实体、实体之间的联系,及预先存储的Cypher脚本在图形数据库中对应生成实体后保存。
同时根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格。
在一实施例中,该步骤S104中根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格中,根据所创建实体的表名对应生成第二SQL脚本,并在mybatis框架中执行第二SQL脚本,在与CMDB应用系统层连接的关系型数据库中建立与实体相对应的数据表格。
本申请中,用户未查询到指定实体时,可以在CMDB应用系统层上一层的页面上直接新建实体,并根据用户需求建立实体之间的联系,之后自动生成Cypher脚本自动编辑实体及实体之间的关系,同时自动生成SQL脚本建立与实体的表名对应的数据表格,无需用户编写Cypher脚本和SQL语句,降低了操作难度。
如图5所示,所述ER关系显示单元103包括以下子单元:
联系判断单元1031,用于判断实体之间是否存在联系;
联系显示单元1032,用于若实体之间存在联系,在页面上显示实体之间的联系;
联系创建单元1033,用于若实体之间不存在联系且检测到在页面上新增实体之间的联系,执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系。
在本实施例中,检测到新增实体之间的联系,是指此时在页面上显示的多个实体(这些实体是根据用户所录入的实体名称而被检索出来并显示在CMDB应用系统的页面上的),如实体A和实体B此时显示在页面上。此时CMDB应用系统通过判断实体A在关系型数据库对应的数据表中是否有指定字段(主要是外键,外键定义如下,如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字),从而判实体A对应数据表与实体B对应数据表之间的关系。
假设实体A与实体B之间不存在关系(实体之间的关系可以理解为实体之间的联系),而用户又需要对目前这种无关系的状态进行修改,此时就可直接在页面上点击增加实体之间关系的虚拟按键后,通过关系连接线连接两个实体即可。当在页面上编辑好关系连接线,则根据关系连接线所连接的实体、及实体之间的关系对应生成第一Cypher脚本,并根据第一Cypher脚本创建对应的实体之间的关系。
例如,需要创建图形数据库中两个实体之间的关系,对应的第一Cypher脚本如下:
MATCH(a:Person),(b:Movie)
WHERE a.name='Robert Zemeckis'AND b.title='Forrest Gump'
CREATE(a)-[r:DIRECTED]->(b)
RETURN r;
其中,(a:Person),(b:Movie)分别代表两个实体,a实体的表名是RobertZemeckis,b实体的标题是Forrest Gump,通过第一Cypher脚本创建两个实体之间的关系。
此过程中,用户在实体之间不存在联系,又需要添加实体之间的联系时,只是在CMDB应用系统层上一层的页面中进行了简单的连线(即通过连线将两个实体进行连接,并编辑相互之间的联系,如实体a属于实体b),完成连线后由Cypher脚本自动在图形数据库中对应建立实体之间的联系,无需用户编写脚本,降低了数据管理的难度。
如图5所示,所述ER关系显示单元103还包括以下子单元:
脚本生成单元1034,用于根据实体的名称、及实体之间联系,对应生成第一SQL脚本;
ER关联单元1035,用于执行第一SQL脚本,将实体在关系型数据库中所对应的数据表格之间进行E-R关系的关联。
在本实施例中,在图形数据库中根据Cypher脚本对应建立实体之间的联系后,还需通过SQL脚本来将实体在关系型数据库中所对应的数据表格之间进行E-R关系的关联。此过程也是在CMDB应用系统层自动生成并执行第一SQL脚本后,自动将实体在关系型数据库中所对应的数据表格之间进行E-R关系的关联,无需用户编写脚本,降低了数据管理的难度。
如图6所示,所述ER关系创建单元104包括以下子单元:
第一脚本执行单元1041,用于执行用于创建实体的第二Cypher脚本,在图形数据库中创建与实体名称对应的实体,并保存至图形数据库中;
第一脚本执行单元1042,用于执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系,并保存至图形数据库中。
在本实施例中,用于创建实体的第二Cypher脚本的示例如下:
create(n:Person{name:'Tom Hanks',born:1956})return n;
其中,创建一个节点,标签是Person,具有两个属性name和born,通过RETURN子句,返回新建的节点。
将所创建的实体及多个实体之间的联系保存至图形数据库的过程中,通过第一Cypher脚本和第二Cypher脚本实现了整个过程的自动化,避免了用户手工编写脚本效率低下且难度大的问题。
上述ER关系生成装置可以实现为一种计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
请参阅图7,图7是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500设备可以是终端。该终端可以是平板电脑、笔记本电脑、台式电脑、个人数字助理等电子设备。
参阅图7,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种ER关系生成方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种ER关系生成方法。
该网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:获取在浏览器的页面中所录入的多个实体名称;将实体名称发送至CMDB应用系统层;若在与CMDB应用系统层连接的图形数据库中检索查询到与实体名称对应的实体,将与实体名称对应的实体、及实体之间的联系反馈至页面上进行显示;若在与CMDB应用系统层连接的图形数据库中未检索查询到与实体名称对应的实体,在接收到用户的实体创建指令或联系创建指令时,对应在页面上创建实体、及多个实体之间的联系,将所创建的实体及多个实体之间的联系保存至图形数据库中,并根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格。
在一实施例中,处理器502还执行如下操作:判断实体之间是否存在联系;若实体之间存在联系,在页面上显示实体之间的联系;若实体之间不存在联系且检测到在页面上新增实体之间的联系,执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系。
在一实施例中,处理器502还执行如下操作:根据实体的名称、及实体之间联系,对应生成第一SQL脚本;执行第一SQL脚本,将实体在关系型数据库中所对应的数据表格之间进行E-R关系的关联。
在一实施例中,处理器502还执行如下操作:执行用于创建实体的第二Cypher脚本,在图形数据库中创建与实体名称对应的实体,并保存至图形数据库中;执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系,并保存至图形数据库中。
在一实施例中,处理器502还执行如下操作:根据所创建实体的表名对应生成第二SQL脚本,并在mybatis框架中执行第二SQL脚本,在与CMDB应用系统层连接的关系型数据库中建立与实体相对应的数据表格。
本领域技术人员可以理解,图7中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图7所示实施例一致,在此不再赘述。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请的另一实施例中提供一种存储介质。该存储介质可以为非易失性的计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:获取在浏览器的页面中所录入的多个实体名称;将实体名称发送至CMDB应用系统层;若在与CMDB应用系统层连接的图形数据库中检索查询到与实体名称对应的实体,将与实体名称对应的实体、及实体之间的联系反馈至页面上进行显示;若在与CMDB应用系统层连接的图形数据库中未检索查询到与实体名称对应的实体,在接收到用户的实体创建指令或联系创建指令时,对应在页面上创建实体、及多个实体之间的联系,将所创建的实体及多个实体之间的联系保存至图形数据库中,并根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格。
在一实施例中,该程序指令被处理器执行时实现:判断实体之间是否存在联系;若实体之间存在联系,在页面上显示实体之间的联系;若实体之间不存在联系且检测到在页面上新增实体之间的联系,执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系。
在一实施例中,该程序指令被处理器执行时实现:根据实体的名称、及实体之间联系,对应生成第一SQL脚本;执行第一SQL脚本,将实体在关系型数据库中所对应的数据表格之间进行E-R关系的关联。
在一实施例中,该程序指令被处理器执行时实现:执行用于创建实体的第二Cypher脚本,在图形数据库中创建与实体名称对应的实体,并保存至图形数据库中;执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系,并保存至图形数据库中。
在一实施例中,该程序指令被处理器执行时实现:根据所创建实体的表名对应生成第二SQL脚本,并在mybatis框架中执行第二SQL脚本,在与CMDB应用系统层连接的关系型数据库中建立与实体相对应的数据表格。
所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种ER关系生成方法,其特征在于,包括:
获取在浏览器的页面中所录入的多个实体名称;
将实体名称发送至CMDB应用系统层;
若在与CMDB应用系统层连接的图形数据库中检索查询到与实体名称对应的实体,将与实体名称对应的实体、及实体之间的联系反馈至页面上进行显示;
若在与CMDB应用系统层连接的图形数据库中未检索查询到与实体名称对应的实体,在接收到用户的实体创建指令或联系创建指令时,对应在页面上创建实体、及多个实体之间的联系,将所创建的实体及多个实体之间的联系保存至图形数据库中,并根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格;
所述将与实体名称对应的实体、及实体之间的联系反馈至页面上进行显示,包括:
判断实体之间是否存在联系;
若实体之间存在联系,在页面上显示实体之间的联系;
若实体之间不存在联系且检测到在页面上新增实体之间的联系,执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系。
2.根据权利要求1所述的ER关系生成方法,其特征在于,所述执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系之后,还包括:
根据实体的名称、及实体之间联系,对应生成第一SQL脚本;
执行第一SQL脚本,将实体在关系型数据库中所对应的数据表格之间进行E-R关系的关联。
3.根据权利要求1所述的ER关系生成方法,其特征在于,所述将所创建的实体及多个实体之间的联系保存至图形数据库中,包括:
执行用于创建实体的第二Cypher脚本,在图形数据库中创建与实体名称对应的实体,并保存至图形数据库中;
执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系,并保存至图形数据库中。
4.根据权利要求1所述的ER关系生成方法,其特征在于,所述根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格中,根据所创建实体的表名对应生成第二SQL脚本,并在mybatis框架中执行第二SQL脚本,在与CMDB应用系统层连接的关系型数据库中建立与实体相对应的数据表格。
5.一种ER关系生成装置,其特征在于,包括:
实体名称获取单元,用于获取在浏览器的页面中所录入的多个实体名称;
实体名称发送单元,用于将实体名称发送至CMDB应用系统层;
ER关系显示单元,用于若在与CMDB应用系统层连接的图形数据库中检索查询到与实体名称对应的实体,将与实体名称对应的实体、及实体之间的联系反馈至页面上进行显示;
ER关系创建单元,用于若在与CMDB应用系统层连接的图形数据库中未检索查询到与实体名称对应的实体,在接收到用户的实体创建指令或联系创建指令时,对应在页面上创建实体、及多个实体之间的联系,将所创建的实体及多个实体之间的联系保存至图形数据库中,并根据所创建实体的表名在与CMDB应用系统层连接的关系型数据库中创建数据表格;
所述ER关系显示单元,包括:
联系判断单元,用于判断实体之间是否存在联系;
联系显示单元,用于若实体之间存在联系,在页面上显示实体之间的联系;
联系创建单元,用于若实体之间不存在联系且检测到在页面上新增实体之间的联系,执行用于创建实体之间联系的第一Cypher脚本在图形数据库中对应实体之间创建联系。
6.根据权利要求5所述的ER关系生成装置,其特征在于,所述联系创建单元,还包括:
脚本生成单元,用于根据实体的名称、及实体之间联系,对应生成第一SQL脚本;
ER关联单元,用于执行第一SQL脚本,将实体在关系型数据库中所对应的数据表格之间进行E-R关系的关联。
7.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的ER关系生成方法。
8.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-4任一项所述的ER关系生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810144193.6A CN108388623B (zh) | 2018-02-12 | 2018-02-12 | Er关系生成方法、装置、计算机设备及存储介质 |
PCT/CN2018/085367 WO2019153555A1 (zh) | 2018-02-12 | 2018-05-02 | Er关系生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810144193.6A CN108388623B (zh) | 2018-02-12 | 2018-02-12 | Er关系生成方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108388623A CN108388623A (zh) | 2018-08-10 |
CN108388623B true CN108388623B (zh) | 2020-09-01 |
Family
ID=63068748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810144193.6A Active CN108388623B (zh) | 2018-02-12 | 2018-02-12 | Er关系生成方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108388623B (zh) |
WO (1) | WO2019153555A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271392B (zh) * | 2018-10-30 | 2022-07-26 | 长威信息科技发展股份有限公司 | 快速判别和抽取关系型数据库实体及属性的方法及设备 |
CN109739856A (zh) * | 2018-12-28 | 2019-05-10 | 第四范式(北京)技术有限公司 | 用于建立数据表之间的关系的方法及系统 |
CN112860273A (zh) * | 2019-11-27 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 一种页面显示方法及装置 |
CN111897983A (zh) * | 2020-07-23 | 2020-11-06 | 北京中数智汇科技股份有限公司 | 一种基于图数据库的网络拓扑图生成方法、装置和系统 |
CN116701387A (zh) * | 2022-02-28 | 2023-09-05 | 华为技术有限公司 | 数据分段写入方法、数据读取方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196900A (zh) * | 2007-12-27 | 2008-06-11 | 中国移动通信集团湖北有限公司 | 一种基于元数据的信息检索方法 |
CN101923549A (zh) * | 2009-07-29 | 2010-12-22 | 北京航天理想科技有限公司 | 自定义可视化智能轨迹线索分析系统及建立方法 |
CN103473647A (zh) * | 2013-09-13 | 2013-12-25 | 上海安捷力信息系统有限公司 | 一种销售渠道流向管理系统 |
CN105653245A (zh) * | 2014-11-13 | 2016-06-08 | 朗新科技股份有限公司 | 代码自动生成系统、装置及方法 |
CN106649387A (zh) * | 2015-11-02 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种显示信息的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855332A (zh) * | 2012-09-24 | 2013-01-02 | 上海天玑科技股份有限公司 | 一种基于图形数据库的图形配置管理数据库 |
US9122708B2 (en) * | 2013-02-19 | 2015-09-01 | Digitalglobe Inc. | Crowdsourced search and locate platform |
CN104123369B (zh) * | 2014-07-24 | 2017-06-13 | 中国移动通信集团广东有限公司 | 一种基于图形数据库的配置管理数据库系统的实现方法 |
CN106933837A (zh) * | 2015-12-29 | 2017-07-07 | 航天信息股份有限公司 | 一种数据库表模型及创建方法 |
-
2018
- 2018-02-12 CN CN201810144193.6A patent/CN108388623B/zh active Active
- 2018-05-02 WO PCT/CN2018/085367 patent/WO2019153555A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196900A (zh) * | 2007-12-27 | 2008-06-11 | 中国移动通信集团湖北有限公司 | 一种基于元数据的信息检索方法 |
CN101923549A (zh) * | 2009-07-29 | 2010-12-22 | 北京航天理想科技有限公司 | 自定义可视化智能轨迹线索分析系统及建立方法 |
CN103473647A (zh) * | 2013-09-13 | 2013-12-25 | 上海安捷力信息系统有限公司 | 一种销售渠道流向管理系统 |
CN105653245A (zh) * | 2014-11-13 | 2016-06-08 | 朗新科技股份有限公司 | 代码自动生成系统、装置及方法 |
CN106649387A (zh) * | 2015-11-02 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种显示信息的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108388623A (zh) | 2018-08-10 |
WO2019153555A1 (zh) | 2019-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388623B (zh) | Er关系生成方法、装置、计算机设备及存储介质 | |
US10866788B2 (en) | System and method for automated generation of integration elements modeling process flow for an integration process with a swagger API | |
US11086751B2 (en) | Intelligent metadata management and data lineage tracing | |
CN108388622B (zh) | Api接口动态生成方法、装置、计算机设备及存储介质 | |
CN108519967B (zh) | 图表可视化方法、装置、终端和存储介质 | |
US11847040B2 (en) | Systems and methods for detecting data alteration from source to target | |
CN110119393B (zh) | 代码版本管理系统及方法 | |
CN105389251A (zh) | 结构化查询语言调试器 | |
CN115617327A (zh) | 低代码页面搭建系统、方法及计算机可读存储介质 | |
WO2014179819A2 (en) | Software design pattern for adapting a graph database visualization software | |
KR102237877B1 (ko) | 실시간 협업지원 지능형 소프트웨어 자동 개발 시스템 및 그 방법 | |
US20220035847A1 (en) | Information retrieval | |
WO2019153514A1 (zh) | 业务系统动态生成方法、装置、计算机设备及存储介质 | |
CN111324609A (zh) | 知识图谱构建方法、装置、电子设备及存储介质 | |
JP2018520452A (ja) | コントロールを使用して汎用プログラムを構成する技法 | |
CN109766139B (zh) | 配置文件的配置方法及装置 | |
US20120192069A1 (en) | Transforming user interface actions to script commands | |
CN114371845A (zh) | 表单生成方法及装置 | |
US10534588B2 (en) | Data processing simulator with simulator module and data elements | |
US20190147082A1 (en) | Reporting and data governance management | |
CN114063868A (zh) | 一种ai拖拽建模系统、方法、计算机设备及应用 | |
US11526895B2 (en) | Method and system for implementing a CRM quote and order capture context service | |
CN111191057A (zh) | 一种自定义检索方法、装置、电子设备及其存储介质 | |
CN112130841B (zh) | Sql开发方法、装置及终端设备 | |
EP4354281A1 (en) | Converting an api into a graph api |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |