基于枚举字典的数据库数据字典自动化生成方法及系统与流程
本发明涉及数据库管理与自动化文档生成,具体为基于枚举字典的数据库数据字典自动化生成方法及系统。
背景技术:
1、数据库数据字典是描述数据库结构、字段属性及取值约束的重要参考文档。在包含大量枚举类型字段的业务系统中,枚举值的定义通常分散在应用代码、配置文件和口头约定中,数据字典的编制需要人工逐一翻阅数据库结构定义、应用源代码和业务文档,将分散的枚举值信息与字段进行匹配和整理。现有的数据字典生成工具普遍依赖数据库系统表提供的字段注释和数据类型信息,仅能提取基本的元数据,无法自动解析字段所引用的枚举取值范围。对于字段注释中包含枚举值列表的场景,工具缺乏对枚举值定义的集中管理和统一维护能力,不同表的同类枚举字段往往出现注释信息不一致、更新不同步的问题。对于枚举定义存储在独立字典表的情形,现有工具无法在元数据采集阶段自动建立字段与字典表中枚举记录之间的关联,仍需人工介入完成字段到枚举类型的映射、枚举值的查询校验以及最终文档的合成。当系统规模增大、枚举类型数量增多时,人工维护和编制过程效率低下、容易出错,生成的数据字典存在枚举值遗漏或描述失真的风险。
2、在分散管理模式下,枚举定义的修改需要跨多个业务表的字段注释或外部文档进行同步调整,缺乏单一可信来源,增加了数据库维护和数据字典更新的一致性问题。需要解决在统一管理枚举定义的基础上,如何将枚举类型与数据库字段进行轻量关联,并在元数据提取过程中自动完成枚举值的注入,生成结构完整且包含枚举取值范围详细列表的数据字典。
技术实现思路
1、本发明提供一种基于枚举字典的数据库数据字典自动化生成方法及系统,通过在公共管理数据库或指定数据库中建立集中式枚举字典表作为全系统枚举定义的唯一存储,在目标数据库的字段注释中以轻量标记方式嵌入枚举键,并在元数据提取与解析过程中自动识别该标记、查询枚举字典表获取对应枚举值列表,最终将标准元数据与枚举取值信息合成,输出包含字段完整描述和枚举取值范围详细列表的数据字典条目,实现枚举定义集中管控下数据字典的全自动化生成。
2、为了实现上述目的,本发明提供如下技术方案:本发明提供一种基于枚举字典的数据库数据字典自动化生成方法,包括:在公共管理数据库或任一指定数据库中创建集中式枚举字典表,所述枚举字典表用于统一存储全系统内所有枚举类型的定义;在目标数据库的字段注释中嵌入枚举键标记,所述枚举键标记用于指向所述枚举字典表中对应的枚举类型定义;建立所述目标数据库与所述枚举字典表之间的数据连接,并提取所述目标数据库的标准元数据;解析所述目标数据库中每个字段的注释内容,识别并提取所述注释内容中的所述枚举键标记;根据提取到的所述枚举键标记在所述枚举字典表中执行枚举值列表查询操作,获取与所述枚举键标记对应的枚举值列表;将所述标准元数据与查询得到的所述枚举值列表进行数据合成处理,生成所述目标数据库的完整数据字典条目。该方法将枚举值的统一定义存储与字段注释中的标记引用相分离,通过在字段注释中嵌入简洁的枚举键标记,配合一次性创建的集中式枚举字典表,实现了数据字典的自动化生成,避免了在数据字典生成过程中需要人工反复查阅外部文档以补全枚举值含义的繁琐操作,显著降低了维护成本,并确保数据字典全文中枚举值释义的一致性和准确性。
3、作为本发明的一个技术方案,在公共管理数据库或任一指定数据库中创建集中式枚举字典表时,执行建表语句以创建独立于业务数据表之外的所述枚举字典表;在所述枚举字典表中设定枚举键字段、枚举存储值字段、枚举显示标签字段和枚举排序序号字段,并将所述枚举键字段作为所述枚举字典表的主键索引,其中所述枚举键字段存储全局唯一标识一种枚举类型的枚举键,所述枚举存储值字段存储数据库实际存储的枚举值,所述枚举显示标签字段存储所述枚举值的显示标签,所述枚举排序序号字段定义所述枚举值在数据字典文档中的显示顺序。通过建立包含排序序号和显示标签的独立字典结构,不仅保证了枚举值在最终文档中按业务习惯顺序展示,也使得枚举值的存储形式与业务可读形式之间的映射关系得到持久化、集中化的管理。
4、优选的,在目标数据库的字段注释中嵌入枚举键标记时,获取所述目标数据库中所有需要存储枚举值的业务字段;将每个所述业务字段对应的枚举类型所对应的枚举键按照预设的注释标记格式写入所述业务字段的字段注释中,所述注释标记格式包含标记起始符、枚举键名称和标记结束符;在所述字段注释中所述枚举键标记之后附加字段业务描述文本,所述字段业务描述文本与所述枚举键标记之间通过预设的分隔符隔开,所述字段业务描述文本用于描述所述业务字段的业务含义。进一步地,在所述字段注释中嵌入所述枚举键标记时,若同一字段需要引用多个枚举类型,则按照预设的分隔符在所述字段注释中依次嵌入多个独立的枚举键标记。这一方式将枚举值的引用信息直接固化在数据库自身结构中,实现了字段与枚举类型的自描述能力,使得自动化解析程序无需依赖外部配置即可精准定位字段所引用的枚举定义。
5、作为本发明的另一个技术方案,建立所述目标数据库与所述枚举字典表之间的数据连接,并提取所述目标数据库的标准元数据时,读取预先配置的数据库连接参数,并根据所述数据库连接参数建立与所述目标数据库的连接会话;向所述目标数据库的系统信息库发送元数据查询指令,以查询并提取数据库级基本信息、表级基本信息和字段级基本信息,所述字段级基本信息包括字段名称、字段数据类型、字段长度约束、字段可否为空属性和字段默认值。在此基础上,进一步向所述目标数据库的系统信息库发送约束信息查询指令,提取每个表的约束信息,所述约束信息包括主键约束字段列表、外键约束字段列表及其关联的主表与主表字段、唯一性约束字段列表和检查约束条件文本;将提取到的每个字段的所述约束信息与所述字段级基本信息进行关联绑定,生成包含约束标注的字段元数据结构体;再建立所述字段元数据结构体与字段所属的表之间的层级映射关系,形成所述标准元数据。该技术手段自动汇集了数据字典所需的基础元数据与约束信息,为后续生成包含丰富完整性约束描述的正式数据字典条目提供了完整的数据基础。
6、优选的,解析所述目标数据库中每个字段的注释内容并识别提取所述枚举键标记的过程,包括:遍历所述目标数据库中所有表的全部字段,依次读取每个字段的注释文本内容;对读取到的所述注释文本内容进行标记扫描处理,检测是否包含预设的枚举键标记起始符;当检测到所述注释文本内容中包含所述枚举键标记起始符时,提取从所述标记起始符开始到对应的标记结束符之间的子字符串作为候选枚举键;将所述候选枚举键与所述枚举字典表中已存储的所有枚举键进行精确匹配校验,若匹配成功则将所述候选枚举键确定为所述字段的有效枚举键标记。该过程通过扫描注释文本中的特定标记符并执行与枚举字典表的校验匹配,实现了枚举引用的自动识别,有效过滤了注释中可能出现的无效字符干扰,保证提取结果的准确性。
7、进一步的,根据提取到的所述枚举键标记获取对应的枚举值列表时,将提取到的所述枚举键标记作为查询条件,在所述枚举字典表中执行结构化查询语句,筛选出枚举键字段值与所述枚举键标记相等的数据记录;根据所述枚举排序序号字段对筛选出的所述数据记录执行升序排序操作,得到有序枚举值记录集;从所述有序枚举值记录集中依次读取每条记录的枚举存储值字段值和枚举显示标签字段值,形成所述枚举值列表,所述枚举值列表包含枚举存储值与枚举显示标签之间的对应关系。通过利用字典表中的排序序号进行升序排列,确保最终生成的数据字典条目中枚举项的显示顺序与业务定义的逻辑顺序完全吻合。
8、将所述标准元数据与查询得到的所述枚举值列表进行数据合成处理时,从所述标准元数据中提取每个字段的字段基本信息数据和字段约束信息数据,构建字段基础描述段;将所述字段基础描述段与所述字段对应的所述枚举值列表进行关联组合,生成包含字段属性描述和枚举取值范围描述的字段完整描述数据;按照数据库层级、表层级和字段层级的从属关系,将各个字段的所述字段完整描述数据进行层级化组织,生成所述完整数据字典条目,所述完整数据字典条目中包含数据库与表的层级结构描述、每个字段的基础属性描述以及每个字段的枚举值详细列表。该合成过程自动将静态的数据库元数据与动态解释的枚举值列表无缝拼接,最终输出的数据字典文档完整反映了每个字段的类型、约束、业务含义及可选枚举值细项,极大提升了数据字典的实用性和可读性。
9、本发明还提供一种基于枚举字典的数据库数据字典自动化生成系统,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时实现所述的基于枚举字典的数据库数据字典自动化生成方法的步骤。该系统能够自动完成从枚举字典创建、字段标记解析到完整字典条目合成的全流程处理,无需人工干预即可生成包含精确枚举映射关系的高质量数据字典,有效保证了文档时效性与数据资产描述的一致性。
10、在上述技术方案中,本发明提供的技术效果和优点:
11、采用集中式枚举字典表统一存储全系统所有枚举类型的定义,设立枚举键字段、枚举存储值字段、枚举显示标签字段和枚举排序序号字段。枚举键作为全局唯一标识,使得同一种枚举类型在全系统内仅存在一份权威定义。将枚举键标记按照预设格式嵌入目标数据库字段的注释文本中,字段通过注释即携带其所引用的枚举类型标识,无需在数据库层面建立外键约束或在字段上添加额外的物理元数据,实现字段与枚举定义之间的轻量级关联。在数据字典生成过程中,通过解析字段注释并识别标记,可依据枚举键直接在枚举字典表中定位到对应的枚举类型定义,完成从字段到枚举类型的一次性自动映射。这种方式消除了在多个数据表中反复填写和维护相同枚举值列表的需要,枚举定义的任何更新只需在枚举字典表中修改一次,所有引用该枚举键的字段均能自动反映出最新的枚举值内容,从根本上解决了分散维护带来的不一致和数据冗余问题。对字段注释内容进行标记扫描处理,检测枚举键标记起始符,提取候选枚举键并与枚举字典表中已存储的枚举键执行精确匹配校验,在匹配成功后将候选枚举键确定为有效枚举键标记。然后再以提取到的枚举键标记作为查询条件,在枚举字典表中按枚举排序序号进行升序排序,获取包含枚举存储值与枚举显示标签对应关系的有序枚举值列表。这个流程将标记提取与真实性校验结合,仅当标记在枚举字典表中存在已注册的枚举定义时才被采纳,避免了字段注释中误填或遗留无效标记导致生成错误数据字典的风险。在合成阶段,将标准元数据中的字段基本信息、约束信息与通过标记查询获得的枚举值列表进行关联组合,形成包含字段属性描述和枚举取值范围描述的字段完整描述数据,并按照数据库、表和字段的层级从属关系进行组织,最终输出的数据字典条目不仅体现数据库结构的完整元数据,还自动附带了每个枚举字段对应的全部可选枚举值及其显示标签,中间无需任何人工干预。合成的内容中包含枚举显示标签和排序序号,使数据字典文档在直接可读性和有序性方面均符合实际查阅习惯。整个过程将元数据提取、枚举标记解析、枚举值去中心化查询和文档化合成高度自动化,显著降低大规模数据库枚举字段数据字典的编制工作量和维护成本。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com