读取数据库表及关系创建dot文件的Python脚本

1 投票
2 回答
2432 浏览
提问于 2025-04-16 16:09

你好,我对“dot文件”这个概念还很陌生。

我想创建一个ERD(实体关系图),里面有主键和关系。我的计划是写一个Python脚本,去读取数据库中的表,然后生成一个“dot”文件,这个文件可以用来通过graphviz生成图形。我在graphviz.org上找到了如何用dot文件生成图形的方法,但我还没找到用Python脚本读取数据库表并创建“dot”文件的方法。如果有人能帮忙,我会非常感激,谢谢。

2 个回答

2

如果你想了解graphviz模块,可以查看这个链接
关于数据库操作,这要看你的数据有多大和多复杂,但你可以先从sqlite3这个Python模块开始。

2

我写了一个简单的脚本,正好可以做到这一点。这个脚本只适用于支持外键的mySQL引擎(myISAM不支持)。它通过解析文本来获取键值等信息,所以它的稳定性可能没有你想象的那么好。我是为了一个咨询项目,快速写了这个脚本来分析一个中等规模的数据库。大部分参数可能需要你自己调整,才能正常使用,但你可以先试试这个脚本。

代码可以在这里找到,这里还有一个工具生成的简化版示例数据库的图。

数据库图

撰写回答