CN109840256A - 一种基于业务实体的查询实现方法 - Google Patents
一种基于业务实体的查询实现方法 Download PDFInfo
- Publication number
- CN109840256A CN109840256A CN201910164485.0A CN201910164485A CN109840256A CN 109840256 A CN109840256 A CN 109840256A CN 201910164485 A CN201910164485 A CN 201910164485A CN 109840256 A CN109840256 A CN 109840256A
- Authority
- CN
- China
- Prior art keywords
- attribute
- sql
- entity
- business entity
- class
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 239000012634 fragment Substances 0.000 claims description 2
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供一种基于业务实体的查询实现方法,属于数据访问层的业务查询技术领域,本发明根据实际查询需求,使用SQL的语法关键字与语法结构,编写针对业务实体上节点与属性的抽象查询语句。在该语句中只描述查询的业务含义。通过对语句的解析,识别语句中包含的业务实体的节点与属性,根据业务实体到实际数据库表的映射文件;并处理属性上带有的关联、国际化、权限等信息,形成可在数据库中实际执行的SQL脚本。通过本方法,使得查询定义专注于业务本身,并保留了SQL优越的表达能力,实现业务在面向对象层面的复用,并且拥有良好的可移植性。
Description
技术领域
本发明涉及数据访问层的业务查询技术,尤其涉及一种基于业务实体的查询实现方法。
背景技术
灵活的数据查询对业务复杂的系统(比如ERP系统)来说,是其价值的体现。ERP系统目前大部分仍是以传统关系型数据库存储的,查询数据最直接最灵活的方式是直接访问数据库,但这种方式是危险的、不受业务规则约束的,而且依赖于具体数据库,是应该被禁止的。
因此在复杂业务系统中,为了完全控制数据的访问,并保护数据的完整性,将相关数据表与业务规则进行语义上的封装,形成业务实体。业务实体可以理解为在面向对象层面上对结构和行为进行封装,ERP系统可以看作是面向对象的数据库,从而隔离了底层数据库实际架构,带来了面向对象层面的复用,拥有良好的可移植性。
在此基础上,相对比于SQL直接查询数据库表,业务查询可以使用类似SQL的语言,对业务实体上的数据结构进行查询。对于复杂查询来说,这很好的保留了SQL的表达能力,同时又可以实现对数据访问的完全控制,不绕开业务规则;并将基于业务实体的查询语句,经过对关联、权限、国际化等常见特性的自动识别与处理,形成可在数据库中实际执行的SQL脚本。
发明内容
为了解决以上技术问题,本发明提出了一种基于业务实体的查询实现方法,提供基于业务实体的查询实现,自动识别出查询中的关联、国际化、权限等进行处理,使开发者能够专注于查询逻辑本身的开发。
业务实体是对数据结构与逻辑规则在面向对象层面的语义封装。在业务实体的数据结构中,节点可映射到数据库表,节点的属性映射到表的字段;在业务实体上可描述主从节点关系,以及属性的关联、国际化、权限信息等。根据实际查询需求,使用SQL的语法关键字与语法结构,编写针对业务实体上节点与属性的抽象查询语句,在该语句中只描述查询的业务含义,通过对语句的解析,以及业务实体到实际数据库表的映射关系,识别语句中包含的业务实体的节点与属性,并处理属性上带有的关联、国际化、权限等信息,形成可在数据库中实际执行的SQL脚本。
本发明的技术方案是:
一种基于业务实体的查询实现方法,包含以下步骤:
A.定义业务实体;
B.编写业务查询语句;
C.解析查询语句为语法树;
D.语法树生成执行SQL,并处理关联、国际化、权限信息。
在步骤A,为了实现查询,首先需要定义查询中使用的业务实体,业务实体包括数据结构与逻辑规则。其中,数据结构定义包含如下两部分:
(1)业务实体数据结构中节点的定义;
(2)业务实体数据结构中属性的定义;
其中,业务实体数据结构中节点的定义,可理解为表的定义,它映射到数据库中的表结构,节点的具体描述信息包含如下:
a.唯一标识:节点在业务实体中的GUID唯一标识,可以唯一确定一个节点,创建后不会发生变化。
b.编号:节点在业务实体中的编号标识,默认情况下编号与数据库表名保持一致。
c.名称:节点的中文显示名称。
节点下定义若干属性,可理解为表上定义数据列,它映射到数据库中表的列信息。属性的具体描述信息包含如下:
a.唯一标识:属性的GUID唯一标识,创建后不会发生变化,可以唯一确定一个属性。
b.编号:属性的编号标识,默认情况下编号与数据库列名保持一致。
c.名称:属性的中文显示名称。
d.数据类型:属性的数据类型,映射数据库中列的实际数据类型。
e.多语:该属性是否支持多种语言,若支持多种语言,在实际查询取数中需要根据当前上下文的语言环境取相应的语言字段。
f.关联:表示该属性的数据来源于其他的业务实体,可建立实体之间的引用关系,比如“销售订单节点”上的“销售人员属性”,可引用人员实体。在实际数据库中,可以通过对方实体主节点的技术主键建立关系。
业务实体上一般拥有一个主节点,主节点下会包含若干子节点,这种主子节点之间的关系属于组合关系,比如销售订单的单据头与单据明细。
在步骤B,完成业务实体定义后,根据实际查询的业务含义,使用业务实体上的节点或属性来组织类似SQL的查询语句。这些类似SQL的查询语句与真实SQL相比,既是相似的,也是不同的。
在真实的SQL语句中,查询对象是数据库中的表以及数据库表的列,在编写时,使用数据库表名以及表的列名;而在此类似SQL的查询语句中,查询对象是业务实体上的节点以及节点上的属性,在编写时,使用节点以及属性的唯一标识。
二者的相似点体现在使用的SQL语法是类似的。在这些类似SQL的查询语句中,主要支持以下的SQL语法:
(1)SELECT查询语句
(2)INSERT插入语句
(3)UPDATE更新语句
(4)DELETE删除语句
组成 | 含义 |
删除目标 | 支持从目标节点删除数据 |
WHERE子句 | 对目标节点的搜索条件,支持布尔表达式形式。 |
FROM子句 | 支持联表删除。 |
(5)CREATE TABLE语句,查询过程较复杂,无法通过一个查询语句来表达时,过程中可能会使用到临时表,支持创建临时表。
在步骤C,将步骤B编写的类SQL查询语句进行解析。
解析的过程分为两步:
(1)首先,解析器对字符串中的字符进行识别,将字符串语句识别为一组Token集合,集合中既包含了SQL语法中的关键字、保留字、特殊符号,还包含代表业务实体节点与属性的标识符。
(2)识别出的Token集合,通过SQL解析器进一步解析为SQL语法树,每个语法正确的语句解析后会形成一个DOM类。这个DOM结构以类、类属性的程序结构表达了查询语句中包含的各个子句,以及各个子句的组成部分。
不同类型的查询语句会解析为不同的DOM类,详细如下:
(1)SELCT查询语句的DOM类为SelectStatement,此类的内部结构如下:
(2)INSERT插入语句的DOM类为InsertStatement,此类的内部结构如下:
(3)UPDATE更新语句的DOM类为UpdateStatement,此类的内部结构如下:
(4)DELETE删除语句的DOM类为DeleteStatement,此类的内部结构如下:
属性 | 含义 |
TableReference | 删除的目标节点,包含对节点唯一标识的描述 |
WHERE子句 | 结构同SelectStatement中的WhereClause属性。 |
FROM子句 | 结构同SelectStatement中的FromClause属性。 |
(5)CREATE TABLE语句的DOM类为CreateTableStatement,此类的内部结构如下:
在步骤D,根据步骤C中解析出的DOM类结构,逐一遍历DOM类中的属性,可生成语句中各个组成子句的SQL片段。同时在遍历的过程中,可找到语句中使用到的所有的业务实体的节点与属性的描述定义,即类型为ColumnReferenceExpression与NamedTableReference的对象。
业务实体通过数据访问层访问实际数据库时,会有一个从业务实体映射到实际数据库表的配置文件(DBO文件),通过该文件,可以将业务实体上的节点与属性映射到实际数据库的表与字段。ColumnReferenceExpression与NamedTableReference对象中记录了节点与属性的唯一标识,通过该标识,在DBO文件上可以查找到实际对应的数据库表与字段,完成替换后,实现查询SQL向实际执行SQL的转换,但这仅仅是必须满足的基本特性。对业务实体上的属性上存在的关联、多语、以及权限等特性还需要做进一步的处理。具体包含如下:
(3)关联的处理:
属性的关联指的是属性的数据来源于其他业务实体,通过被引用实体主节点的技术外键建立。属性建立关联后,可带出引用实体上的属性。比如“销售订单”业务实体上有“销售人员ID”属性,该属性的数据来源于“人员信息”业务实体,建立关联后,“销售人员ID”属性可带出引用实体上的“人员名称”与“人员职务”两个属性,在编写查询时,若使用的不是“销售人员ID”属性,而是引用实体上的“人员名称”属性时,则在生成实际可执行的脚本时要加以处理,才能正确查询到数据。
故若判断出ColumnReferenceExpression对象中记录的属性是引用属性,需要查找该引用属性来自哪个引用实体。在生成此引用属性的SQL片段时,需要改为从该引用实体的DBO文件中查找实际对应的字段,而不是从该引用属性所在的业务实体上查找。在生成SQL片段时,引用属性表达为“引用实体的对应数据库表”.“引用实体上对应数据库表的字段”;同时在From子句生成SQL片段后,要在此From的SQL片段后追加与引用实体对应数据库表的连接,追加的片段表达为“LEFT JOIN引用实体对应的数据库表ON实体对应的数据表.建立引用的本实体属性=引用实体对应的数据库表.主键”。通过以上动态拼的两段SQL,来实现对引用属性的查询。
(4)多语的处理:
成熟的业务系统大多是支持国际化的,一般在数据库中多语言通过在同一个表中增加多语字段来实现,比如列Column1的多语言字段命名为Column1_EN。根据ColumnReferenceExpression对象中记录的属性唯一标识,在对应的业务实体上检查该属性是否是多语属性,若是多语属性,则该属性在生成SQL片段时,不是直接查找DBO文件找到对应数据库字段,而是根据系统上下文中当前环境的语言来确定实际查询的数据库字段的名称是什么。通过动态替换拼SQL,来达到支持多语的目的。
同样的,在获取到查询语句解析生成的DOM类后,根据业务实体上定义的信息,以类似动态拼SQL的方式,可以同样自动处理多租户以及权限等其他特性,在生成实际执行SQL时自动对SQL进行处理,使开发人员专注于业务、且移植性好的查询。
附图说明
图1是DOM类结构生成执行SQL的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围
以下将通过一个实际实施场景举例,使本发明的上述目标、特征和优点更加清晰、易懂。实施场景划分为两个阶段,分别为:开发阶段、生成阶段。以一个简单的销售订单的查询为例,查找总金额大于20万的订单信息,订单信息中需要包含订单编号、客户信息、以及订单类型。
在开发阶段,需要定义销售订单与客户两个业务实体,其中客户实体是销售订单实体上客户信息的引用实体。
客户实体的主节点ID为“Customer”,编号为“Customer”,名称为“客户”,它所包含的属性信息如下:
ID | 编号 | 名称 | 数据类型 | 关联 | 多语 |
CustomerID | ID | 客户ID | 文本 | 无 | 否 |
CustomerCode | Code | 客户编号 | 文本 | 无 | 否 |
CustomerName | Name | 客户名称 | 文本 | 无 | 否 |
(注:节点与属性的ID应为GUID唯一标识,为了使举例更易理解,改为采用有语义的文本。)
“销售订单业务实体”的主节点ID为“SalesOrder”,编号为“SalesOrder”,名称为“销售订单”;它所包含的属性信息如下:
其中,名称为“客户ID”的属性设置有关联,关联的引用实体为“客户实体”,关联建立后将从引用实体上带出两个字段“CustomerID_Code”与“CustomerID_Name”,即带出客户编号与客户名称。
完成上述业务实体结构定义后,根据查询需求,编写基于业务实体的类似SQL的语句。语句如下:
SELECT SalesOrder.OrderCode,SalesOrder.CustomerID_Name,SalesOrder.OrderType FROM SalesOrder
WHERE SalesOrder.TotalAmount>‘200000’
其中FROM子句中的“SalesOrder”是销售订单业务实体上主节点的唯一标识,SELECT子句中的“SalesOrder.OrderCode”、“SalesOrder.CustomerID_Name”、“SalesOrder.OrderType”,以及WHERE子句中的“SalesOrder.TotalAmount”,采用的是两段式的表达方式,第一段是属性所在节点的唯一标识,第二段是属性的唯一标识。“SalesOrder.OrderCode”查询的是销售订单的订单编号。“SalesOrder.CustomerID_Name”中“CustomerID_Name”属性是个引用属性,代表需要显示的是可读懂的客户名称,而不是不易理解的客户ID。“SalesOrder.OrderType”代表查询的是销售订单的订单类型,根据销售订单业务实体的定义,订单类型属性是个多语属性,需要根据系统上下文的语言环境来自动获取。
在生成阶段,首先将上面的类SQL查询语句进行解析,生成SelectStatement类型的DOM对象。访问SelectStatement中的FromClause子句,将TableRefenerance类型对象中的节点标识“SalesOrder”读取出来,根据实体与实际数据库表的映射文件,找到实际对应的数据库表的表名为“SalesOrder”。
然后遍历SELECT子句中的QueryProperty列表,在该语句中有三个QueryProperty,分别解析如下:
第一个QuertyProperty是ColumnReferenceExpression类型,代表查询的是一个属性列,列的标识为“SalesOrder.OrderCode”,分两段解析为“SalesOrder”与“OrderCode”,代表是ID为“SalesOrder”节点上的ID为“OrderCode”的属性,通过映射文件可查到对应的数据库列为表“SalesOrder”上的“Code”列。第一个QueryProperty生成的执行SQL片段为“SalesOrder.Code”。
第二个QueryProperty也是ColumnReferenceExpression类型,标识为“SalesOrder.CustomerID_Name”,与第一个类似,通过两段式解析,识别出是销售订单实体主节点上的ID为“CustomerID_Name”的属性,这个属性在业务实体上是引用属性,说明数据源不是当前的销售订单,而是引用实体“客户业务实体”,因此应在客户实体上查找对应属性,根据销售订单实体的定义,可以查到“CustomerID_Name”属性引用的是客户实体上的名称属性,根据客户实体与数据库的映射表可查到对应的数据库表为“Customer”,数据库列为“Name”,所以该QueryProperty生成的执行SQL片段为“Customer.Name”。由于查询属性集合中引入了不在表SalesOrder上的列,所以相应的From子句生成的执行SQL片段也要发生变化,需要与因引用属性引入的新表做连接,所以From子句的SQL片段从“SalesOrder”变为“SalesOrder LEFT JOIN Customer ON SalesOrder.CustomerID=Customer.ID”。
第三个QueryProperty也是ColumnReferenceExpression类型,标识为“SalesOrder.OrderType”,与第一个类似,通过两段式解析,识别出是销售订单主节点上的ID为“OrderType”的属性,通过映射文件可以查到对应的数据库列为表“SalesOrder”上的“Type”列。但由于这个属性在业务实体上是个多语属性,说明需要根据上下文语言环境来动态获取。假如当前是英文环境,根据多语设定规则“Type”列的英文列为“Type_EN”,该QueryProperty生成的执行SQL片段为“SalesOrder.Type_EN”。
同样的,WHERE子句中的“SalesOrder.TotalAmount”,生成的执行SQL片段为“SalesOrder.TotalAmount”。
完成如上的解析与处理后,最后实际生成的执行SQL为:
SELECT SalesOrder.Code,Customer.ID,SalesOrder.Type_EN
FROM SalesOrder LEFT JOIN Customer ON SalesOrder.CustomerID=Customer.ID WHERE SalesOrder.TotalAmount>‘200000’。
对比上述基于业务实体的查询语句与实际执行的SQL语句,前者表达业务更简洁。同样类似的方式,也可处理多租户、权限等特性。
通过本方法,使得查询定义专注于业务本身,并保留了SQL优越的表达能力,实现业务在面向对象层面的复用,并且拥有良好的可移植性。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种基于业务实体的查询实现方法,其特征在于,
包含以下步骤:
A、定义业务实体;
B、编写业务查询语句;
C、解析查询语句为语法树;
D、语法树生成执行SQL,并处理关联、国际化、权限信息。
2.根据权利要求1所述方法,其特征在于:
在步骤A中,首先定义查询中使用的业务实体,业务实体包括数据结构与逻辑规则;其中,数据结构定义包含如下两部分:
1)业务实体数据结构中节点的定义
在此为表的定义,它映射到数据库中的表结构,节点的具体描述信息包含唯一标识、编号、名称;默认情况下编号与数据库表名保持一致;
节点下定义若干属性,为表上定义数据列,它映射到数据库中表的列信息;
2)业务实体数据结构中属性的定义
具体描述信息包含唯一标识、编号、名称、数据类型、多语、关联;其中编号默认情况下与数据库列名保持一致。
3.根据权利要求2所述方法,其特征在于,
属性的多语信息,表示该属性是否支持多种语言,若支持多种语言,在实际查询取数中需要根据当前上下文的语言环境取相应的语言字段;
属性的关联信息,表示该属性的数据来源于其他的业务实体,可建立实体之间的引用关系。
4.根据权利要求3所述方法,其特征在于:
在步骤B中,根据实际查询的业务含义,使用业务实体上的节点或属性来组织类似SQL的查询语句;查询语法支持包括:
(1)SELECT查询语句;
(2)INSERT插入语句;
(3)UPDATE更新语句;
(4)DELETE删除语句;
(5)CREATE TABLE创建表语句。
5.根据权利要求4所述方法,其特征在于:
查询语法中支持的SELECT查询语句的组成包括:
查询语法中支持的INSERT插入语句的组成包括:
查询语法中支持的UPDATE更新语句的组成包括:
查询语法中支持的DELETE删除语句的组成包括:
查询语法中支持的CREATE TABLE创建表语句的组成包括:
。
6.根据权利要求5所述的方法,其特征在于:
在步骤C中,将步骤B编写的类SQL查询语句进行解析;解析的过程分为两步:
1)首先,解析器对字符串中的字符进行识别,将字符串语句识别为一组Token集合,集合中既包含了SQL语法中的关键字、保留字、特殊符号,还包含代表业务实体节点与属性的标识符;
2)识别出的Token集合,通过SQL解析器进一步解析为SQL语法树,每个语法正确的语句解析后会形成一个DOM类;这个DOM结构以类、类属性的程序结构表达了查询语句中包含的各个子句,以及各个子句的组成部分;
不同类型的查询语句会解析为不同的DOM类:
(1)SELCT查询语句解析为SelectStatement类;
(2)INSERT插入语句解析为InsertStatement类;
(3)UPDATE更新语句解析为UpdateStatement类;
(4)DELETE删除语句解析为DeleteStatement类;
(5)CREATE TABLE语句解析为CreateTableStatement类。
7.根据权利要求6所述的方法,其特征在于:
SelectStatement类的内部结构如下:
InsertStatement类的内部结构如下:
UpdateStatement类的内部结构如下:
DeleteStatement类的内部结构如下:
CreateTableStatement类的内部结构如下:
。
8.根据权利要求7所述的方法,其特征在于:
在步骤D中,根据步骤C中解析出的DOM类结构,逐一遍历DOM类中的属性,生成语句中各个组成子句的SQL片段;同时在遍历的过程中,找到语句中使用到的所有的业务实体的节点与属性的描述定义,即类型为ColumnReferenceExpression与NamedTableReference的对象;
业务实体通过数据访问层访问实际数据库时,会有一个从业务实体映射到实际数据库表的配置文件(DBO文件),通过该文件,可以将业务实体上的节点与属性映射到实际数据库的表与字段;ColumnReferenceExpression与NamedTableReference对象中记录了节点与属性的唯一标识,通过该标识,在DBO文件上可以查找到实际对应的数据库表与字段,完成替换后,实现查询SQL向实际执行SQL的转换。
9.根据权利要求8所述的方法,其特征在于:
对业务实体上的属性上存在的关联、多语、以及权限特性需要做进一步的处理,具体包含如下:
(1)关联的处理;
(2)多语的处理;
其中,
对于关联的处理,若判断出ColumnReferenceExpression对象中记录的属性是引用属性,需要查找该引用属性来自哪个引用实体;在生成此引用属性的SQL片段时,需要改为从该引用实体的DBO文件中查找实际对应的字段;在生成SQL片段时,引用属性表达为“引用实体的对应数据库表”.“引用实体上对应数据库表的字段”;同时在From子句生成SQL片段后,要在此From的SQL片段后追加与引用实体对应数据库表的连接,追加的片段表达为“LEFTJOIN引用实体对应的数据库表ON实体对应的数据表建立引用的本实体属性=引用实体对应的数据库表.主键”;通过以上动态拼的两段SQL,来实现对引用属性的查询;
对于多语的处理,根据ColumnReferenceExpression对象中记录的属性唯一标识,在对应的业务实体上检查该属性是否是多语属性,若是多语属性,则该属性在生成SQL片段时,不是直接查找DBO文件找到对应数据库字段,而是根据系统上下文中当前环境的语言来确定实际查询的数据库字段的名称是什么;通过动态替换拼SQL,来达到支持多语的目的。
10.根据权利要求9所述的方法,其特征在于:
同样的,在获取到查询语句解析生成的DOM类后,根据业务实体上定义的信息,以类似动态拼SQL的方式,同样自动处理多租户以及权限特性,在生成实际执行SQL时自动对SQL进行处理,使开发人员专注于业务、且移植性好的查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910164485.0A CN109840256B (zh) | 2019-03-05 | 2019-03-05 | 一种基于业务实体的查询实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910164485.0A CN109840256B (zh) | 2019-03-05 | 2019-03-05 | 一种基于业务实体的查询实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109840256A true CN109840256A (zh) | 2019-06-04 |
CN109840256B CN109840256B (zh) | 2023-07-25 |
Family
ID=66885377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910164485.0A Active CN109840256B (zh) | 2019-03-05 | 2019-03-05 | 一种基于业务实体的查询实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109840256B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717073A (zh) * | 2019-10-08 | 2020-01-21 | 普元信息技术股份有限公司 | 云流程平台中结合业务数据实现流程查询处理的系统及其方法 |
CN111367941A (zh) * | 2020-03-23 | 2020-07-03 | 山东浪潮通软信息科技有限公司 | 一种基于业务实体be的查询语言扩展方法及其基本实现方法 |
CN111797278A (zh) * | 2020-05-19 | 2020-10-20 | 武汉乐程软工科技有限公司 | 一种映射关联对象与关系的方法 |
CN112149381A (zh) * | 2019-06-11 | 2020-12-29 | 上海东方网股份有限公司 | 一种用于cms系统中自定义数据格式的处理方法和系统 |
CN112163049A (zh) * | 2020-09-29 | 2021-01-01 | 北京中电普华信息技术有限公司 | 将业务对象映射为数据实体的方法及装置 |
CN112463857A (zh) * | 2020-03-27 | 2021-03-09 | 谭凌 | 基于关系数据库支持回溯数据查询的数据处理方法及系统 |
CN112947936A (zh) * | 2021-03-02 | 2021-06-11 | 广州海量数据库技术有限公司 | 视图数据处理方法及装置 |
CN113362177A (zh) * | 2021-06-30 | 2021-09-07 | 中国农业银行股份有限公司 | 交易数据回溯方法及装置 |
CN114428802A (zh) * | 2022-04-01 | 2022-05-03 | 北京锐融天下科技股份有限公司 | 基于用户权限的数据过滤方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577590A (zh) * | 2013-11-12 | 2014-02-12 | 北京润乾信息系统技术有限公司 | 一种数据查询方法和系统 |
US20180218031A1 (en) * | 2017-01-31 | 2018-08-02 | Salesforce.com. inc. | Systems, methods, and apparatuses for implementing dynamic macros within a multi-tenant aware structured query language |
CN108804460A (zh) * | 2017-05-03 | 2018-11-13 | 北京润乾信息系统技术有限公司 | 一种基于sql的查询语言 |
-
2019
- 2019-03-05 CN CN201910164485.0A patent/CN109840256B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577590A (zh) * | 2013-11-12 | 2014-02-12 | 北京润乾信息系统技术有限公司 | 一种数据查询方法和系统 |
US20180218031A1 (en) * | 2017-01-31 | 2018-08-02 | Salesforce.com. inc. | Systems, methods, and apparatuses for implementing dynamic macros within a multi-tenant aware structured query language |
CN108804460A (zh) * | 2017-05-03 | 2018-11-13 | 北京润乾信息系统技术有限公司 | 一种基于sql的查询语言 |
Non-Patent Citations (1)
Title |
---|
杨昌尧: "数据库查询优化方法研究", 《电脑知识与技术》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149381A (zh) * | 2019-06-11 | 2020-12-29 | 上海东方网股份有限公司 | 一种用于cms系统中自定义数据格式的处理方法和系统 |
CN110717073A (zh) * | 2019-10-08 | 2020-01-21 | 普元信息技术股份有限公司 | 云流程平台中结合业务数据实现流程查询处理的系统及其方法 |
CN110717073B (zh) * | 2019-10-08 | 2024-02-06 | 普元信息技术股份有限公司 | 云流程平台中结合业务数据实现流程查询处理的系统及其方法 |
CN111367941A (zh) * | 2020-03-23 | 2020-07-03 | 山东浪潮通软信息科技有限公司 | 一种基于业务实体be的查询语言扩展方法及其基本实现方法 |
CN112463857B (zh) * | 2020-03-27 | 2023-07-25 | 谭凌 | 基于关系数据库支持回溯数据查询的数据处理方法及系统 |
CN112463857A (zh) * | 2020-03-27 | 2021-03-09 | 谭凌 | 基于关系数据库支持回溯数据查询的数据处理方法及系统 |
CN111797278A (zh) * | 2020-05-19 | 2020-10-20 | 武汉乐程软工科技有限公司 | 一种映射关联对象与关系的方法 |
CN112163049A (zh) * | 2020-09-29 | 2021-01-01 | 北京中电普华信息技术有限公司 | 将业务对象映射为数据实体的方法及装置 |
CN112163049B (zh) * | 2020-09-29 | 2024-04-09 | 北京中电普华信息技术有限公司 | 将业务对象映射为数据实体的方法及装置 |
CN112947936A (zh) * | 2021-03-02 | 2021-06-11 | 广州海量数据库技术有限公司 | 视图数据处理方法及装置 |
CN113362177A (zh) * | 2021-06-30 | 2021-09-07 | 中国农业银行股份有限公司 | 交易数据回溯方法及装置 |
CN113362177B (zh) * | 2021-06-30 | 2024-03-19 | 中国农业银行股份有限公司 | 交易数据回溯方法及装置 |
CN114428802A (zh) * | 2022-04-01 | 2022-05-03 | 北京锐融天下科技股份有限公司 | 基于用户权限的数据过滤方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109840256B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840256A (zh) | 一种基于业务实体的查询实现方法 | |
US8612468B2 (en) | System and method for retrieving data from a relational database management system | |
US7386567B2 (en) | Techniques for changing XML content in a relational database | |
JP5306359B2 (ja) | 複数言語によるデータ記録を関連付ける方法およびシステム | |
US7096216B2 (en) | Performing operations on a set of objects in a database system | |
US7010542B2 (en) | Result set formatting and processing | |
US7461053B2 (en) | System and interface for manipulating a database | |
US7650357B2 (en) | Translation of object queries involving inheritence | |
US7082433B2 (en) | Translation of object queries involving inheritence | |
US7136873B2 (en) | Dynamic filtering in a database system | |
US7162469B2 (en) | Querying an object for properties | |
US7734657B2 (en) | Containment hierarchy in a database system | |
JP4947245B2 (ja) | 情報検索装置、情報検索方法、コンピュータ・プログラムおよびデータ構造 | |
JP2010541079A5 (zh) | ||
US7254808B2 (en) | Method for specifying and parsing expressions | |
US8219569B2 (en) | In-place evolution of XML schemes | |
CN113467785B (zh) | 一种拟态数据库的sql转译方法和系统 | |
US10769188B2 (en) | Text searches on graph data | |
US11080332B1 (en) | Flexible indexing for graph databases | |
WO2022264316A1 (ja) | 情報処理プログラム、情報処理方法および情報処理装置 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230628 Address after: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong Applicant after: Inspur Genersoft Co.,Ltd. Address before: 250100 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech District, Shandong Province Applicant before: SHANDONG INSPUR GENESOFT INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |