绘制数据库模型的最终程序是什么?

时间:2008-09-19 21:27:05

标签: drawing data-modeling

当我在一个新项目时,我做的第一件事就是设计一个数据库模型。为了可视化模型,我使用了一个7岁的Smartdraw版本。也许是时候换新的了。绘制数据库模型的最终程序是什么? Smartdraw仅适用于Windows。还有什么东西可以在unix上使用吗?

20 个答案:

答案 0 :(得分:21)

最好的工具是铅笔和纸。

也许不是您正在寻找的答案,但有时最简单的解决方案是最好的。 : - )

答案 1 :(得分:11)

白板(以及随后拍照的相机)

答案 2 :(得分:8)

你的大脑是最好的绘图工具。

我更喜欢在简单的文本文件中开发数据库模式。 首先它只包含表名,属性和外键:

company:
    company_name
    ...

employee:
    name
    age
    company_name -> company
    ...

...:

语法并不重要。 它只需要明确安排,易于更改。 后来我添加了类型和CHECK()约束, 所以文本文件逐渐转换为有效的SQL代码。

在早期阶段使用绘图工具只会分散注意力, 因为它鼓励浪费你的时间移动反应角。 相反,让你的大脑构建一个模式的图片 以同样的方式在阅读书籍的同时制作幻想图片。

随着架构的增长, 有必要通过创建概述来支持大脑。 然而,在这里,铅笔和纸比任何绘图软件都快。 另请注意,不需要使用不重要的细节来混淆概述。 只是草绘表名和最重要的关系(外键)。 任何进一步的细节都将减少此概述的值。

但是,如果您对非常详细的图形比使用文本文件和概览图形感觉更舒服,您可能想尝试一下 DBDesigner4 要么 WWW SQL Designer

答案 3 :(得分:4)

我很高兴使用Sybase PowerDesigner多年了。

答案 4 :(得分:3)

您是否看过Visio 2007 SQL Server加载项?

您可以在此处找到它:http://dbalink.wordpress.com/2008/04/24/microsoft-office-visio-2007-professional-sql-server-add-in/

答案 5 :(得分:2)

我也使用白板和相机。我把铅笔和纸放在第二位。我几乎总是留着笔(cil)和纸垫,因为我一直在设计一些东西,需要记下来。我也喜欢Visio,但我最喜欢使用的软件程序一直是ERWin。这件事的价格只是出路,但很棒。

答案 6 :(得分:2)

我喜欢使用开源思维导图程序Freemind。它与使用铅笔和纸张进行设计类似,因为中断设计过程并不会产生很多表面复杂性。

但它比纸/铅笔有两大优势:

  1. 节点折叠
  2. 轻松拖放重新安排
  3. 在大约五分钟内不使用鼠标导航界面非常容易。您可以根据需要添加任意数量的细节,并始终可以折叠细节以消除视图的混乱。这是一个截图示例:

    FreeMind screenshot

    Departments,Employees和Hours表末尾的圆圈表示有更多节点被折叠起来。您可以使用不同的字体,背景颜色甚至HTML格式疯狂。我只是做了一个[Ctrl] - [B]来使我的表名称为Bold。

    FreeMind - 以及思维导图软件 - 通过不受创意过程的影响,提供了最大的好处。这是我从头开始创建新项目时的第一个工具。

    注意:我以前只在Windows上使用该程序,但它是available on Linux

答案 7 :(得分:2)

我以前使用Visio,但如果您的数据库服务器是MySQL,请尝试MySQL Workbench。它有一个linux版本以及一个win32版本。与其他GUI产品一样,它有着相当大的怪癖,但它运行良好,并且能够从图中创建架构图和架构图。

我也同意铅笔和纸,或白板和相机是描绘事物的好方法,但我确实喜欢GUI工具来放下一个更好的形式或复杂的想法。

答案 8 :(得分:2)

我喜欢ERWin。不便宜,但它可以逆向工程或进行初始设计+生成CRUD并操纵数据库结构。 Viso也非常适合这一点,但它并不完整,当然强大的MS SQL倾向也是功能。

答案 9 :(得分:2)

WWW SQL Designer是我见过的最好的之一,这非常棒,因为它全是javascript。它还可以导入和导出您绘制的所有内容的xml和sql代码。自从我上次使用它们以来,它们添加了漂亮的贝塞尔曲线。

答案 10 :(得分:2)

我不知道它是否是绘制数据库模型的“终极”程序,但我使用Visio。不幸的是,它只能在Windows中运行。

在好的方面,我可以创建自己的形状,或修改现有的形状,并将它们保存在称为模板的集合中。我也可以通过对它们进行编程来使我的形状变得“聪明”,当我双击它们时做各种各样的事情。

答案 11 :(得分:1)

首先在纸/白板上集思广益/草绘数据库,然后使用图表工具。

哪个工具取决于您的目标数据库。我们使用SQL Server,因此SQL Server Management Studio中的设计器对我们很有用,因为我们同时创建了数据库。

答案 12 :(得分:1)

对于Linux,我使用了雨伞

答案 13 :(得分:1)

可能有更多技术程序,但我使用SmartDraw。我还想指出,“终极”取决于你的情况。找到最适合您或您和您公司的方法。适合你的是“终极”。

答案 14 :(得分:1)

我曾经使用Viso,但现在,因为我更基于Mac,所以我使用Omnigraffle。

我不得不承认,正如andyUK所做的那样,我在纸上做了粗略的草图。

它还取决于您正在使用的数据库。如果它是MySQL,那么有很多可用的可视化开发工具,只有have a google

答案 15 :(得分:1)

DIA也不错,有些工具可以从某些类型的模型中实际生成一些代码。如果您正在使用PostgreSQL,那么甚至还有一种工具可以用于其他方式,pg-autodoc。

DIA适用于Unix,我也相信Windows。

答案 16 :(得分:1)

如果您正在寻找没有任何反向/正向工程功能的廉价解决方案/工具,MS Visio可能是您最好的选择。但是,如果您打算向ERD工具投入一些资金,请将其花在ER / Studio上。

我曾经使用并成为ERWIN的冠军。一旦我开始使用ER / Studio,我就成了它的粉丝。我是财富100强企业之一的企业数据架构师,我不知道如何在没有它的情况下完成工作。

PS:我与这些产品和公司没有任何关联。

答案 17 :(得分:0)

如果您不需要太多采取Dia

答案 18 :(得分:0)

OpenOffice有一个矢量绘图工具,Inkscape是另一个很好的工具 否则,您可以使用Graphviz(点语言)从文本描述中生成此类图表 还有一些工具可以从现有数据库中生成这样的图表(我首先想到的就是你所要求的)。

答案 19 :(得分:0)

我使用了Power Designer。它功能强大但相当复杂。