CN115543955A - 规范设计方法、装置及相关设备 - Google Patents
规范设计方法、装置及相关设备 Download PDFInfo
- Publication number
- CN115543955A CN115543955A CN202110726148.3A CN202110726148A CN115543955A CN 115543955 A CN115543955 A CN 115543955A CN 202110726148 A CN202110726148 A CN 202110726148A CN 115543955 A CN115543955 A CN 115543955A
- Authority
- CN
- China
- Prior art keywords
- information
- server
- database
- test
- user equipment
- 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.)
- Pending
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/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Abstract
本申请实施例提供一种规范设计方法、装置及相关设备,该方法应用于数据库设计系统,该方法包括:向第一用户设备提供规范设计框;接收所述第一用户设备输入的第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试。本申请实施例可以灵活地设计数据库的规范,能够避免用户在项目开发过程中对于规范设计的繁琐操作,提高数据库建设效率。
Description
技术领域
本申请涉及数据库技术领域,尤其涉及规范设计方法、装置及相关设备。
背景技术
用户在数据库设计、开发以及运行过程中,对于数据库的规范,通常具备强烈的个性化的需求。例如,主键字段的格式、某一字段的小数位数、某一字段的数据类型等等。
用户群体的多样化,使得各种用户对数据库的规范的需求具有较大的差异。设计数据库时,用户通常通过文档形式记录对数据库的规范。由于文档无法运行,无法可视化观看到规范对于数据库的约束,即使出现错误也难以发现,导致用户设计规范的体验较差。而部分数据提供商可以向用户提供定制的数据库软件来满足不同用户对于规范的需求,但是定制软件提高了数据提供商的研发投入。另一方面,数据库使用的过程中,用户对数据库的规范容易产生修改,若使用定制软件可能需要多次更新或升级才能支持用户的对规范的设计,设计规范的效率较低。
因此,如何解决上述问题,是本领域人员正在研究的热点。
发明内容
本申请实施例提供了规范设计方法、装置及相关设备,能够满足用户设计规范的需求,提高设计规范的效率。
第一方面,本申请实施例提供了一种规范设计方法,包括:
向第一用户设备提供规范设计框;
接收所述第一用户设备输入的第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试。
上述方法可以应用于服务器,由服务器或者服务器内部的部件(例如芯片、软件模块或集成电路)来执行。或者上述方法可以应用于数据库设计系统,例如由数据库设计系统的服务端来执行。
本申请实施例中,用户可以根据自身对数据库的要求,通过规范设计框来设计个性化的规范,满足了用户对规范的设计需求。进一步的,用户通过设计框编辑规范,将规范提交到服务器,后续可以即可使用该规范,无需通过版本更新、软件升级等繁琐操作,提高了设计规范的效率。
可选的,规范设计框中包含了可以用于输入规范的信息的组件,规范设计框也可以称为规范设计界面、规范设计界面等。
在第一方面的一种可能的实施方式中,所述第一规范的类型属于以下类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、或序列等。
其中,用户通过对数据库的库、表、字段、或索引等进行规范设计,可以方便对数据库进行管理,提高数据库的性能。
示例性地,第一规范可以是对数据库的规范,例如要求数据库中不允许创建存储过程、不允许保留字为表名、列名等。通过该规范来约束数据库后,可以避免数据库存储数据时出现错误,提高数据库的安全性。
示例性地,第一规范可以是对表的规范,例如要求表的主键有且只有一个字段。通过该规范来约束数据库后,在使用数据库来存储数据时,可以减少数据的冗余,节约存储空间,以及加快增、删、改的速度。
示例性地,第一规范可以是对字段的规范,例如要求字段的注释不为空。这样过该规范来约束数据库后,可以便于管理人员通过字段的注释来了解该字段的相关信息,易于数据库的管理。
在第一方面的又一种可能的实施方式中,所述方法还包括:
通过第一数据库模型测试所述第一规范,得到测试结果;
向所述第一用户设备反馈所述测试结果。
本申请实施例中,规范可以通过在线测试来验证可用性,用户通过测试结果可以直观感受到规范对于数据库的约束,提升用户体验。可选的,第一数据库模型可以是用户指定的数据库模型,或者第一数据库模型还可以是默认的专门用于测试规范的数据库。
在第一方面的又一种可能的实施方式中,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
本申请实施例中,可以通过第一数据库模型来测试用户自定义的规范。其中,差错具体可以为不满足第一规范的要求的数据。
示例性地,第一规范为:数据库中表的数量不超过20个。若第一数据库模型中包含21个表,则可以通过测试结果告知用户第一数据库模型的差错(第一数据库模型中的表的数量不满足该规范的要求)。
示例性地,第一规范为:数据库中字段的注释不为空。若第一数据库中的表的字段的注释均不为空,则测试结果可以指示用户测试完成(例如显示“测试完成”等字样)。或者可替换的,测试结果还可以告知用户第一数据库满足该规范的要求。
在第一方面的又一种可能的实施方式中,所述方法还包括:
发布第一规范。其中,已经发布的规范可以提供给其他用户使用。例如,由第一用户创建的规范在发布后可以共享给第二用户。
在第一方面的又一种可能的实施方式中,所述方法还包括:
接收管理员对待发布的所述第一规范的确认。
由于用户可能不是专业的技术人员,用户所编辑的规范可能会出现错误,对数据库模型或者数据库设计系统造成威胁。而通过管理员对待发布的规范进行审核,可以减小规范出现安全威胁的可能性,提高系统的稳定性。
其中,管理员可以为具体的用户,也可以是用于进行检测的计算机程序,例如人工智能算法等。
在第一方面的又一种可能的实施方式中,所述第一规范包括一个或者多个配置参数。其中,所述配置参数用于调整所述规范所指示的要求。
例如,该规范用于对表的数量进行约束,其中,配置参数为表的数量的阈值。用户A在使用第一规范时可以将配置参数设置为200,而用户B在使用第一规范时可以将配置参数设置为500等。可以看出通过配置参数,可以让使用该规范的人根据自身需求调整规范所指示的要求,从而提高规范的复用程度,提高规范设计的灵活性。
在第一方面的又一种可能的实施方式中,所述通过第一数据库模型测试所述第一规范,得到测试结果,包括:
检查所述第一规范的信息的语法是否正确;
在所述第一规范的信息的语法不正确时,向所述第一用户设备发送错误原因;
在所述第一规范的信息的语法正确时,通过所述第一数据库模型测试所述第一规范,得到所述测试结果。
由于用户可能不是专业的技术人员,用户所编辑的规范可能会出现语法错误。在使用数据库模型进行测试前,可以检查规范是否存在语法错误,避免对数据库模型、系统造成安全威胁。在出现语法错误时,可以向用户反馈,便于用户修改规范。
在第一方面的又一种可能的实施方式中,在用户编辑第一规范时,保存用户对第一规范的修改信息。例如保存用户增、删、改的信息,以及编辑时间、编辑版本等信息,便于管理。
在第一方面的又一种可能的实施方式中,所述方法还包括:
将所述第一规范提供给第二用户设备使用。
在第一方面的又一种可能的实施方式中,所述方法还包括:
向第二用户设备提供一条或者多条规范的信息,所述一条或者多条规范包括所述第一规范;
接收所述第二用户设备发送的规范集的信息,所述规范集的信息包括至少一条规范的信息,所述至少一条规范用于对建立的第二数据库模型进行规范测试。
本申请实施例中,用户可以根据自身对数据库的要求,从多个规范中选择部分或者全部规范以建立规范集,该规范集中的规范用于对数据库模型(便于区分称为第二数据库模型)进行测试。通过规范集,可以让用户方便地整理出对数据库模型的要求,提升用户体验。
进一步的,可供选择的规范可以是自身创建的,也可以是其他用户所共享的,提升了规范设计的自由度,提升了规范的复用性。
在第一方面的又一种可能的实施方式中,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
其中,第二规范的等级用于指示所述第二规范所对应的约束的严格程度。不同等级的规范,在规范检测时对结果的处理上一般不同。
在第一方面的又一种可能的实施方式中,所述第二规范的等级为规则或者建议。
当等级为规则时,若数据库模型不满足第二规范所指示的要求,则可以指示用户修改数据库模型以满足要求。当等级为建议时,若数据库模型不满足第二规范所指示的要求,则可以对用户进行告知、提醒,用户可以修改数据库模型中的差错,也可以不修改差错。
在第一方面的又一种可能的实施方式中,所述方法还包括:
根据所述至少一条规范对所述第二数据库模型进行规范测试,得到检查结果;
向所述第二用户设备发送所述检查结果。
在第一方面的又一种可能的实施方式中,所述根据所述至少一条规范对所述第二数据库模型进行规范测试,得到检查结果,包括:
通过检查模式,根据所述至少一条规范对所述第二数据库模型进行规范测试,得到所述检查结果,所述检查模式属于全量检查、或增量检查中的至少一项。
上述说明了通过规范集中的规范来检查数据库时两种可能的情况。一种可能的情况中,可以根据规范集中的规范来对第二数据库模型中全部数据进行规范测试。又一种可能的情况中,根据规范集中的规范来对第一数据库模型的变更数据进行规范测试。例如,在变更第二数据库模型时(例如添加新的表、或删除字段等),可以触发规范集来对第二数据库进行检查。
在第一方面的又一种可能的实施方式中,所述根据所述至少一条规范对所述第二数据库模型进行规范测试,得到检查结果,包括:
生成所述第二数据库模型的临时只读数据;
根据所述规范集的信息,确定所述至少一个规范;
根据所述至少一个规范对所述临时只读数据进行规范测试,得到所述检查结果。
第二方面,本申请实施例还提供一种规范设计方法,包括:
接收服务器提供的规范设计框;
呈现所述规范设计框;
接收用户通过所述规范设计框输入第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试;
向所述服务器发送所述第一规范的信息。
上述方法可以应用于用户设备,由用户设备或者用户设备内部的部件(例如芯片、软件模块或集成电路)来执行。或者上述方法可以应用于数据库设计系统,例如由数据库设计系统的客户端来执行。
在第二方面的一种可能的实施方式中,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、或序列等。
在第二方面的又一种可能的实施方式中,所述测试结果表征根据第一数据库测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
在第二方面的又一种可能的实施方式中,所述第一规范的信息包括第一配置参数。
在第二方面的又一种可能的实施方式中,所述方法还包括:
接收所述服务器发送的错误原因,所述错误原因表征所述第一规范的信息的语法不正确。
在第二方面的又一种可能的实施方式中,上述第一规范可以由服务端发布,发布后的第一规范可以共享给其他用户或者用户设备使用。
第三方面,本申请实施例还提供一种规范设计方法,包括:
接收服务器提供的一条或者多条规范的信息,所述一条或者多条规范包括第一规范;
确定至少一条规范,所述至少一条规范属于上述一条或者多条规范;所述至少一条规范用于对建立的第二数据库模型进行规范测试;
向所述服务器发送规范集的信息,所述规范集的信息包括所述至少一条规范的信息。
上述方法可以应用于用户设备,由用户设备或者用户设备内部的部件(例如芯片、软件模块或集成电路)来执行。或者上述方法可以应用于数据库设计系统,例如由数据库设计系统的客户端来执行。
需要说明的是,第三方面任一项的方法和第二方面任一项的方法,可以由相同的设备实现,也可以由不同的设备实现。
第三方面的一种可能的实施方式中,所述至少一条规范包括第二规范;所述第二规范对应第二配置参数,所述规范集信息还包括所述第二配置参数的取值信息。
第三方面的又一种可能的实施方式中,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
第三方面的又一种可能的实施方式中,所述方法还包括:
接收来自所述服务器的检查结果,所述检查结果为根据所述至少一条规范对所述第二数据库模型进行规范测试得到的。
第四方面,本申请实施例还提供一种系统,所述系统包括第一用户设备和服务器;其中:
所述服务器,用于向第一用户设备提供所述规范设计框;
所述第一用户设备,用于:
接收所述服务器提供的规范设计框;
呈现所述规范设计框;
接收用户设备在所述规范设计框中输入的第一规范的信息;
向所述服务器发送所述第一规范的信息;
所述服务器,还用于接收所述第一用户设备输入的第一规范的信息,所述第一规范用于对建立的数据库模型进行测试。
在第四方面的一种可能的实施方式中,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、或序列等。
在第四方面的又一种可能的实施方式中,所述服务器还用于:
通过第一数据库模型测试所述第一规范,得到测试结果;
向所述第一用户设备反馈所述测试结果。
在第四方面的又一种可能的实施方式中,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
在第四方面的又一种可能的实施方式中,所述服务器还用于发布所述第一规范。
在第四方面的又一种可能的实施方式中,所述服务器还用于接收管理员对待发布的所述第一规范的确认。
在第四方面的又一种可能的实施方式中,所述第一规范的信息包括第一配置参数。
在第四方面的又一种可能的实施方式中,所述服务器还用于:
检查所述第一规范的信息的语法是否正确;
在所述第一规范的信息的语法不正确时,向所述第一用户设备发送错误原因;
在所述第一规范的信息的语法正确时,通过所述第一数据库模型测试所述第一规范,得到所述测试结果。
在第四方面的又一种可能的实施方式中,所述系统还包括第二用户设备;所述服务器还用于:
将所述第一规范提供给所述第二用户设备使用。
在第四方面的又一种可能的实施方式中,所述系统还包括第二用户设备;
所述服务器,还用于向所述第二用户设备提供一条或者多条规范的信息,所述一条或者多条规范包括所述第一规范;
所述第二用户设备,用于:
接收所述服务器提供的一条或者多条规范的信息;
从所述一条或者多条规范中,选择至少一条规范;所述至少一条规范用于对建立的第二数据库模型进行规范测试;
向所述服务器发送规范集的信息,所述规范集的信息包括所述至少一条规范的信息;
所述服务器,还用于接收所述第二用户设备发送的规范集的信息。
在第四方面的又一种可能的实施方式中,所述服务器还用于:
根据所述至少一条规范对所述第二数据库模型进行规范测试,得到检查结果;
向所述第二用户设备发送所述检查结果。
在第四方面的又一种可能的实施方式中,所述服务器还用于:
通过检查模式,根据所述至少一条规范对所述第二数据库模型进行规范测试,得到所述检查结果,所述检查模式属于全量检查、或增量检查中的至少一项。
在第四方面的又一种可能的实施方式中,所述服务器还用于:
生成所述第二数据库模型的临时只读数据;
根据所述规范集的信息,确定所述至少一个规范;
根据所述至少一个规范对所述临时只读数据进行规范测试,得到所述检查结果。
第五方面,本申请实施例提供一种规范设计装置,该规范设计装置包括处理单元和通信单元,该规范设计装置用于实现第一方面或第一方面任一种可能的实施方式所描述的方法。
在第五方面的一种可能的实施方式中,处理单元和通信单元,用于向第一用户设备提供规范设计框;
通信单元,用于接收所述第一用户设备输入的第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试。
在第五方面的又一种可能的实施方式中,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、或序列等。
在第五方面的又一种可能的实施方式中,所述处理单元,还用于通过第一数据库模型测试所述第一规范,得到测试结果;
所述通信单元,还用于向所述第一用户设备反馈所述测试结果。
在第五方面的又一种可能的实施方式中,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
在第五方面的又一种可能的实施方式中,所述处理单元,还用于发布所述第一规范。
在第五方面的又一种可能的实施方式中,所述通信单元,还用于接收管理员对待发布的所述第一规范的确认。
在第五方面的又一种可能的实施方式中,所述第一规范的信息包括第一配置参数。
在第五方面的又一种可能的实施方式中,所述处理单元,还用于检查所述第一规范的信息的语法是否正确;
所述通信单元,还用于在所述第一规范的信息的语法不正确时,向所述第一用户设备发送错误原因;
所述通信单元,还用于在所述第一规范的信息的语法正确时,通过所述第一数据库模型测试所述第一规范,得到所述测试结果。
在第五方面的又一种可能的实施方式中,所述通信单元,还用于将所述第一规范提供给第二用户设备使用。
在第五方面的又一种可能的实施方式中,
所述通信单元,还用于向第二用户设备提供一条或者多条规范的信息,所述一条或者多条规范包括所述第一规范;
所述通信单元,还用于接收所述第二用户设备发送的规范集的信息,所述规范集的信息包括至少一条规范的信息,所述至少一条规范用于对建立的第二数据库模型进行规范测试。
在第五方面的又一种可能的实施方式中,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
在第五方面的又一种可能的实施方式中,所述处理单元,还用于根据所述至少一条规范对所述第二数据库模型进行规范测试,得到检查结果;
所述通信单元,还用于向所述第二用户设备发送所述检查结果。
在第五方面的又一种可能的实施方式中,所述处理单元,还用于通过检查模式,根据所述至少一条规范对所述第二数据库模型进行规范测试,得到所述检查结果,所述检查模式属于全量检查、或增量检查中的至少一项。
在第五方面的又一种可能的实施方式中,所述处理单元,还用于:
生成所述第二数据库模型的临时只读数据;
根据所述规范集的信息,确定所述至少一个规范;
根据所述至少一个规范对所述临时只读数据进行规范测试,得到所述检查结果。
第六方面,本申请实施例提供一种规范设计装置,该规范设计装置包括处理单元和通信单元,该规范设计装置用于实现第二方面或第二方面任一种可能的实施方式所描述的方法。
在第六方面的一种可能的实施方式中,通信单元,用于接收服务器提供的规范设计框;
处理单元,用于呈现所述规范设计框;
所述通信单元,还用于接收用户通过所述规范设计框输入第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试;
所述通信单元,还用于向所述服务器发送所述第一规范的信息。
在第六方面的又一种可能的实施方式中,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、或序列等。
在第六方面的又一种可能的实施方式中,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
在第六方面的又一种可能的实施方式中,所述第一规范的信息包括第一配置参数。
在第六方面的又一种可能的实施方式中,所述通信单元,还用于接收所述服务器发送的错误原因,所述错误原因表征所述第一规范的信息的语法不正确。
第七方面,本申请实施例提供一种规范设计装置,该规范设计装置包括处理单元和通信单元,该规范设计装置用于实现第三方面或第三方面任一种可能的实施方式所描述的方法。
在第七方面的又一种可能的实施方式中,通信单元,用于接收服务器提供的一条或者多条规范的信息,所述一条或者多条规范包括第一规范;
处理单元,用于确定至少一条规范,所述至少一条规范属于上述一条或者多条规范;所述至少一条规范用于对建立的第二数据库模型进行规范测试;
通信单元,用于向所述服务器发送规范集的信息,所述规范集的信息包括所述至少一条规范的信息。
在第七方面的又一种可能的实施方式中,所述至少一条规范包括第二规范;所述第二规范对应第二配置参数,所述规范集信息还包括所述第二配置参数的取值信息。
在第七方面的又一种可能的实施方式中,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
在第七方面的又一种可能的实施方式中,所述通信单元,还用于接收来自所述服务器的检查结果,所述检查结果为根据所述至少一条规范检查所述第二目标数据库模型得到的。
第八方面,本申请实施例提供一种计算设备,该计算设备包括处理器和存储器;存储器中存储有计算机程序;处理器执行计算机程序时,计算设备执行前述第一方面中任一项所描述的方法。
第九方面,本申请实施例提供一种计算设备,该计算设备包括处理器和存储器;存储器中存储有计算机程序;处理器执行计算机程序时,计算设备执行前述第二方面中任一项所描述的方法。
第十方面,本申请实施例提供一种计算设备,该计算设备包括处理器和存储器;存储器中存储有计算机程序;处理器执行计算机程序时,计算设备执行前述第三方面中任一项所描述的方法。
需要说明的是,上述第六方面、或第七方面所描述的数据传输装置所包含的处理器,可以是专门用于执行这些方法的处理器(便于区别称为专用处理器),也可以是通过调用计算机程序来执行这些方法的处理器,例如通用处理器。可选的,至少一个处理器还可以既包括专用处理器也包括通用处理器。
可选的,上述计算机程序可以存在存储器中。示例性的,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(Read Only Memory,ROM),其可以与处理器集成在同一块器件上,也可以分别设置在不同的器件上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
在一种可能的实施方式中,上述至少一个存储器位于上述计算设备之外。
在又一种可能的实施方式中,上述至少一个存储器位于上述计算设备之内。
在又一种可能的实施方式之中,上述至少一个存储器的部分存储器位于上述计算设备之内,另一部分存储器位于上述计算设备之外。
本申请中,处理器和存储器还可能集成于一个器件中,即处理器和存储器还可以被集成在一起。
第十一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在至少一个处理器上运行时,实现前述第一方面任一项、或第二方面任一项、或第三方面任一项所描述的方法。
第十二方面,本申请提供了一种计算机程序产品,计算机程序产品包括计算机指令,当所述指令在至少一个处理器上运行时,实现前述第一方面任一项、或第二方面任一项、或第三方面任一项所描述的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
本申请第二至第十二方面所提供的技术方法,其有益效果可以参考第一方面的技术方案的有益效果,此处不再赘述。
附图说明
下面将对实施例描述中所需要使用的附图作简单的介绍。
图1是本申请实施例提供的一种数据库规范的示意图;
图2是本申请实施例提供的一种数据库设计系统的架构示意图;
图3是本申请实施例提供的一种规范设计方法的流程示意图;
图4是本申请实施例提供的一种可能的规范设计框的示意图;
图5是本申请实施例提供的又一种可能的规范设计框的示意图;
图6是本申请实施例提供的又一种可能的输入规范信息的界面示意图;
图7是本申请实施例提供的又一种规范设计方法的流程示意图;
图8是本申请实施例提供的一种测试结果的界面示意图;
图9是本申请实施例提供的又一种测试结果的界面示意图;
图10是本申请实施例提供的再一种测试结果的界面示意图;
图11是本申请实施例提供的一种版本对比的界面示意图;
图12是本申请实施例提供的一种规范列表的界面示意图;
图13是本申请实施例提供的一种规范集的信息的界面示意图;
图14是本申请实施例提供的一种规范集列表的信息的界面示意图;
图15是本申请实施例提供的一种规范设计装置的结构示意图;
图16是本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面结合附图对本申请实施例进行详细介绍。
为了便于理解,以下示例地给出了部分与本申请实施例相关概念的说明以供参考。如下所示:
1.数据库、表、字段、索引
数据库(database,DB)是按照数据结构来组织、存储和管理数据的仓库,是一个存储在计算机内的有组织的、可共享的大量数据的集合。
表是一种结构化的文件,用于存储特定类型的数据,例如学生信息、院系目录等。数据库中的数据通常以表的形式存储,每个表都有一个唯一的标识,例如表名。
一个表包括一个或者多个列(column),每列是表中的一个字段,每列中存储着表中某部分的信息。例如数据库中可以包含表明为学生的表,一个列存储学生的学号(student identification,或称为,学生ID),一个列存储学生的名字(name)。
索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
2.数据库模型
在设计数据库时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构,这一过程就称为数据库设计建模。它主要包括两部分内容:确定最基本的数据结构、对约束建模。数据库模型可以包括:概念模型、逻辑模型、物理模型等。
概念模型(Conceptual model),也称为信息模型,它是按照用户的观点来对数据和信息建模。概念模型用以描述用户业务需求的一些概念,概念不包含属性,有实体集、联系集的分析结构。如学校数据库中的“学生”和“学院”等。
逻辑模型是将概念模型具体化。要实现概念模型所描述的东西,需要那些具体的功能和处理那些具体的信息,这就到了需求分析的细化阶段。逻辑模型主要包含实体、属性、关系等结构。
其中,实体是客观存在并可相互区别的事务。例如具体的学生、订单、物品等。同一类型的实体的结合称为实体集。属性是实体所具有的某一特性。一个实体通过若干个属性来刻画。关系,也称为联系,实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。以学生数据为例:“学生”实体包括:学号、姓名、性别、出生年月、所属学院的ID等属性;“学院”实体包括:学院的ID,学院名称,地址,院长名称等属性;“学生”和“学院”可以进行关联,一个学生隶属于至少一个学院。逻辑模型通过实体-联系(Entity-Relationship,E-R)图,描述系统要实现什么业务,描述该业务流程中,各个实体之间的关联关系。
物理模型就是针对上述逻辑模型所说的内容,在具体的物理数据库引擎上实现出来。如在MySQL、Oracle、MongoDB等数据库上,将逻辑模型实体关系,以物理表、字段、主外键等实现。
3.数据库设计系统
数据库设计系统是一种可视化的数据库设计与管理的工具,用于设计、建立、使用和维护数据库。用户可以在数据库设计系统中创建(或编辑)包括图表以及图表之间关联关系的设计视图,数据库设计系统能够存储用户创建(或编辑)的数据库设计视图,并可以建立数据库的模型(或者还包括存储数据库的数据)。
应理解,本申请中的用户指示的是数据库设计系统的用户,包括数据库的设计者或开发者。
数据库设计的过程中,对数据库的规范设计是设计过程中重要的一环。其中,规范可以包含以下规范中的至少一项:三范式要求、部署规范、表定义规范、命名规范、索引规范、结构化查询语言(structured query language,SQL)规范、事务规范、性能规范、可读性规范等。用户在数据库设计、开发以及运行过程中,对于数据库设计范式、设计开发规范的检查和约束,通常具备强烈的个性化的需求。
例如,请参见图1,图1是本申请实施例提供的一种可能数据库规范的示意图。如图1所示的数据库模型可以包含学生表、学院表(仅为示例),分别对应学生实体和学院实体。其中,学生实体(学生表)可以包含以下属性(字段):学生标识(sutdent_ID)、学生名称(sutdent_name)、性别(sex)、出生日期(birth)、学院标识(dept_ID),学院实体(学院表)可以包含以下属性(字段):学院标识(dept_ID)、学院名称(dept_name)、学院地址(location)、院长(dean)。在数据库层面,规范可以对数据库的部署(例如存储位置、存储格式等)进行约束,如以下规范:数据库不支持视图、不支持函数、数据库中的表数量等。在表层面,可以对表的定义、命名、可读性等进行约束,如以下规范:禁止表无主键、主键有且只有一个字段、不允许外键等。在字段层面,可以对字段的定义、命名、事务等进行约束,如以下规范:字段注释不为空、不允许使用文本(text)类型的字段、varchar类型的字段长度等。当然,规范还可以包含实体、属性、关系、索引、外键、触发器、视图、存储过程、函数、或序列等等层面的索引,本身对于上述层面的规范同样适用。用户群体的多样化,使得各种用户对数据库的规范的需求具有较大的差异(例如,A用户需要约束数据库中,字段为varchar类型的字段的长度不超过50,B用户需要约束varchar类型的字段的长度不超过100)。一些场景中,用户设计数据库时,往往通过文档形式记录对数据库的规范。由于文档无法运行,无法可视化观看到规范对于数据库的约束,即使出现错误也难以发现,导致用户设计规范的体验较差。
一些场景中,用户通过数据库软件提供商来进行规范设计。这种情况下,数据库软件提供商通常会预置一些设计规范,或随客户端软件升级、或服务端软件升级,来支持特定用户所需要的规范。数据库软件提供商可以向用户提供定制的数据库软件来满足不同用户对于规范的需求。但是,一方面,定制软件提高了数据提供商的研发投入。另一方面,数据库使用的过程中,用户对数据库的规范容易产生修改,若使用定制软件可能需要多次更新或升级才能支持用户的对规范的设计,设计规范的效率较低。
为了解决上述问题,本申请实施例提供一种数据库设计系统以及规范设计方法。通过本申请实施例提供的方法,用户可以根据自身对数据库的要求,通过规范设计框来设计个性化的规范,满足了用户对规范的设计需求。进一步的,用户通过设计框编辑规范,将规范提交到服务器,后续可以即可使用该规范,无需通过版本更新、软件升级等繁琐操作,提高了设计规范的效率。
下面对本身申请实施例的架构进行描述。
本申请实施例中的数据库设计系统可以用于提供数据库设计环境,可以包含硬件模块、或软件模块(如应用程序、组件等)、或硬件模块与软件模块的组合等。一种可能的设计中,数据库设计系统可以包括客户端和服务端。客户端可以用于呈现规范设计框等与用户交互的组件,服务端用于向客户端提供规范设计框、处理用户提交的数据等。
如图2所示,图2是本申请实施例提供的一种可能的数据库设计系统的架构示意图。如图2所示的系统包括至少一个用户设备201和至少一个服务器202。
其中,用户设备201是具有数据处理、数据收发能力的电子设备,可以实现前述客户端的功能。例如可以包括手持终端、可穿戴设备、车辆、机器人等独立设备,也可以是包含在独立设备中的部件(例如芯片或集成电路)。示例性地,当终端装置为手持终端时,可以是手机(mobile phone)、平板电脑(pad)、电脑(如笔记本电脑、掌上电脑等)等。
服务器202是具有数据处理、数据收发能力的装置,可以实现前述服务端的功能。应理解,此处便于描述称为服务器,其具体形式可以为实体装置如服务器、或主机等,也可以是虚拟装置如虚拟机、或容器等。可选的,服务器202可以独立的部署在一个设备中,也可以分布式的部署在多个设备上。
服务器202可以向用户设备201提供规范设计框,相应的,用户设备呈现规范设计框。用户设备201或者使用用户设备201的用户可以通过规范设计框输入规范的信息,该规范的信息可以由用户设备201发送给服务器202。服务器可以保存、测试、发布用户设备202发送的规范的信息,从而使得用户根据自己需求建立规范。
在一种可能的设计中,如图2所示的服务器202可以为云平台。其中,云平台包含云服务提供商提供的大量基础资源(包括但不限于计算资源、存储资源、或网络资源等),其中计算资源可以是大量的计算设备(例如服务器、虚拟机)。
在一种可能的实施场景中,上述数据库设计系统能够由云服务提供商在云平台抽象成一种数据库设计的云服务提供给用户。例如,用户购买数据库设计云服务之后,云平台响应于用户触发的数据库设计系统实例创建操作,在云服务提供商提供的资源上创建数据库设计系统实例,然后向用户提供规范设计框(或称规范设计界面)。相应的,用户所使用的用户设备可以呈现该规范设计框,以使得用户可以通过该规范设计框进行规范设计。
其中,购买数据库设计云服务的方式可以包括:先预充值再根据最终资源的实际使用情况进行结算,或者,按使用云服务的时间或者按照购买的云服务的功能或资源结算。
需要说明的是,在本申请实施例中,云平台可以是中心云的云平台、边缘云的云平台或包括中心云和边缘云的云平台,本申请实施例对其不做具体限定。并且,当云平台为包括中心云和边缘云的云平台时,该数据库设计系统可以部分部署在边缘云的云平台中,部分部署在中心云的云平台中。
请参见图3,图3是本申请实施例提供的一种规范设计方法的流程示意图。可选的,该方法可以应用于图2所示的数据库设计系统。
如图3所示的规范设计方法至少包括步骤S301至步骤S304。
步骤S301:服务器向第一用户设备提供规范设计框。相应的,用户设备接收服务器提供的规范设计框。
其中,服务器和第一用户设备的描述可以参考前述。规范设计框能够提供规范设计功能,也可以称为规范设计组件、规范设计界面、或规范设计窗口等。
在一种可能的设计中,用户可以通过第一用户设备发送请求消息,请求服务器提供规范设计框。相应的,服务器响应请求消息,向第一用户设备提供规范设计框。
步骤S302:第一用户设备呈现规范设计框。
第一用户设备向用户呈现规范设计框,以使得用户可以使用该规范设计框进行规范设计。可选的,该规范设计框可以通过计算机程序、源文件、浏览器等等来呈现。以下例举两种可能的设计:
设计1:规范设计框通过计算机程序来呈现。例如,规范设计框通过安装包、镜像文件、源文件等方式提供。用户通过下载程序安装包、或者计算机可读存储介质拷贝安装文件,获取用于进行规范设计的程序文件。当该程序文件在第一用户设备上运行时,可以呈现规范设计框。
设计2:规范设计框通过浏览器来呈现。例如,用户通过访问统一资源定位符(Uniform Resource Locator,URL),可以获取网页资源。该网页资源可以通过浏览器渲染呈现,得到网页形式的界面。
一种可能的设计中,如图4所示,图4是本申请实施例提供的一种可能的规范设计框的示意图。其中,区域401包括可以用于输入规范的代码。区域401以检查字段数量的规范为例进行说明,第一行用于对数据库模型的表中的tb表进行循环检查,第二行用于判断tb表中列数(columns)是否大于配置参数(value),若列数大于value,则输出“规范检查:表字段数量超过上限值”。其中,len()、int()、add_rules_tips()等为预先定义或者预先配置的算法(或称函数),仅为示例。
如图4还示例性地提供了界面中其他组件的可能设计。示例性地,区域401用于展示当前处于规范设计流程中的哪一个流程,例如可以包含“任务管理”流程、“全量代码检查”流程、“增量代码检查”流程。“版本对比”用于对该规范的多个版本进行比较,便于记录修改情况。“保存草稿”“关闭”“测试”“下一步”等控件用于与用户进行交互、或进行流程之间的跳转等。“规范”用于指示规范的类型,示例性地,可以包含“所有规范”和“我维护的”两种类型。其中,“所有规范”控件用于指示包含可查看的规范列表的界面,便于用户查看可供使用的规范、或者已经发布的规范、或者处于草稿状态的规范、或者待审核的规范等等。“我维护的”控件用于指示包含用户具有维护权限的规范列表的界面。“规范集”用于指示规范集的分类,示例性地,可以包含“所有规范集”和“我管理的”两种分类。其中,“所有规范集”控件用于指示包含可查看的规范集列表的界面,便于用户查看可供使用的规范集、或者处于草稿状态的规范集、或者待审核的规范集等等。“我管理的”控件用于指示包含用户具有管理权限的规范集列表的界面。
步骤S303:第一用户设备接收用户通过所述规范设计框输入第一规范的信息。
具体地,用户可以根据需求,在规范设计框中输入第一规范的信息。
其中,第一规范的信息可以包含规范的内容、规范的ID、规范的名称、规范类型、规范中的配置参数的参数类型、规范说明、规范的维护人、或规范的适用场景等中的一项或者多项。
其中,规范的内容用于指示规范对数据库模型的约束。可选的,规范的内容可以是代码形式(如区域401所示的代码)。通过少量代码来实现规范所指示的约束,可以提高规范编辑的效率。
或者可选的,规范的内容也可以是通过组件等形成的规范。其中,组件是指对数据、方法或数据结构等的简单封装。示例性地,请参见图5,图5是本申请实施例提供的又一种可能的规范设计框的示意图。如图5所示的区域501用于用户拖拽组件、变更组件位置、输入参数等,区域502所示为一种示例性的组件库,可以包含对象、结构、变量、函数、或特殊语句(未示出)等。用户在组件库中选择组件并拖拽到区域501中,编辑组件的位置或者输入参数、输出参数,即可得到规范的内容,无需编辑代码,降低了规范定义的技术门槛,提升用户体验。
可选的,规范的信息中可以包括一个或者多个配置参数。其中,所述配置参数用于调整所述规范所指示的要求。例如,如区域401中所示的规范用于对表的数量进行约束,其中,配置参数(value)为表的数量的阈值。用户A在使用第一规范时可以将配置参数设置为200,而用户B在使用第一规范时可以将配置参数设置为500等。通过配置参数,可以让使用该规范的用户根据自身需求调整规范所指示的要求,从而提高规范的复用程度,提高规范设计的灵活性。
可选的,第一规范的规范类型属于以下类型中的一个或者多个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、或序列等。其中,用户通过对数据库的库、表、字段、索引以及其他规范类型等进行规范设计,可以方便对数据库进行管理,提高数据库的性能。示例性地,第一规范可以是对数据库的规范,例如要求数据库中不允许创建存储过程、不允许保留字为表名、列名等。通过该规范来约束数据库后,可以避免数据库存储数据时出现错误,提高数据库的安全性。示例性地,第一规范可以是对表的规范,例如要求表的主键有且只有一个字段。通过该规范来约束数据库后,在使用数据库来存储数据时,可以减少数据的冗余,节约存储空间,以及加快数据库增、删、改的速度。示例性地,第一规范可以是对字段的规范,例如要求字段的注释不为空。这样过该规范来约束数据库后,可以便于管理人员通过字段的注释来了解该字段的相关信息,易于数据库的管理。其余类型的规范也用于对数据库进行约束,提高数据库性能,此处不再赘述。
可选的,上述规范的信息中,对于新增的规范,规范的ID可以在用户提交该规范内容后(例如用户点击“保存草稿”“测试”或“下一步”后,该规范被提交到服务器)由服务器确定。对于已经存在的规范,规范的ID可以从服务器获取。规范名称用于对规范进行命名。规范的配置参数是规范中定义的用于调整阈值、取值等的参数,配置参数的类型可以包括布尔型、整型、字符型、或字符串型等。规范说明用于对规范进行注释,例如说明该规范的注意事项、示例、默认情况下的取值等等。规范的维护人用于指示具有管理、或编辑该规范的权限的用户。适用场景表征该规范可以适用何种数据库模型,例如可以为mySQL、或Oracle等类型的数据库。
示例性地,请参加图6,图6是本申请实施例提供的又一种可能的输入规范信息的界面示意图。可以看出,用户通过区域601,可以输入第一规范的信息。应理解,图6所示是一种示例性地说明,具体实现过程中,可以包含更多的信息或者更少的信息。例如,区域601中可以不包含使用场景,而是在使用规范时(例如建立规范集时)再编辑规范所适用的场景。
可选的,在设计规范时,服务器还可以提供开发指导,例如提供参考文件、设计流程说明等信息。可选的,用户新增、变更规范的信息时,服务器可以记录用户操作的时间、或者记录用户保存变更的时间,形成操作日志,便于管理。
步骤S304:第一用户设备向服务器发送第一规范的信息。
第一用户设备向服务器发送第一规范的信息,相应的,服务器接收第一用户设备发送的第一规范的信息。
服务器可以保存第一规范的信息,完成用户对规范的设计,无需通过版本更新、软件升级等繁琐操作来设计规范,提高了设计规范的效率。
该第一规范用于对建立的数据库进行规范测试。具体的,规范表征了用户对数据库模型的约束(或者说要求),规范测试可以检查数据库模型是否满足第一规范所指示的约束。例如,第一规范为:数据库中表的数量不能大于500。通过第一规范对建立的数据库进行规范测试时,则检查数据库中的表数量是否满足第一规范所指示的约束。若数据库中表的数量小于或者等于500,则满足第一规范所指示的约束;若数据库中的表的数量大于500,则不满足第一规范所指示的约束。
可选的,使用规范对数据库模型进行规范测试时,可以是全量检查,也可以是增量检查。一种可能的情况中,可以根据第一规范对数据库模型中全部数据进行规范测试。又一种可能的情况中,可以根据第一规范对数据库模型的变更数据进行规范测试。例如,在变更数据库模型时(例如添加新的表、或删除字段等),可以第一规范对第二数据库进行检查。
可选的,请参见图7,图7是本申请实施例提供的一种规范设计方法的流程示意图。一种可能的设计中,上述图3所示的规范设计方法还可以包括图7所示的步骤S305至步骤311中的部分或者全部步骤。
一种设计中,上述规范设计方法还可以包括步骤S305,如下所示:
步骤S305:服务器通过第一数据库模型,对第一规范进行测试,得到测试结果。
具体的,规范可以通过在线测试来验证可用性,用户通过测试结果可以直观感受到规范对于数据库的约束,提升用户体验。可选的,第一数据库模型可以是用户指定的数据库模型,或者第一数据库模型还可以是默认的专门用于测试规范的数据库。
测试结果可以表征测试所述第一规范完成,或者,测试结果用于指示所述第一数据模型中的差错。
步骤S306:服务器向第一用户设备反馈测试结果。相应的,第一用户设备接收服务器发送的测试结果。
示例性地,请参见图8,图8是本申请实施例提供的一种可能的测试结果的界面示意图。图8所示的测试过程为图4所示的规范的测试,由于图4所示的规范包含配置参数,因此用户在测试规范时可以定义配置参数的取值。用户通过区域801中的组件,来选定用于测试规范的数据库模型(可选的,还可以选定数据库模型的分支)。区域801用于显示测试结果。
可选的,差错具体可以为不满足第一规范的要求的数据。示例性地,测试结果可以罗列不满足要求的数据,或者测试结果也可以指示不满足第一规范的要求的结构(例如,提示数据库的部署不满足要求、或者提示表不满足要求等)。
示例性地,请参见图9,图9是本申请实施例提供的又一种可能的测试结果的界面示意图。如图9所示,进行测试的规范为“主键字段按照“uq_字段名称”进行命名”,其用于对数据库中的字段进行约束。例如,若字段“sutdent_ID”是学生表的主键,其命名方式不是“uq_字段名称”的命名形式,则在测试结果中展示对该字段的报错提示。进一步的,还可以指示正确的命名格式(例如,说明正确的字段格式为“uq_sutdent_ID”),便于用户修改。
应理解,由于用户可能不是专业的技术人员,用户所编辑的规范可能会出现语法错误。服务器可以检查规范是否存在语法错误,尤其在使用数据库模型对规范进行测试之前或者保存规范的信息之前,避免对数据库模型、系统造成安全威胁。
一种设计中,服务器可以检查所述第一规范的信息的语法是否正确。在所述第一规范的信息的语法正确时,通过所述第一数据库模型测试所述第一规范,得到所述测试结果。
可选的,在所述第一规范的信息的语法不正确时,向所述第一用户设备发送错误原因,便于用户修改规范。示例性地,请参见图10和图11,图10是本申请实施例提供的又一种可能的测试结果的界面示意图,图11是本申请实施例提供的一种可能的版本对比的界面示意图。如图11中区域1101是用户之前提交测试的规范的内容,以代码形式为例,其第一行表示检查数据库模型中的表中的tb表,第二行用于计算表中的索引数量。示例性的,在计算索引数量时会使用到“index_type()”函数,但是用户误输入为“indexType()”函数。在将规范的信息提交测试后,服务器可以在语法检查过程中,可以得知没有可以调用的“indexType()”函数,因此可以提示用户进行语法检查,如图10中区域1001所示。可以看出,异常界面将具体显示出,异常所处的函数和代码行号,便于用户定位问题,修改代码再次测试。
可选的,用户可以检查规范的内容的第二行,或者可以查看开发文档、寻求技术支持等方式,修改规范的内容。用户修改规范提交后,在语法正确的情况下,可以通过数据库模型对规范进行测试,得到测试结果。
可选的,当用户编辑规范后,服务器可以保存用户的修改信息。在用户编辑第一规范时,保存用户对第一规范的修改信息。例如保存用户增、删、改的信息,以及编辑时间、编辑版本等信息,便于管理。进一步的,服务器还可以提供版本对比服务。例如图11所示的区域1101和区域1102,可以显示修改的内容。
又一种可能的设计中,上述规范设计方法还可以包含图7所示的步骤S307,具体如下:
一种设计中,上述规范设计方法还可以包括步骤S307,如下所示:
步骤S307:服务器发布第一规范。
具体地,规范可以存在多种状态,而用户编辑的规范可以处于待发布的状态。一种可能的设计中,为了提高系统的稳定性和安全性,没有经过发布的规范不能直接用于对数据库模型进行规范测试。
可选的,在用户保存规范后、或者用户测试规范通过后,服务器可以对规范进行发布,已经发布的规范可以上线,或者展示在规范全集(或称为规范列表)中。进一步的,已经发布的规范被可以提供给其他用户使用。例如,由第一用户创建的规范在发布后可以共享给第二用户。
这里需要说明的是,步骤S305是用于测试第一规范的可用性,所使用的数据库可以是专门用于测试规范的数据库,或者所使用的数据库是第一用户具有使用权限的数据库,因此可以对未发布的规范进行测试。而第一规范发布后,该规范可以被其他用户(例如第二用户)选定用于对其他数据库(例如第二用户所管理的数据库)进行测试,因此为了提高系统的稳定性和安全性,需要设置对规范进行发布的流程。
可选的,服务器可以接收用户的请求信息,该请求信息用于请求服务器发布第一规范。相应的,服务器响应用户的请求信息,发布第一规范。
可选的,服务器还可以接收管理员对待发布的第一规范的确认,从而发布第一规范。由于用户可能不是专业的技术人员,用户所编辑的规范可能会出现错误。在规范包含语法错误时,可能会对数据库模型或者数据库设计系统造成威胁。而通过管理员对待发布的规范进行审核,可以减小规范出现安全威胁的可能性,提高系统的稳定性。其中,管理员可以为具体的用户,也可以是用于进行检测的计算机程序,例如人工智能算法等。
可选的,已经发布的第一规范可以提供给第二用户设备使用。例如,第一用户创建了第一规范,该第一规范发布后,可以被提供给第二用户。第二用户可以根据自身的需求,选择使用第一规范对第二数据库进行规范测试。可以看出,可供选择的规范可以是自身创建的,也可以是其他用户所共享的,提升了规范设计的自由度,提升了规范的复用性。
进一步可选的,用户可以指示第一规范的分享范围。例如,第一用户为A企业的员工,第一用户可以指示其创建的第一规范可以分享给A企业的其他用户。则A企业的第二用户可以使用第一规范,而B企业的第三用户则无法使用第一规范。
又一种可能的设计中,上述规范设计方法还可以包含图7所示的步骤S308,具体如下:
步骤S308:服务器向第二用户设备提供一条或者多条规范的信息。相应的,第二用户设备可以接收服务器提供的一条或者多条规范的信息。
具体地,该一条或者多条规范可供第二用户设备(或者使用第二用户设备的用户)选择,以对数据库模型进行规范测试。
请参见图12,图12本申请实施例提供的一种可能的规范列表的界面示意图。如12所示,区域1201用于展示上述一条或者多条规范的信息。区域1202所示的控件用于指示查看详细内容,区域1203所示的控件用于调整每一页展示的规范的信息的条目,区域1204所示的组件用于调整当前查看的页码。
其中,上述一条或者多条规范可以为已发布的规范。例如,第一规范已经发布后,上述一条或者多条规范的包含该第一规范。可选的,第二用户设备(或者使用第二用户设备的用户)具有使用上述一条或者多条规范的权限。
应理解,第一用户设备和第二用户设备可以是同一个设备,也可以是不同的设备。
又一种可能的设计中,上述规范设计方法还可以包含图7所示的步骤S309,具体如下:
步骤S309:第二用户设备确定至少一条规范。
其中,上述至少一条规范属于前述的一条或者多条规范。
可选的,第二用户设备可以接收用户的选择操作或者确认操作,从而确定至少一条规范。
或者可选的,第二用户设备可以根据预先定义或者预先配置的算法,确定至少一条规范。例如,第二用户设备预先配置了默认情况下所选择的至少一条规范。
一种可能设计中,用户可以根据自身对数据库的要求,从多个规范中选择部分或者全部规范以建立规范集,该规范集中的规范用于对数据库模型(便于区分称为第二数据库模型)进行测试。通过规范集,可以让用户方便地整理出对数据库模型的要求,提升用户体验。
可选的,可供选择的规范可以是自身创建的,也可以是其他用户所共享的,提升了规范设计的自由度,提升了规范的复用性。
又一种可能的设计中,上述规范设计方法还可以包含图7所示的步骤S309,具体如下:
步骤S310:第二用户设备向服务器发送规范集的信息。相应的,服务器接收第二用户设备发送的规范集的信息。
其中,规范集的信息包括至少一条规范的信息。进一步的,至少一条规范用于对建立的第二数据库模型进行规范测试。
例如,第二用户具有管理第二数据库模型的权限。第二用户可以从可供选择多个规范中,选择至少一条规范组成规范集,该规范集中的规范指示第二用户对于第二数据库模型的约束。该规范集可以用于对第二数据库模型进行规范测试,或者在第二数据库模型进行变更时进行提醒。
示例性的,请参见图13,图13是本申请实施例提供的一种可能的规范集的信息的界面示意图。如图13的区域1301展示了规范集中包含的至少一条规范的信息。以库相关的规范为例,可以包含“不允许视图”“不允许函数”“不允许存储过程”“不允许触发器”“不允许保留字/关键字为表名/列名”“数据库表数量最大值”等规范。
可选的,规范集的信息还可以包含规范的等级。例如,上述规范中包括第二规范(便于描述称为第二规范,第二规范与前述的第一规范可以是同一个规范),第二规范可以存在两个等级,规范集的信息可以包含第二规范的等级。进一步的,其中,第二规范的等级用于指示所述第二规范所对应的约束的严格程度。不同等级的规范,在规范检测时对结果的处理上一般不同。
示例性的,规范的等级可以为规则或者建议。如图13的区域1302所示,通过“问题级别”这一列,可以对规范的等级进行设置,或者使用默认的规范等级。
可选的,规范集的信息还可以包含规范的配置参数。例如,规范集的规范中包括第二规范,第二规范包含一个或者多个配置参数,则规范集信息还包括该配置参数的取值。示例性的,如区域1303的组件,用于设置数据库表数量的取值。
可选的,规范集的信息还可以包含规范的状态。示例性的,规范的状态可以为已启用、未启用等状态。示例性的,如区域1304所示的标识,说明“不允许视图”这一规范处于未启用状态。类似的,如区域1305所示的标识,说明“数据库表数量最大值”这一规范处于启用状态。可选的,如区域1306所示的空间,用于全部对该分类下的规范全部启用或者全部未启用。
一种可能的设计中,规范集的信息还可以包含规范集的名称、规范集所适用的数据库类型、检查规范的数量、所属部门、管理员或创建时间等信息。其中,数据类型例如可以包含“MySQL”“GMDBV5”“Oracle”“CaussDB_T”或“Cassandra”等数据类型。示例性的,如区域1307所示是本申请实施例提供的一种示例性的规范集的信息。
可选的,用户可以设置多个规范集。示例性的,请参见图14,图14是本申请实施例提供的一种可能的规范集列表的信息的界面示意图。其中,区域1401用于展示规范集列表,其中,“数据库类型”这一列指示了规范集所适用的数据库类型,“检查规范”这一列指示了检查规范的数量,“部门”这一列指示了规范集所属的部门,“操作”这一列指示了可以进行的操作。如区域1402所指示的组件用于查看规范集的详细内容。
又一种可能的设计中,上述规范设计方法还可以包含图7所示的步骤S311,具体如下:
步骤S311:服务器根据至少一条规范对第二数据库模型进行规范测试,得到检查结果。
可选的,检查结果可以表征规范测试完成,或者,测试结果用于指示所述第一数据模型中的差错。进一步的,差错具体可以为不满足至少一条规范的要求的数据。示例性地,测试结果可以罗列不满足要求的数据,或者测试结果也可以指示不满足第一规范的要求的结构(例如,提示数据库的部署不满足要求、或者提示表不满足要求等)。
可选的,在规范的等级不同时,检查结果所指示的内容通常不同。示例性的,以第二规范为例,当第二规范的等级为规则时,若数据库模型不满足第二规范所指示的要求,则检查结果可以指示用户修改数据库模型以满足要求。当第二规范的等级为建议时,若数据库模型不满足第二规范所指示的要求,则通过检查结果可以对用户进行告知、提醒,用户可以修改数据库模型中的差错,也可以不修改差错。
在一种可能的设计中,服务器可以通过检查模式,根据所述至少一条规范对所述第二数据库模型进行规范测试,得到所述检查结果。其中,检查模式可以为全量检查、或增量检查等检查模式。示例性的,一种可能的情况中,可以根据规范集中的规范来对第二数据库模型中全部数据进行规范测试。又一种可能的情况中,根据规范集中的规范来对第一数据库模型的变更数据进行规范测试。例如,在变更第二数据库模型时(例如添加新的表、或删除字段等),可以触发规范集来对第二数据库进行检查。
可选的,服务器中可以包含用于进行规范测试的规范测试引擎,或者服务器可以与规范测试引擎进行连接。服务器将第二数据模型的设计数据和规范的内容提供到规范测试引擎中,规范测试引擎执行规范测试,然后将测试结果发送给服务器,由服务器提供给第二用户设备(或者规范测试引擎直接将检查结果提供给第二用户设备)。
可选的,服务器对第二数据库模型进行规范测试时,可以采用链式工作流进行测试。以规范集中包含多条规范为例,服务器根据多条规范对第二数据库模型进行规范测试,将多条规范的测试结果在一个检查结果中返回,避免用户需要接收多个检查结果,提升执行效率。
可选的,服务器对第二数据模型进行测试时,可以生成数据模型的只读数据,避免规范对数据库模型造成损害。示例性的,服务器生成第二数据库模型的临时只读数据,然后根据所述规范集的信息确定至少一个规范。服务器根据所述至少一个规范对所述临时只读数据进行规范测试,得到检查结果。
又一种可能的设计中,上述规范设计方法还可以包含图7所示的步骤S312,具体如下:
步骤S312:服务器向第二用户设备提供检查结果。相应的,第二用户设备接收服务器提供的检查结果。
图3所示的实施例中,用户可以根据自身对数据库的要求,通过规范设计框来设计个性化的规范,满足了用户对规范的设计需求。进一步的,用户通过设计框编辑规范,将规范提交到服务器,后续可以即可使用该规范,无需通过版本更新、软件升级等繁琐操作,提高了设计规范的效率。
上述详细阐述了本申请实施例的方法,下面提供本申请实施例的装置。
请参见图15,图15是本申请实施例提供的一种规范设计装置150的结构示意图,该规范设计装置150可以为服务器或用户设备,也可以为服务器或用户设备中的一个器件,例如芯片、软件模块、集成电路等。该规范设计装置150用于实现前述的规范设计方法,例如图3、或者以及图7所示实施例的规范设计方法。
一种可能的实施方式中,该规范设计装置150可以包括通信单元1501和处理单元1502。
一种可能的设计中,上述规范设计装置150可以为前述实施例中的服务器。
在一种可能的实施方式中,处理单元1502和通信单元1501,用于向第一用户设备提供规范设计框;
通信单元1501,用于接收所述第一用户设备输入的第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试。
在又一种可能的实施方式中,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、或序列等。
在又一种可能的实施方式中,所述处理单元1502,还用于通过第一数据库模型测试所述第一规范,得到测试结果;
所述通信单元,还用于向所述第一用户设备反馈所述测试结果。
在又一种可能的实施方式中,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
在又一种可能的实施方式中,所述处理单元1502,还用于发布所述第一规范。
在又一种可能的实施方式中,所述通信单元1501,还用于接收管理员对待发布的所述第一规范的确认。
在又一种可能的实施方式中,所述第一规范的信息包括第一配置参数。
在又一种可能的实施方式中,所述处理单元1502,还用于检查所述第一规范的信息的语法是否正确;
所述通信单元,还用于在所述第一规范的信息的语法不正确时,向所述第一用户设备发送错误原因;
所述通信单元,还用于在所述第一规范的信息的语法正确时,通过所述第一数据库模型测试所述第一规范,得到所述测试结果。
在又一种可能的实施方式中,所述通信单元1501,还用于将所述第一规范提供给第二用户设备使用。
在又一种可能的实施方式中,所述通信单元1501,还用于向第二用户设备提供一条或者多条规范的信息,所述一条或者多条规范包括所述第一规范;
所述通信单元,还用于接收所述第二用户设备发送的规范集的信息,所述规范集的信息包括至少一条规范的信息,所述至少一条规范用于对建立的第二数据库模型进行规范测试。
在又一种可能的实施方式中,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
在又一种可能的实施方式中,所述处理单元1502,还用于根据所述至少一条规范对所述第二数据库模型进行规范测试,得到检查结果;
所述通信单元1501,还用于向所述第二用户设备发送所述检查结果。
在又一种可能的实施方式中,所述处理单元1502,还用于通过检查模式,根据所述至少一条规范对所述第二数据库模型进行规范测试,得到所述检查结果,所述检查模式属于全量检查、或增量检查中的至少一项。
在又一种可能的实施方式中,所述处理单元1502,还用于:
生成所述第二数据库模型的临时只读数据;
根据所述规范集的信息,确定所述至少一个规范;
根据所述至少一个规范对所述临时只读数据进行规范测试,得到所述检查结果。
应理解,相关描述还可以参见图3或者以及图7所示实施例中的描述,此处不再赘述。
又一种可能的设计中,上述规范设计装置150可以为前述实施例中的第一用户设备。
在一种可能的实施方式中,通信单元1501,用于接收服务器提供的规范设计框;
处理单元1502,用于呈现所述规范设计框;
所述通信单元1501,还用于接收用户通过所述规范设计框输入第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试;
所述通信单元1501,还用于向所述服务器发送所述第一规范的信息。
在又一种可能的实施方式中,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、或序列等。
在又一种可能的实施方式中,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
在又一种可能的实施方式中,所述第一规范的信息包括第一配置参数。
在又一种可能的实施方式中,所述通信单元1501,还用于接收所述服务器发送的错误原因,所述错误原因表征所述第一规范的信息的语法不正确。
应理解,相关描述还可以参见图3或者以及图7所示实施例中的描述,此处不再赘述。
又一种可能的设计中,上述规范设计装置150可以为前述实施例中的第二用户设备。
在又一种可能的实施方式中,通信单元1501,用于接收服务器提供的一条或者多条规范的信息,所述一条或者多条规范包括第一规范;
处理单元1502,用于确定至少一条规范,所述至少一条规范属于上述一条或者多条规范;所述至少一条规范用于对建立的第二数据库模型进行规范测试;
通信单元1501,用于向所述服务器发送规范集的信息,所述规范集的信息包括所述至少一条规范的信息。
在又一种可能的实施方式中,所述至少一条规范包括第二规范;所述第二规范对应第二配置参数,所述规范集信息还包括所述第二配置参数的取值信息。
在又一种可能的实施方式中,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
在又一种可能的实施方式中,所述通信单元1501,还用于接收来自所述服务器的检查结果,所述检查结果为根据所述至少一条规范检查所述第二目标数据库模型得到的。
应理解,相关描述还可以参见图3或者以及图7所示实施例中的描述,此处不再赘述。
请参见图16,图16是本申请实施例提供的一种计算设备160的结构示意图,该计算设备160可以为独立设备(例如服务器、或用户设备等等中的一个或者多个),也可以为独立设备内部的部件(例如芯片、软件模块或者硬件模块等)。该计算设备160可以包括至少一个处理器1601和通信接口1602。进一步可选的,计算设备160还可以包括至少一个存储器1603。更进一步可选的,还可以包含总线1604,其中,处理器1601、通信接口1602和存储器1603通过总线1604相连。
其中,处理器1601是进行算术运算和/或逻辑运算的模块,具体可以是中央处理器(central processing unit,CPU)、图片处理器(graphics processing unit,GPU)、微处理器(microprocessor unit,MPU)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、复杂可编程逻辑器件(Complex programmable logic device,CPLD)、协处理器(协助中央处理器完成相应处理和应用)、微控制单元(Microcontroller Unit,MCU)等处理模块中的一种或者多种的组合。
通信接口1602可以用于为所述至少一个处理器提供信息输入或者输出。和/或,所述通信接口1602可以用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(Wi-Fi、蓝牙、通用无线传输、车载短距通信技术以及其他短距无线通信技术等)接口。可选的,通信接口1602还可以包括与接口耦合的发射器(如射频发射器、天线等),或者接收器等。
存储器1603用于提供存储空间,存储空间中可以存储操作系统和计算机程序等数据。存储器1603可以是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read onlymemory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM)等等中的一种或者多种的组合。
该计算设备160中的至少一个处理器1601用于执行前述的规范设计方法,例如图3或者以及图7所示实施例所描述的规范设计方法。
可选的,处理器1601,可以是专门用于执行这些方法的处理器(便于区别称为专用处理器),也可以是通过调用计算机程序来执行这些方法的处理器,例如通用处理器。可选的,至少一个处理器还可以既包括专用处理器也包括通用处理器。可选的,上述计算机程序可以存在存储器1603中。
一种可能的设计中,上述计算设备160可以为前述实施例中的服务器。
在一种可能的实施方式中,该计算设备160中的至少一个处理器1601用于执行调用计算机指令,以执行以下操作:
通过通信接口1602向第一用户设备提供规范设计框;
通过通信接口1602接收所述第一用户设备输入的第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试。
在又一种可能的实施方式中,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、或序列等。
在又一种可能的实施方式中,所述处理器1601,还用于:
通过通信接口1602通过第一数据库模型测试所述第一规范,得到测试结果;
通过通信接口1602向所述第一用户设备反馈所述测试结果。
在又一种可能的实施方式中,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
在又一种可能的实施方式中,所述处理单元,还用于发布所述第一规范。
在又一种可能的实施方式中,所述通信单元,还用于接收管理员对待发布的所述第一规范的确认。
在又一种可能的实施方式中,所述第一规范的信息包括第一配置参数。
在又一种可能的实施方式中,所述处理器1601,还用于:
检查所述第一规范的信息的语法是否正确;
在所述第一规范的信息的语法不正确时,向所述第一用户设备发送错误原因;
所述通信单元,还用于在所述第一规范的信息的语法正确时,通过通信接口1602通过所述第一数据库模型测试所述第一规范,得到所述测试结果。
在又一种可能的实施方式中,所述处理器1601,还用于通过通信接口1602将所述第一规范提供给第二用户设备使用。
在又一种可能的实施方式中,所述处理器1601,还用于:
通过通信接口1602向第二用户设备提供一条或者多条规范的信息,所述一条或者多条规范包括所述第一规范;
通过通信接口1602接收所述第二用户设备发送的规范集的信息,所述规范集的信息包括至少一条规范的信息,所述至少一条规范用于对建立的第二数据库模型进行规范测试。
在又一种可能的实施方式中,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
在又一种可能的实施方式中,所述处理器1601,还用于:
根据所述至少一条规范对所述第二数据库模型进行规范测试,得到检查结果;
通过通信接口1602向所述第二用户设备发送所述检查结果。
在又一种可能的实施方式中,所述处理器1601,还用于通过检查模式,根据所述至少一条规范对所述第二数据库模型进行规范测试,得到所述检查结果。所述检查模式属于全量检查、或增量检查中的至少一项。
在又一种可能的实施方式中,所述处理器1601,还用于:
生成所述第二数据库模型的临时只读数据;
根据所述规范集的信息,确定所述至少一个规范;
根据所述至少一个规范对所述临时只读数据进行规范测试,得到所述检查结果。
应理解,相关描述还可以参见图3或者以及图7所示实施例中的描述,此处不再赘述。
又一种可能的设计中,上述计算设备160可以为前述实施例中的第一用户设备。
在一种可能的实施方式中,该计算设备160中的至少一个处理器1601用于执行调用计算机指令,以执行以下操作:
通过通信接口1602接收服务器提供的规范设计框;
呈现所述规范设计框;
通过通信接口1602接收用户通过所述规范设计框输入第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试;
通过通信接口1602向所述服务器发送所述第一规范的信息。
在又一种可能的实施方式中,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、或序列等。
在又一种可能的实施方式中,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
在又一种可能的实施方式中,所述第一规范的信息包括第一配置参数。
在又一种可能的实施方式中,所述处理器1601,还用于:
通过通信接口1602接收所述服务器发送的错误原因,所述错误原因表征所述第一规范的信息的语法不正确。
应理解,相关描述还可以参见图3或者以及图7所示实施例中的描述,此处不再赘述。
又一种可能的设计中,上述计算设备160可以为前述实施例中的第二用户设备。
在一种可能的实施方式中,该计算设备160中的至少一个处理器1601用于执行调用计算机指令,以执行以下操作:
通过通信接口1602接收服务器提供的一条或者多条规范的信息,所述一条或者多条规范包括第一规范;
确定至少一条规范,所述至少一条规范属于上述一条或者多条规范;所述至少一条规范用于对建立的第二数据库模型进行规范测试;
通过通信接口1602向所述服务器发送规范集的信息,所述规范集的信息包括所述至少一条规范的信息。
在又一种可能的实施方式中,所述至少一条规范包括第二规范;所述第二规范对应第二配置参数,所述规范集信息还包括所述第二配置参数的取值信息。
在又一种可能的实施方式中,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
在又一种可能的实施方式中,所述处理器1601,还用于:
通过通信接口1602接收来自所述服务器的检查结果,所述检查结果为根据所述至少一条规范检查所述第二目标数据库模型得到的。
应理解,相关描述还可以参见图3或者以及图7所示实施例中的描述,此处不再赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,在被计算设备执行时,该计算设备执行本申请实施例提供的数据库设计方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中实施例提到的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b、或c中的至少一项(个),可以表示:a、b、c、(a和b)、(a和c)、(b和c)、或(a和b和c),其中a、b、c可以是单个,也可以是多个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A、同时存在A和B、单独存在B这三种情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
以及,除非有相反的说明,本申请实施例使用“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一用户设备和第二用户设备,只是为了便于描述,而并不是表示这第一用户设备和第二用户设备的结构、重要程度等的不同,在某些实施例中,第一用户设备和第二用户设备还可以是同样的设备。
上述实施例中所用,根据上下文,术语“当……时”可以被解释为意思是“如果……”或“在……后”或“响应于确定……”或“响应于检测到……”。
Claims (60)
1.一种规范设计方法,其特征在于,所述方法应用于数据库设计系统,包括:
向第一用户设备提供规范设计框;
接收所述第一用户设备输入的第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试。
2.根据权利要求1所述的方法,其特征在于,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、序列。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
发布所述第一规范。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收管理员对待发布的所述第一规范的确认。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一规范的信息包括第一配置参数。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
通过第一数据库模型测试所述第一规范,得到测试结果;
向所述第一用户设备反馈所述测试结果。
7.根据权利要求6所述的方法,其特征在于,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
8.根据权利要求6或7所述的方法,其特征在于,所述通过第一数据库模型测试所述第一规范,得到测试结果,包括:
检查所述第一规范的信息的语法是否正确;
在所述第一规范的信息的语法不正确时,向所述第一用户设备发送错误原因;
在所述第一规范的信息的语法正确时,通过所述第一数据库模型测试所述第一规范,得到所述测试结果。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
将所述第一规范提供给第二用户设备使用。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述方法还包括:
向第二用户设备提供一条或者多条规范的信息,所述一条或者多条规范包括所述第一规范;
接收所述第二用户设备发送的规范集的信息,所述规范集的信息包括至少一条规范的信息,所述至少一条规范用于对建立的第二数据库模型进行规范测试。
11.根据权利要求10所述的方法,其特征在于,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
12.根据权利要求10或11所述的方法,其特征在于,所述方法还包括:
根据所述至少一条规范对所述第二数据库模型进行规范测试,得到检查结果;
向所述第二用户设备发送所述检查结果。
13.根据权利要求9-12任一项所述的方法,其特征在于,所述根据所述至少一条规范检查所述第二数据库,得到检查结果,包括:
通过检查模式,根据所述至少一条规范对所述第二数据库模型进行规范测试,得到所述检查结果,所述检查模式属于全量检查、或增量检查中的至少一项。
14.根据权利要求12或13所述的方法,其特征在于,所述根据所述至少一条规范对所述第二数据库模型进行规范测试,得到检查结果,包括:
生成所述第二数据库模型的临时只读数据;
根据所述规范集的信息,确定所述至少一个规范;
根据所述至少一个规范对所述临时只读数据对所述第二数据库模型进行规范测试,得到所述检查结果。
15.一种规范设计方法,其特征在于,所述方法应用于数据库设计系统,包括:
接收服务器提供的规范设计框;
呈现所述规范设计框;
接收用户通过所述规范设计框输入第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试;
向所述服务器发送所述第一规范的信息。
16.根据权利要求15所述的方法,其特征在于,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、序列。
17.根据权利要求15或16所述的方法,其特征在于,所述测试结果表征根据第一数据库测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
18.根据权利要求15-17任一项所述的方法,所述第一规范的信息包括第一配置参数。
19.根据权利要求15-18任一项所述的方法,其特征在于,所述方法还包括:
接收所述服务器发送的错误原因,所述错误原因表征所述第一规范的信息的语法不正确。
20.根据权利要求15-19任一项所述的方法,其特征在于,所述方法包括:
接收所述服务器提供的一条或者多条规范的信息,所述一条或者多条规范包括所述第一规范;
确定至少一条规范,所述至少一条规范属于所述一条或者多条规范;所述至少一条规范用于对建立的第二数据库模型进行规范测试;
向所述服务器发送规范集的信息,所述规范集的信息包括所述至少一条规范的信息。
21.根据权利要求20所述的方法,其特征在于,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
22.根据权利要求20或21所述的方法,其特征在于,所述方法还包括:
接收来自所述服务器的检查结果,所述检查结果为根据所述至少一条规范对所述第二数据库模型进行规范测试得到的。
23.一种系统,其特征在于,所述系统包括第一用户设备和服务器;其中:
所述服务器,用于向第一用户设备提供所述规范设计框;
所述第一用户设备,用于:
接收所述服务器提供的规范设计框;
呈现所述规范设计框;
接收用户设备在所述规范设计框中输入的第一规范的信息;
向所述服务器发送所述第一规范的信息;
所述服务器,还用于接收所述第一用户设备输入的第一规范的信息,所述第一规范用于对建立的数据库模型进行测试。
24.根据权利要求23所述的系统,其特征在于,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、序列。
25.根据权利要求23或24所述的系统,其特征在于,所述服务器还用于发布所述第一规范。
26.根据权利要求23-25任一项所述的系统,其特征在于,所述服务器还用于接收管理员对待发布的所述第一规范的确认。
27.根据权利要求23-26任一项所述的系统,其特征在于,所述第一规范的信息包括第一配置参数。
28.根据权利要求23-27任一项所述的系统,其特征在于,所述服务器还用于:
通过第一数据库模型测试所述第一规范,得到测试结果;
向所述第一用户设备反馈所述测试结果。
29.根据权利要求28所述的系统,其特征在于,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
30.根据权利要求28或29所述的系统,其特征在于,所述服务器还用于:
检查所述第一规范的信息的语法是否正确;
在所述第一规范的信息的语法不正确时,向所述第一用户设备发送错误原因;
在所述第一规范的信息的语法正确时,通过所述第一数据库模型测试所述第一规范,得到所述测试结果。
31.根据权利要求23-30任一项所述的系统,其特征在于,所述系统还包括第二用户设备;所述服务器还用于:
将所述第一规范提供给所述第二用户设备使用。
32.根据权利要求23-31任一项所述的系统,其特征在于,所述系统还包括第二用户设备;
所述服务器,还用于向所述第二用户设备提供一条或者多条规范的信息,所述一条或者多条规范包括所述第一规范;
所述第二用户设备,用于:
接收所述服务器提供的一条或者多条规范的信息;
从所述一条或者多条规范中,选择至少一条规范;所述至少一条规范用于对建立的第二数据库模型进行规范测试;
向所述服务器发送规范集的信息,所述规范集的信息包括所述至少一条规范的信息;
所述服务器,还用于接收所述第二用户设备发送的规范集的信息。
33.根据权利要求32所述的系统,其特征在于,所述服务器还用于:
根据所述至少一条规范对所述第二数据库模型进行规范测试,得到检查结果;
向所述第二用户设备发送所述检查结果。
34.根据权利要求32或33所述的系统,其特征在于,所述服务器还用于:
通过检查模式,根据所述至少一条规范对所述第二数据库模型进行规范测试,得到所述检查结果,所述检查模式属于全量检查、或增量检查中的至少一项。
35.根据权利要求34所述的系统,其特征在于,所述服务器还用于:
生成所述第二数据库模型的临时只读数据;
根据所述规范集的信息,确定所述至少一个规范;
根据所述至少一个规范对所述临时只读数据进行规范测试,得到所述检查结果。
36.一种规范设计装置,其特征在于,包括:
处理单元和通信单元,用于向第一用户设备提供规范设计框;
通信单元,用于接收所述第一用户设备输入的第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试。
37.根据权利要求36所述的装置,其特征在于,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、序列。
38.根据权利要求36或37所述的装置,其特征在于,
所述处理单元,还用于发布所述第一规范。
39.根据权利要求38所述的装置,其特征在于,
所述通信单元,还用于接收管理员对待发布的所述第一规范的确认。
40.根据权利要求36-39任一项所述的装置,其特征在于,所述第一规范的信息包括第一配置参数。
41.根据权利要求36-40任一项所述的装置,其特征在于,
所述处理单元,还用于通过第一数据库模型测试所述第一规范,得到测试结果;
所述通信单元,还用于向所述第一用户设备反馈所述测试结果。
42.根据权利要求41所述的装置,其特征在于,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
43.根据权利要求41或42所述的装置,其特征在于,
所述处理单元,还用于检查所述第一规范的信息的语法是否正确;
所述通信单元,还用于在所述第一规范的信息的语法不正确时,向所述第一用户设备发送错误原因;
所述通信单元,还用于在所述第一规范的信息的语法正确时,通过所述第一数据库模型测试所述第一规范,得到所述测试结果。
44.根据权利要求36-43任一项所述的装置,其特征在于,
所述通信单元,还用于将所述第一规范提供给第二用户设备使用。
45.根据权利要求36-44任一项所述的装置,其特征在于,
所述通信单元,还用于向第二用户设备提供一条或者多条规范的信息,所述一条或者多条规范包括所述第一规范;
所述通信单元,还用于接收所述第二用户设备发送的规范集的信息,所述规范集的信息包括至少一条规范的信息,所述至少一条规范用于对建立的第二数据库模型进行规范测试。
46.根据权利要求45所述的装置,其特征在于,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
47.根据权利要求45或46所述的装置,其特征在于,
所述处理单元,还用于根据所述至少一条规范对所述第二数据库模型进行规范测试,得到检查结果;
所述通信单元,还用于向所述第二用户设备发送所述检查结果。
48.根据权利要求45-47任一项所述的装置,其特征在于,
所述处理单元,还用于通过检查模式,根据所述至少一条对所述第二数据库模型进行规范测试,得到所述检查结果,所述检查模式属于全量检查、或增量检查中的至少一项。
49.根据权利要求47或48所述的装置,其特征在于,所述处理单元,还用于:
生成所述第二数据库模型的临时只读数据;
根据所述规范集的信息,确定所述至少一个规范;
根据所述至少一个规范对所述临时只读数据进行规范测试,得到所述检查结果。
50.一种规范设计装置,其特征在于,包括:
通信单元,用于接收服务器提供的规范设计框;
处理单元,用于呈现所述规范设计框;
所述通信单元,还用于接收用户通过所述规范设计框输入第一规范的信息,所述第一规范用于对建立的数据库模型进行规范测试;
所述通信单元,还用于向所述服务器发送所述第一规范的信息。
51.根据权利要求50所述的装置,其特征在于,所述第一规范的规范类型属于以下类型规范类型中的一个:库、表、索引、字段、实体、属性、关系、外键、触发器、视图、存储过程、函数、序列。
52.根据权利要求50或51所述的装置,其特征在于,所述测试结果表征测试所述第一规范完成,或者所述测试结果用于指示所述第一数据模型中的差错。
53.根据权利要求50-52任一项所述的装置,所述第一规范的信息包括第一配置参数。
54.根据权利要求50-53任一项所述的装置,其特征在于,所述通信单元,还用于接收所述服务器发送的错误原因,所述错误原因表征所述第一规范的信息的语法不正确。
55.根据权利要求50-54任一项所述的装置,其特征在于,
所述通信单元,还用于接收所述服务器提供的一条或者多条规范的信息,所述一条或者多条规范包括所述第一规范;
所述处理单元,还用于确定至少一条规范,所述至少一天规范属于所述一条或者多条规范;所述至少一条规范用于对建立的第二数据库模型进行规范测试;
所述通信单元,还用于向所述服务器发送规范集的信息,所述规范集的信息包括所述至少一条规范的信息。
56.根据权利要求55所述的装置,其特征在于,所述至少一条规范包括第二规范;所述规范集的信息还包括所述第二规范的等级。
57.根据权利要求50-56任一项所述的装置,其特征在于,所述方法还包括:
接收来自所述服务器的检查结果,所述检查结果为根据所述至少一条规范对所述第二数据库模型进行规范测试得到的。
58.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;
所述存储器中存储有计算机程序;
所述处理器执行所述计算机程序时,所述计算设备执行前述权利要求1至14中任一所述的方法。
59.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;
所述存储器中存储有计算机程序;
所述处理器执行所述计算机程序时,所述计算设备执行前述权利要求15至22中任一所述的方法。
60.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在至少一个处理器上运行时,实现如权利要求1至22中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110726148.3A CN115543955A (zh) | 2021-06-29 | 2021-06-29 | 规范设计方法、装置及相关设备 |
PCT/CN2022/080459 WO2023273410A1 (zh) | 2021-06-29 | 2022-03-11 | 规范设计方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110726148.3A CN115543955A (zh) | 2021-06-29 | 2021-06-29 | 规范设计方法、装置及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115543955A true CN115543955A (zh) | 2022-12-30 |
Family
ID=84691100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110726148.3A Pending CN115543955A (zh) | 2021-06-29 | 2021-06-29 | 规范设计方法、装置及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115543955A (zh) |
WO (1) | WO2023273410A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1410917A (zh) * | 2001-09-28 | 2003-04-16 | 华为技术有限公司 | 电路原理图自动审查方法 |
CN1459716A (zh) * | 2002-05-22 | 2003-12-03 | 华为技术有限公司 | 印刷线路板设计的自动审查装置及其方法 |
CN100437587C (zh) * | 2006-12-31 | 2008-11-26 | 华为技术有限公司 | 一种基于数据库的业务处理方法及装置 |
CN105138621B (zh) * | 2015-08-14 | 2019-03-26 | 浪潮电子信息产业股份有限公司 | 一种Sybase ASE数据库配置优化系统及方法 |
US11386058B2 (en) * | 2017-09-29 | 2022-07-12 | Oracle International Corporation | Rule-based autonomous database cloud service framework |
CN111190880B (zh) * | 2019-08-08 | 2024-03-12 | 腾讯科技(深圳)有限公司 | 一种数据库检测方法、装置和计算机可读存储介质 |
-
2021
- 2021-06-29 CN CN202110726148.3A patent/CN115543955A/zh active Pending
-
2022
- 2022-03-11 WO PCT/CN2022/080459 patent/WO2023273410A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023273410A1 (zh) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2023200421B2 (en) | Dataflow graph configuration | |
CN108268253B (zh) | 接口代码生成方法及终端设备 | |
US7725501B1 (en) | System and method for rapid database application deployment and use | |
US11023105B2 (en) | Systems and methods for composable analytics | |
US20050160104A1 (en) | System and method for generating and deploying a software application | |
US10445675B2 (en) | Confirming enforcement of business rules specified in a data access tier of a multi-tier application | |
US9239709B2 (en) | Method and system for an interface certification and design tool | |
US20050289524A1 (en) | Systems and methods for software based on business concepts | |
US20080172655A1 (en) | Saving Code Coverage Data for Analysis | |
CN114981775B (zh) | 用于api综合管理的基于云的api元数据管理方法及系统 | |
CN110990274B (zh) | 一种生成测试案例的数据处理方法、装置及系统 | |
CN105550325A (zh) | 一种数据管理方法和装置 | |
WO2011062742A2 (en) | Validation pipeline | |
Moreira et al. | An ORCID based synchronization framework for a national CRIS ecosystem | |
US20230086854A1 (en) | Dynamically controlling case model structure using case fragments | |
KR101877828B1 (ko) | 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템 | |
EP3486798A1 (en) | Reporting and data governance management | |
US20110224954A1 (en) | Modelling of systems | |
CN116541372A (zh) | 一种数据资产治理方法及系统 | |
WO2021022703A1 (zh) | 软件项目重构方法、装置、计算机装置及存储介质 | |
EP3486799A1 (en) | Reporting and data governance management | |
CN112015715A (zh) | 工业互联网数据管理服务测试方法及系统 | |
WO2023273410A1 (zh) | 规范设计方法、装置及相关设备 | |
Tsay et al. | Büchi Store: an open repository of-automata | |
CN113504904A (zh) | 用户定义函数实现方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |