CHINER元數(shù)建模
chiner,發(fā)音:[ka??n?r]
[CHINER元數(shù)建模-3.0],歷時三年,幾經(jīng)磨難,匠心打造,浴火重生。做一款豐富數(shù)據(jù)庫生態(tài)的,獨立于具體數(shù)據(jù)庫之外的,數(shù)據(jù)庫關(guān)系模型設計平臺。
元數(shù)建模平臺,使用React+Electron+Java技術(shù)體系構(gòu)建。
1. 前世今生
- 2018年初,我和幾個對開源有興趣的社區(qū)好友,創(chuàng)立了一個松散的組織,用一個半月時時間完成了PDMan的1.0版本發(fā)布,解決了從無到有的問題。
- 2018年5月,推出了PDMan第一個開源公開版,中間持續(xù)階段性更新,直到2019年1月,不再更新。
- 當前每一天,有3000家以上的公司或者獨立的個人在使用PDMan在設計他們的數(shù)據(jù)庫。
- 我們自己使用以及用戶使用的過程中,提出了很多優(yōu)化建議方案。
- 因前期設計考慮不充分,很多優(yōu)化升級執(zhí)行起來非常困難,我們于2019年12月,規(guī)劃了另一個全新的版本。
- 當情懷遇上生存發(fā)展,餓著肚講理想,真的很難。期間,我們團隊幾經(jīng)折騰周轉(zhuǎn),數(shù)次瀕臨解散。
- 2019年底,我們不到三萬塊啟動資金,幾乎是光著屁股創(chuàng)業(yè),幸得有多個好友關(guān)照,給了兩個項目做,核心團隊分為兩部分,一部分去杭州,另一部分在遠走塞北,我們的吃飯問題暫時解決了。
- 在此期間,持續(xù)發(fā)酵沉淀,我們同社區(qū)好友,利用業(yè)余時間,完成了技術(shù)架構(gòu)設計,界面原型設計,關(guān)鍵核心模塊的開發(fā)編碼。
- 我們以及社區(qū)好友,持續(xù)投入,直到到今天(2021年7月17日),終于推出全新的3.0版本。
2. 名稱由來
- 第一個(公開發(fā)行名稱):PDMan: Physical Data Model Manager(物理模型管理)
- 第二個(內(nèi)部使用名稱):SINOPER: SINO Popular Entity Relation(中國最流行的實體關(guān)系圖工具),目前該軟件發(fā)行版,底層很多代碼為該詞前綴。
- 第三個(公開發(fā)行名稱):CHINER: CHINESE Entity Relation(國產(chǎn)實體關(guān)系圖工具),為方便國內(nèi)普及,中文名稱為:元數(shù)建模,也作:"CHINER[元數(shù)建模]"公開使用。
3. 本版本(CHINER[元數(shù)建模]v3.0)的要點說明
- 基于前面3年的經(jīng)驗積累,為解決基因缺陷,重新出發(fā),另外重新做。
- 體系結(jié)構(gòu)重新設計,結(jié)構(gòu)顛覆,但是對原PDMan做到高度兼容。
- 還是原來的配方,原來的味道,保持原來的操作習慣,并局部優(yōu)化提升。
- 精細的界面布局及操作優(yōu)化,更好看,更簡單,更好用。
- 增加實用新功能(如導入PowerDesigner等),功能更強大,生態(tài)兼容性更好。
- 刪除了一些非關(guān)鍵的使用風險較高、做得不好、比較雞肋的功能。
- 這回我們自己掏錢請了專業(yè)UI設計界面。
預覽截圖
4. 功能介紹
4.1 自帶入門參考案例
首頁自帶兩個典型參考案例,方便用戶快速了解軟件支持的功能以及特性。
4.2 管理對象
4.2.1 數(shù)據(jù)表及字段
提供簡潔直觀的數(shù)據(jù)表以及字段管理及操作,左側(cè)列表支持拖動排序,數(shù)據(jù)表更多設置支持增加表備注,擴展屬性列表,例如提供對Hive的支持,如下圖:
4.2.2 多表關(guān)聯(lián)的視圖
視圖由多個表結(jié)合而成,支持多表以及字段的選擇,如下圖:
視圖及來源數(shù)據(jù)表,如下圖:
4.2.3 可定制的數(shù)據(jù)類型及數(shù)據(jù)域
可擴展的數(shù)據(jù)類型,并且支持多種數(shù)據(jù)庫方言的適配,如下圖:
數(shù)據(jù)域,用于設置同一類具有特定業(yè)務含義的數(shù)據(jù)類型,如下圖:
4.2.4 數(shù)據(jù)標準(字段庫)
標準字段庫用于解決常用字段記錄,方便用戶建立數(shù)據(jù)表時,能夠從常用字段庫里直接拖入數(shù)據(jù)表中。 標準字段庫可以用戶自行添加,也可以從現(xiàn)有數(shù)據(jù)表中移到標準字段庫中,如下圖所示:
標準字段庫支持導出JSON文件,也支持從JSON文件中導入,以解決共享交流問題。
4.2.5 數(shù)據(jù)字典(代碼映射表)
增加了數(shù)據(jù)字典支持,用于解決對字段元數(shù)據(jù)更清晰的解析闡述,如下圖:
數(shù)據(jù)表字段可以直接關(guān)聯(lián)數(shù)據(jù)字典,如下圖所示:
4.3 多模塊模式以及不分模塊模式
簡單項目,不需要分模塊,直接分為數(shù)據(jù)表,視圖,關(guān)系圖,數(shù)據(jù)字典即可,復雜項目需要折分為一個一個獨立的模塊,系統(tǒng)對這兩種形式均給予支持。 簡單模式,如下圖:
分模塊形式,如下圖:
4.4 關(guān)系圖
4.4.1 ER關(guān)聯(lián)關(guān)系圖
數(shù)據(jù)實體關(guān)聯(lián)關(guān)系圖,該關(guān)聯(lián)關(guān)系圖需要人工手動維護,如下圖所示:
4.4.2 簡單的概念模型圖
支持簡單的概念模型圖,概念模型圖實體只保存在關(guān)系圖上,不保持實體對象,如下圖所示:
概念模型圖,主要用于快速勾勒系統(tǒng)的關(guān)鍵業(yè)務對象關(guān)系圖,用于快速整體理解數(shù)據(jù)模型。
4.4.3 同一模塊多張關(guān)系圖
同一個模塊,可以支持多張多種形式的關(guān)系圖:
4.5 畫布設計界面
4.5.1 分組框及以備注框
分組框,用于對數(shù)據(jù)表或者實體進行分類,能夠更清晰的了解數(shù)據(jù)表的層次結(jié)構(gòu),如下圖:
4.5.2 文字以及背景顏色設置
備注框,為普通矩形框,用于對數(shù)據(jù)表或者業(yè)務場景進行解釋說明,如下圖:
4.6 代碼模板
4.6.1 不同數(shù)據(jù)庫方言的DDL
通過代碼模板引擎,實現(xiàn)可擴展的數(shù)據(jù)庫方言支持,如下圖:
MySQL:
ORACLE:
SQLServer:
4.6.2 擴展屬性支持類似Hive
4.6.3 JavaBean代碼生成
4.6.4 可定制化可編輯的代碼模板引擎
代碼模板引擎基于doT.js構(gòu)建,如下圖:
提供代碼預覽編輯,以便能夠及時預覽代碼模板的效果,如下圖:
4.7 生態(tài)對接-導入
4.7.1 數(shù)據(jù)庫逆向
連接數(shù)據(jù)庫,逆向解析數(shù)據(jù)庫,支持數(shù)據(jù)庫中文注釋的解析。 連接數(shù)據(jù)庫,如下圖:
解析數(shù)據(jù)列表清單,如下圖:
解析數(shù)據(jù)表結(jié)果,如下圖:
4.7.2 導入PDMan文件
支持PDMan的導入,支持數(shù)據(jù)表,關(guān)系圖,數(shù)據(jù)域的高度還原。 導入列表選擇,如下圖:
導入后結(jié)果,如下圖:
PDMan原始情況,如下圖:
4.7.3 導入PowerDesigner文件
導入PowerDesigner,支持數(shù)據(jù)表,數(shù)據(jù)域的高度還原(不支持關(guān)系圖還原),如下圖:
數(shù)據(jù)表選擇,如下圖:
最終導入后結(jié)果,如下圖:
4.8 生態(tài)對接-導出
4.8.1 導出DDL
導出DDL,用于解決一次性導出指定數(shù)據(jù)表,針對指定數(shù)據(jù)庫方言的導出,如下圖:
4.8.2 導出WORD文檔及模板可定制
將當前數(shù)據(jù)表,關(guān)系圖,數(shù)據(jù)字典導出至WORD文檔,如下圖:
導出結(jié)果,如下圖:
4.8.3 關(guān)系圖導出圖片
實現(xiàn)將當前畫布的關(guān)系圖,導出為PNG圖片。
5. 全局搜索及定位
字段及關(guān)鍵字,數(shù)據(jù)字典等的全局搜索,如下圖:
6. 更多特性
6.1 多語言
中文,如下圖:
英文,如下圖:
語言設置,如下圖:
6.2 新建表默認初始化字段
6.3 表編輯一次性設置多個數(shù)據(jù)域
7. 開源協(xié)議說明
元數(shù)建模,采用木蘭公共許可證, 第2版開源協(xié)議。
8. 對社區(qū)用戶的承諾
8.1 歷史承諾盤點:
2018年3月,在蘇州源創(chuàng)會,給用戶承諾后續(xù)將完成以下功能:
- 1-提升用戶體驗
- 1-1 提升界面美觀[完成]
- 1-2 優(yōu)化用戶操作[完成]
- 2-更多模型支持
- 2-1 導入ERWin[未完成,視用戶需求,再作決定]
- 2-2 導入PowerDesigner[完成]
- 3-小型專業(yè)化社區(qū)[部分完成]
8.2 未來承諾
- CHINER元數(shù)建模,作為一款國產(chǎn)免費開源數(shù)據(jù)庫建模工具,源代碼以及編譯后的程序,都免費提供給個人或者組織使用。
- 在此基礎上二次開發(fā),再次出售,需遵守木蘭公共許可證, 第2版。
- 為簡化用戶使用,CHINER提供編譯后的安裝包。
- 后續(xù)我們將會根據(jù)用戶的使用情況,對國產(chǎn)操作系統(tǒng)及平臺作適配。
9. 產(chǎn)品線(規(guī)劃中)
為更好鼓勵開源,激勵開源貢獻者的熱情,生態(tài)良性發(fā)展,后續(xù)我們將嘗試推出以下兩個商業(yè)版:
- 云服務Web在線版: 除保留原來的所有功能外,增加團隊協(xié)作,版本管理,行業(yè)詞庫,智能糾正,WebHooks等團隊及企業(yè)級應用功能。
- 企業(yè)私有部署Web版:功能與Web在線版相同,提供企業(yè)私有化部署,滿足企業(yè)數(shù)據(jù)代碼資產(chǎn)要求內(nèi)網(wǎng)部署的要求。
