数据模型设计软件调研
目标: 找到一个好用的数据模型设计软件, 适合数据仓库项目开发或大型数据库设计.
结果: Eclipse ERMaster 功能不算太多, 但ER建模功能都有了, 使用体验最好, 我推荐使用 Eclipse ERMaster , 另外, PowerDesigner 功能最多, 不差钱可以选这个.
下面是早期的评估:,
候选软件清单: Oracle SQL Developer Data Modeler/ MySQL Workbench/ Eclipse ERMaster/ 插件/ Eclipse AmaterasERD插件. 我熟悉的PowerDesigner 和 ERWin 自然不在此列.
需求点 |
刚需吗 |
SQL Developer Data Modeler |
MySQL Workbench |
Eclipse AmaterasERD 插件 |
总结评价 |
|
比较适合数仓项目, 操作体验不是很好 |
功能较弱 |
不能ER图的分解, 不支持table的search功能, 该插件功能不多, 但优秀. 适合小型项目使用. |
需要能将数仓完整的ER, 分解在一些小的ER图上展现. |
必须 |
支持 |
不支持 |
不支持 |
要能按照Table名做全局搜索, 即子ER图上的Table也能被找到. |
必须 |
支持 |
?? |
不支持 |
能表达出Table和Table之间的关系 |
必须 |
支持 |
?? |
支持 |
能导出Table的DDL语句 |
必须 |
支持 |
?? |
支持 |
Table名能包含schema, 数仓项目基本上需要多个schema的 |
必须 |
支持 |
?? |
支持 |
支持domain定义 |
最好有 |
?? |
?? |
支持 |
一个Table能以快捷方式的形式出现在子ER图上 |
最好有 |
不支持 |
?? |
不支持 |
反向工程 |
最好有 |
支持 |
?? |
支持 |
支持逻辑模型和物理模型 |
最好有 |
支持 |
?? |
支持 |
支持Teradata |
最好有 |
不支持 |
不支持 |
?? |
Oracle SQL Developer Data Modeler
巨无霸软件包, 和ERWin比较像. 和Oracle出品的其他客户端工具一样, 我用着总是感觉挺别扭的. 不过这应该是适合大型数仓项目最好的免费ER设计工具了.
MySQL Workbench
没有分组的功能, 不太适合数据仓库项目用, 直接放弃
Eclipse AmaterasERD
http://amateras.osdn.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasERD
不能ER图的分解, 不支持table的search功能, 总体觉得该插件功能不多, 但优秀. 适合小型项目使用.
增加一个候选 SQL Power Architect, 网址 http://software.sqlpower.ca/page/architect, 特点有:
1. 社区版免费
2. 操作不复杂
3. 建模能力完全够用, 常用的功能有:
(1)反向工程:先建立JDBC连接, 然后左边导航树就有了数据库节点, 可将DB中的Table直接拖拉到画布上.
(2)鼠标拖拉即可调整栏位次序.
(3)点击关系线, 即可高亮主外键栏位.
(4)生成SQL脚本, 对于vertica 这样小众的数据库, 在生成SQL的对话框中, 选择数据库类型为Generic SQL-92, 生成的DDL简单修一下即可在vertica执行.
它有一个致命的缺点: 鼠标很难将table图放到画布合适的位置上, 让人很抓狂.
Eclipse ERMaster 插件
update site 为 http://ermaster.sourceforge.net/update-site/
(1)可以使用 category 来为模型分块, 这一点对于大型项目非常重要.
(2)有两种数据字典维护功能, 分别是 word(单个字段) 和 manage group(多个common 字段的group), 使用都非常方便.
(3)鼠标拖拉即可调整栏位次序.
(4)点击关系线, 即可高亮主外键栏位.
(5) 可以按table名/字段名搜索
(6)模型图可以调的很好看.