难点
- 解构太过复杂,耦合度太高——表连接表,查询结果套查询结果,存储过程调用存储过程
预期的结果
- 能够获得各个对象间(表,查询结果,存储过程,etc.)的关系
- 得到的信息能够用来生成类似于
UML 图的 View
排除的方向
- SQL
EXPLAIN语句 - 一些用于 SQL 调优的应用
- Python 等脚本,开发已表示放弃治疗
UML 图 的 ViewEXPLAIN 语句 1
sun1991 Nov 4, 2019 via Android 天哪~能写出包含上千个表的 SQL, 神人呐
|
2
reus Nov 4, 2019 不知道你们用什么数据库,PostgreSQL 支持 explain 输出 json,十分详尽,结合 information schema 之类元数据,完全可以做到。
explain 不够,那就直接写个插件切入 planner,什么都有了。 |
3
SmiteChow Nov 4, 2019 sql 本就是结构化的,使用 antlr4 找一个 sql 语法解析器,根据语法树解析识别即可。
|
4
saulshao Nov 4, 2019 理论上像 DBEAVER 之类的数据库管理工具可以允许你生成 E-R 图。前提是有建好的外键。
但是存储过程据我所知没什么好办法。 |
5
ddzzhen Nov 4, 2019 via Android 参考魔兽世界的数据库,就是这样设计的,简直是一门艺术
|
6
Kamitora OP 补充下,数据库用的是 Oracle,感谢各位的回复!
|
7
liuzhedash Nov 5, 2019
@ddzzhen #5
有详细资料嘛?很有兴趣了解一下 |
8
ddzzhen Nov 5, 2019 via Android
@liuzhedash
https://github.com/cmangos/issues/wiki/Installation-Instructions 可以部署 3.3.5 感受一下数据库节结构,或者直接看数据库 wiki 头脑风暴 |