3

我们有一个由 Parallels 构建的系统,它依靠一个巨大的(800 多个)表来维护一切。

我需要学习这个系统,以便能够编写查询来检索数据以生成各种需求的报告。

显然,我很难确定哪些表当前与手头的任务相关,所以我认为最好的方法是为整个表系统在多个页面上生成和打印 ERD。

我试图使用 TOAD 拖动所有表 - 它崩溃了 :) 在第二次尝试时,我拖动了表 AN,在(长时间)之后,MZ 表成功。

我什至设法让它们全部调整大小、排列并将 ERD 保存到文件中。

但是,当我进入打印或预览时,打印的子进程崩溃了嘿嘿。

关于如何打印这个巨大的 ERD 有什么建议吗?或者另一种方法?表名似乎不言自明,所以我不能(老实说,不是真的想要)超过 800 多张表,希望我不会错过我需要的或部分。

在我开始实际编写脚本和代码之前,我将非常感谢任何关于如何进行的建议或想法。

数据库在CentOS下的mySQL上,有些表是InnoDB,有些是MyISAM。许多表似乎都有外键。

谢谢!

4

5 回答 5

8

我在一个有数百张桌子(接近 1k)的地方工作,没有人真正知道系统中发生了什么,公司正在发展并招聘了很多人。一个人的任务是绘制图表,他自动创建了一张巨大的瓷砖海报,其中包含每张桌子,并用线条连接不同的桌子(到处都是)。我不确定他使用的是什么,它是几年前的 Unix 和 Oracle(在 Linux 和开源之前)。他的图表中的表格布局没有真正的韵律或理由。他已经成功地创建了每张桌子的图表。“海报”贴在公共区域的墙上,看了几眼,但没有人真正用过,不实用,太杂乱,太杂乱。因此,我使用 MS-Word 创建了一个包含 20 个主表的单页图(当我“发现”新的主表时,它经历了几次迭代),每个外键的行和每个表以逻辑方式定位。我展示了列名、数据类型、可空性、PK 和所有 FK。我把我的图表贴在我的显示器旁边的墙上。最终每个人都想要我的图表的副本,包括制作“海报”的人。当我离开那份工作时,他们仍在将我的图表提供给新员工。

我建议你像探险家一样工作,找到关键表并在你去的时候映射它们,在你发现系统时制作尽可能多的特定图表。试图自动制作巨大的“海报”不会很好。

于 2010-06-22T12:12:54.583 回答
5

你试过mysql工作台吗?如果你不介意 windows,你也可以试试Enterprise Architect

于 2010-06-22T11:39:25.303 回答
1

MySQL Workbench 有一些很棒的工具可以从创建脚本进行逆向工程。我没有将它用于这么大的数据库,但你应该检查一下。

链接:http ://wb.mysql.com/

于 2010-06-22T11:40:46.277 回答
0

IIRC,MS Sql Server 有一些很好的图表制作工具,我知道它很有帮助,你可以添加一个表,它会自动添加所有相关的表。如果您可以将表转换为与 MS SQL 兼容的 sql 脚本,这可能会有所帮助。

于 2010-06-22T13:17:54.780 回答
0

Navicat 10.1 及更高版本可以完成这项工作。使用它的模型工具并将数据库导入其中,然后轻松地重新排列。将结果打印为 pdf 或直接打印到打印机。

于 2013-12-02T11:28:15.650 回答