我见过很多工具可以从现有数据库中对 ERD 进行逆向工程,但是我一直无法找到能够以合理的方式自动布置图表的工具。他们中的大多数只是将所有实体放在一起,然后收工。有些人尝试组织实体,但他们做得并不好。
是否有任何工具可以对现有数据库的结构进行逆向工程,然后以易于理解并揭示数据库组织的方式自动对其进行布局?如果我要制作这样一个工具,我会让它最小化连接实体的线的长度,最小化相互交叉的线的数量,并使相关实体组彼此突出。我还会尝试推断哪些表是查找表,哪些表是 mana-to-many 中间表等,并布置实体,使这些角色对于查看图表的人来说是显而易见的。
我没有足够的资金来制作上述内容,但我确实有一些资金可以购买这样的工具,如果它很好的话。
编辑:我应该提到我正在尝试用 100 多个表绘制一个数据库,所以我想尽可能多地自动化它。数据库不是我非常熟悉的,所以我希望通过查看图表来学习,而不是将我所知道的转储到图表中(这似乎是大多数图表工具的设计目的)。
有没有办法在 Visio 中制作的数据库 ERD 末尾手动编辑基数/重数符号?我使用的类别在 Visio 2003 下Database -> Database Model Diagram
我希望能够从这样的事情出发:
对此:
第二个图形是通过手动添加数字完成的,但我更愿意在 Visio 中完成。有没有办法做到这一点?