在數據庫建模的過程中,我們經常會使用到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這類開發多年的商業軟件比較,但是核心功能上已經能夠滿足中小型項目的建模和關系圖展示需求了。
附:功能快速對比表
↓掃碼關注 咕嚕咕嚕大數據 公眾號↓