破译数据库模式[关闭](Decipher database schema [closed])

2019-06-26 17:05发布

我最近继承坚持认为没有被设计得非常好数据库的工作,设计师们无法提出任何问题。 我有一对夫妇更来我的方式在不久的将来。

它是艰难试图找出表之间的关系没有任何形式的视觉辅助或数据库图表。

我想知道是什么建议的工具这一点。 我知道有关Visio,但我希望有一些优秀的开源/免费应用程序在那里。 我并不需要它的所有更改数据库。 只要阅读它,并创建某种视觉辅助来帮助我了解事情的布局方式,并尝试找出设计师在想数据应该如何关联。


附加的应答数据:SchemaSpy是那种我一直在寻找,但具有不做了大量随着年龄的命令行的事,我选择使用SchemaSpyGUI 。 还有一些配置来适应,因为我没有使用Java一样工作,但最终的结果是什么,我一直在寻找(开源替代Visio的ER图)。

Answer 1:

尝试SchemaSpy 。 我跑这对一个相当复杂的数据库,我是相当的结果感到高兴,对优化建议。



Answer 2:

尝试DBVis -下载在http://www.minq.se/products/dbvis/ -有一个专业版(不需要),这应该足够了一个开放的版本。

所有你需要做的就是要得到正确的JDBC - 数据库驱动程序,该工具可显示表和正交参考,hirarchical,转了一圈;-)等只需按下一个单一的按钮。 请享用!



Answer 3:

DBMS(数据库管理系统),你使用的是什么? 许多现代的DBMS如SQL Server和Access可以为您创建一个ER图。

微软Visio是一个极好的工具,可以从任何数据源进行反向工程SQL。

DDT(数据库设计工具)可以逆转窗口从原始的SQL工程师,非常轻巧(非常小的免费下载)。

MySQL工作台是比较流行的MySQL工具之一,并拥有一个免费下载的版本。

SQLFairy可以在Linux上的MySQL这样做。



Answer 4:

dbdesc是不是免费的,但我听说它很不错的事情。 它的工作原理与几个主要的数据库在那里。

我一直很幸运,在我还没有破译别人的数据库模式呢。 我已经使用一组附带模板CodeSmith中 。



Answer 5:

首先,我可以说,我觉得你的痛苦!
这里有一些我的秘诀的:

  1. 一般情况下,一个工具只会是有益的,如果设计师们正确定义所有的主键和外键,所以要知道,一个工具可能不会拿起所有的重要关系。
  2. 最有用的东西就是看正在由客户端代码执行哪些查询。 这会告诉你,不仅什么关系存在,但表和关系是最常用的 - 这就是你要集中你的努力。


Answer 6:

有一点开源软件在那里,但Visio专家对逆向工程数据库模式的工具是相当不错的,因为逆向工程和图表它去夫妇的过程。 我用这个了很多,因为它往往是现成的,在大多数网站。

Visio中的一个不错的功能是,你可以反向工程,然后从反向工程的模式构建自己的图。 这样做是探索模式,并把它理解为你做这项工作的互动建设模式的参考文件的一部分的很好的办法。 我已经使用这种技术来反向工程一切从基于活动的成本核算系统 ,以承保系统 ,通常没有从供应商有很大帮助。 与Visio图表摆弄的是相当轻松的。

这和一点点假设检验有关的FK关系(如果FK实际不存在的表)可以使相当复杂的模式感之间。 我发现这个图表的方法使Visio中的头肩领导者,因为你可以很容易地在一个相当便捷的方式反向工程的模型进行交互。 您可以在缺少外键填写,打造主题区域图和上图中添加注释。 这个过程的交互性使得它一个很好的学习工具。

这是一个很主观的看法,但互动效果很好的学习程序为我和它是迄今为止我的首选方法。 大部分网站都不会吝惜你300£左右的牌照 - 如果他们不已经有它可用。 我曾经工作过的唯一网站,他们必须在得到它,是因为他们有Visio标准,而不是临。 我问漂亮和PHB签署它。



Answer 7:

我使用MySQL工作台( http://www.mysql.com/products/workbench/ MySQL数据库)。 您可以将工作台连接到数据库,它将绘制ER双字母组合为您服务。



Answer 8:

使用的pgsql / win32的,我发现最简单的解决办法是写一个Perl脚本,利用从CPAN图::方便。 查询外键关系数据库中,做一个向图,表为节点,作为链接的FK关系。 如果这是你的设置,我可以张贴代码。



Answer 9:

我喜欢尝试,看看是否使用该数据库的应用程序在登录他们使用SQL的方式(或DB后端本身,但往往是不太听话)。 获得什么对数据库执行请求的感觉可以帮助你专注于重要的表。

与大多数事情一样,80/20规则适用于这里:该表的20%会做的有趣的东西80%。 一旦他们想通了,图很少是必要的。



Answer 10:

看看已被设置为起点的主键外键relationshsips。

由于不存在图数据库,可能没有关系,正式挂牌成立,我看看表结构和名称,让我最好的猜测,什么可能涉及到什么,然后深入到结构,以查看是否有明显的(但未定义)外键。 我看存储的特效来获得一个想法,以表如何连接和哪些领域被查询的。

虽然自动化工具来找出数据库可以是漂亮的,我发现,当我真正深入到数据库中的细节我自己,我结束了一个更好的了解比我可以从自动创建的任何图片获得。



Answer 11:

我有一些非常好的经验的Aqua Data Studio中进行逆向工程数据库架构。 这是非常丰富的功能,并支持更特殊的数据库,如Informix的或Sybase。



Answer 12:

这帮助我产生MS SQL Server 2012中的ER图:

MS SQL Server Management Studio中>文件菜单>“连接对象资源管理器”选择你的数据库节点并展开它。 在此节点下,你会发现所谓的“数据库图表”的子节点右键点击“库图”>“新建数据库图表”>添加,你希望看到自己的列,关系表,...



Answer 13:

使用Visio。 如果使用2010年远景,您将需要使用SQL Server的通用OLEDB提供程序,以确保不会有任何问题与连接到Visio驱动程序。



文章来源: Decipher database schema [closed]