最近公司将内部数据迁移到了达梦数据库,信创项目即将验收上线,根据项目规范和验收流程要求,需要提前准备一份详细的项目文档作为验收材料。系统中有两千多张表,需要按功能模块整理并导出 ER 图和表设计文档,手动完成这一任务无疑非常耗时且容易出错。
对比了市面上几个常用的工具,最终选择了 SQLark 百灵,十分钟搞定!
如果你也遇到类似问题,不妨跟我一起看看,如何使用 SQLark 生成 ER 图和设计文档工作。
👉前往 SQLark 官网:www.sqlark.com 下载全功能免费版!
ER 图生成的基础配置
在SQLark数据连接成功后,在对象导航继续进行后续的操作。
在我的项目中,需要导出的数据库模式包含了两千多张表,这些表之间的关系非常复杂。许多表不仅存在简单的一对一或一对多关系,更有大量的多对多关联,且涉及到多个中间表来维护这些关系。部份表不仅通过外键关联,还包含各种级联操作、触发器、索引和视图等。
生成 ER 图
成功连接数据库后,可以在 SQLark 的左侧导航栏中找到需要生成 ER 图的连接和模式,右键单击并选择ER图。系统会自动生成该模式下的 ER 图,展示数据库中各个表之间的关系和结构,方便后续的数据库分析与设计。
SQLark 生成两千多张表的 ER 图所用的时间不到 1 分钟。
自动对表分组
生成完成后,系统在左侧还自动对表进行了分组,看起来是根据表名前缀进行的。这种分组方式对我们这种标准命名规范的大型项目很友好。
不过,我注意到有少数属于功能模块的表没有被正确归类,分组之间的间隔有些远。于是,我稍微调整了一下部分表所在的分组,重新生成 ER 图后,布局变得更加清晰合理,使用起来也更加方便。
此外,SQLark 还可以直接通过搜索功能快速定位表格。
导出某个功能模块的表设计文档
分组已经按照功能模块调好了,只需使用 Ctrl+鼠标左键 在左侧列表中选中需要导出的分组,然后右键选择‘导出文档’,即可导出选中分组中所有表的设计文档。整个过程用时不到十分钟。
SQLark 导出文档的内容比较全面,涵盖了从数据库模式到详细的表关系信息。
导出的内容主要包括基本信息、ER 图、数据实体列表和数据实体详细描述。
1) 导出的文档封面长这样,内容大概分为这样几个部分。
2) 在导出文档时,SQLark 还会自动获取数据库的基本信息,包括数据库名称、版本信息以及所属的模式。
3) SQLark 会统计该模块下的表数量,明确标出该模块下共有多少张表,以及实际导出的表数量。
4) 导出的文档包含了每个分组的 ER 图,ER 图会展示表信息以及表与表之间的关系。
5) 文档包含每个分组下的表数据实体列表。
6) 导出的文档包含每张表的字段名、中文名、字段类型、精度、主键等信息,同时还提供主外键关系,便于直观查看表结构和数据规则。
实际使用体验
a、方便快捷
完成了 2000 多张表的文档导出只用了不到十分钟,而手动整理这些内容可能需要耗费好几天的时间。
b、提供智能分组
系统会根据表的前缀自动进行分组,这对表数量成千上万的项目来说十分实用。分组规则也支持手动调整,适合按功能模块或项目需求进行优化,调整后生成的 ER 图布局更加直观,便于后续查找和使用。
c、展示信息全面
自动生成的文档内容完整、清晰,包括数据库的整体信息、表结构、字段规则等,方便查阅和分享。
额外分享:信创数据库设计的 8 条经验
在信创项目的实施过程中,数据库设计作为核心环节,直接影响到系统的性能、扩展性和维护成本。结合项目实践,我总结了以下 8 几条经验,希望能为类似项目提供一些参考和借鉴:
1)表结构规范化:避免冗余字段,确保数据一致性,减少存储浪费。
2)主外键约束设计:保证数据完整性,同时提升查询效率。
3)索引优化:根据查询需求合理设置,避免冗余索引。
4)表分区设计:为大数据量表设计分区,优化性能。
5)字段类型选择:根据实际需求选定字段类型,兼顾存储和操作效率。
6)存储过程与触发器:减少应用层负担,提升系统安全性。
7)数据归档与清理:定期归档过时数据,减轻数据库压力。
8)命名规范:
--表命名:大写字母+下划线,如 USER_ACCOUNT。
--字段命名:简洁易懂,如 USER_NAME、CREATED_AT。
--索引命名:结合表名和字段名,如 IDX_USER_ACCOUNT_NAME。
--外键命名:如 FK_USER_ACCOUNT_ROLE_ID。
给 SQLark 官方的小建议
提升文档编辑体验:SQLark 的导出功能已足够强大,但如果未来能支持导出 Word 格式,那就更香了🕶️。
👉 前往 SQLark 官网:www.sqlark.com 下载全功能免费版!