在数据库建模的过程中,我们经常会使用到ERwin或者Power Designer之类的建模软件,来构建我们的逻辑模型和物理模型。但是这类软件都属于商业软件,需要企业购买相应的许可证授权。有些时候,我们会在没有购买这类商业建模软件的环境下工作,这时我们可以采用免费的建模软件来进行相关工作。
在这里推荐一款国产的开源数据建模软件,PDMan。对比其他国外的开源建模软件,功能比较齐全,界面更加美观。
PDMan官方网站:
http://www.pdman.cn/
目前最新版本为v2.1.6
下面就PDMan与平常国内企业在建模方面最常用的ERwin,做一个大致个功能对比,让大家大概知道这个建模软件到底能做到什么程度。(如果不想看这么长的话可以直接拉到最后)
主题划分与实体的组织
在ERwin中,所有的Entity都是属于的,其他由用户建立的主题,都只是按照视觉划分,实际引用的Entity都来源于中。因此在ERwin中,在一个新建立的主题中,想要展现之前已经定义的Entity,可以直接引用。
但是在PDMan中,并不存在一个这样的“实体集合区域”,要想划分主题,必须使用其对应的“新增模块”功能。
并且在PDMan中,每个模块内的数据表都是独立的。这意味着,模块B中不能直接引用模块A中已经定义的表a,要想在模块B的关系图中显示表a,则只能通过复制-粘贴的方式:
支持的视图
在ERwin中,支持逻辑模型视图和物理模型视图。
而在PDMan中,本质上来讲,只有物理模型视图。
关系图功能
在ERwin中,关系图可以直接进行各种编辑,包括调整实体位置、关系调整、新增关系、新增实体、删除实体等。
在PDMan中,关系图的功能较弱,只支持部分编辑功能:
1、调整数据表的显示位置和显示大小
2、增加、删除数据表之间的关系
3、删除数据表
在ERwin中,用户可自由选择在关系图中显示哪些信息项。
而在PDMan中,用户完全无法调整关系图中显示哪些信息项。
另外ERwin可以支持在关系图中任意进行字体和颜色控制。
而PDMan无法让用户控制字体和颜色。
域功能
ERwin和PDMan都有域功能,可以让用户自定义域。
但是ERwin支持域类型的层级继承关系,而PDMan没有这种功能。
建模符号
建模符号方面,ERwin可以自由选择IDEF1X或者是IE。
而PDMan不能进行选择,关系图中采用的是IE建模符号。
(IE建模符号也就是我们通常说的小人符号,因为看起来像火柴人...)
模型版本控制
ERwin和PDMan都支持模型版本控制。
PDMan需连接数据库来作为版本控制的知识库,但根据官方的说明,目前功能还有不完善的地方,请谨慎使用。
导出功能
ERwin支持导出的格式:HTML、文档(RTF)、PDF、CSV、图片
PDMan支持导出的格式:HTML、文档(Word)、PDF、MarkDown、JSON、图片
导出插件这部分,因为涉及商业组件,所以PDMan并没有开源。
PDMan目前缺少导出CSV之类的,可以让表格软件直接读取的格式。所以想在Excel中去处理,还需要自己去进行二次转换。
正向引擎
ERwin作为商业产品,基本上支持所有主流的关系型数据库。其正向引擎可以直接连接数据库实例执行建表,也可以导出DDL脚本。
而PDMan的正向引擎,只能导出DDL脚本(默认支持MYSQL SQLSERVER ORACLE POSTGRESQL,可支持自定义其他数据库模板)。
逆向引擎
ERwin支持所有主流的关系型数据库,支持ODBC驱动的数据源。可以解析数据库实例,也可以解析DDL脚本文件。
PDMan默认支持MYSQL 、SQLServer 、Oracle 、Postgresql ,可自定义支持JDBC驱动的其他数据库 。PDMan目前只能解析数据库实例,不能解析DDL脚本文件。
而PDMan界面中显示的解析PDM和ERWIN文件的功能,还在开发中,目前不可用 。
查找和替换
ERwin有完善的实体/属性查找和替换功能,可以根据各种条件筛选和替换。
而PDMan这方面功能比较弱,只有简单的快速查找功能,没有快速替换功能。
PDMan的查找一个是在数据表区域快速查找,一个是在关系图中查找。
其他常用功能
PDMan对比ERwin,还缺少了常用的命名标准功能(无法自动进行英文到中文标准化转换)、模型模板(基础模型标准化复用)等功能。
总结
总的来说,PDMan作为一款免费开源的建模软件,功能上自然无法和ERwin这类开发多年的商业软件比较,但是核心功能上已经能够满足中小型项目的建模和关系图展示需求了。
附:功能快速对比表
↓扫码关注 咕噜咕噜大数据 公众号↓