1 Star 0 Fork 826

outspe / chiner

forked from robergroup / chiner 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MulanPubL-2.0

chiner,发音:[kaɪˈnər]

[CHINER元数建模-3.0],历时三年,几经磨难,匠心打造,浴火重生。做一款丰富数据库生态的,独立于具体数据库之外的,数据库关系模型设计平台。

元数建模平台,使用React+Electron+Java技术体系构建。

1. 前世今生

  1. 2018年初,我和几个对开源有兴趣的社区好友,创立了一个松散的组织,用一个半月时时间完成了PDMan的1.0版本发布,解决了从无到有的问题。
  2. 2018年5月,推出了PDMan第一个开源公开版,中间持续阶段性更新,直到2019年1月,不再更新。
  3. 当前每一天,有3000家以上的公司或者独立的个人在使用PDMan在设计他们的数据库。
  4. 我们自己使用以及用户使用的过程中,提出了很多优化建议方案。
  5. 因前期设计考虑不充分,很多优化升级执行起来非常困难,我们于2019年12月,规划了另一个全新的版本。
  6. 当情怀遇上生存发展,饿着肚讲理想,真的很难。期间,我们团队几经折腾周转,数次濒临解散。
  7. 2019年底,我们不到三万块启动资金,几乎是光着屁股创业,幸得有多个好友关照,给了两个项目做,核心团队分为两部分,一部分去杭州,另一部分在远走塞北,我们的吃饭问题暂时解决了。
  8. 在此期间,持续发酵沉淀,我们同社区好友,利用业余时间,完成了技术架构设计,界面原型设计,关键核心模块的开发编码。
  9. 我们以及社区好友,持续投入,直到到今天(2021年7月17日),终于推出全新的3.0版本。

2. 名称由来

  1. 第一个(公开发行名称):PDMan: Physical Data Model Manager(物理模型管理)
  2. 第二个(内部使用名称):SINOPER: SINO Popular Entity Relation(中国最流行的实体关系图工具),目前该软件发行版,底层很多代码为该词前缀。
  3. 第三个(公开发行名称):CHINER: CHINESE Entity Relation(国产实体关系图工具),为方便国内普及,中文名称为:元数建模,也作:"CHINER[元数建模]"公开使用。

3. 本版本(CHINER[元数建模]v3.0)的要点说明

  1. 基于前面3年的经验积累,为解决基因缺陷,重新出发,另外重新做。
  2. 体系结构重新设计,结构颠覆,但是对原PDMan做到高度兼容。
  3. 还是原来的配方,原来的味道,保持原来的操作习惯,并局部优化提升。
  4. 精细的界面布局及操作优化,更好看,更简单,更好用。
  5. 增加实用新功能(如导入PowerDesigner等),功能更强大,生态兼容性更好。
  6. 删除了一些非关键的使用风险较高、做得不好、比较鸡肋的功能。
  7. 这回我们自己掏钱请了专业UI设计界面。

预览截图

4. 功能介绍

4.1 自带入门参考案例

首页自带两个典型参考案例,方便用户快速了解软件支持的功能以及特性。

4.2 管理对象

4.2.1 数据表及字段

提供简洁直观的数据表以及字段管理及操作,左侧列表支持拖动排序,数据表更多设置支持增加表备注,扩展属性列表,例如提供对Hive的支持,如下图:

4.2.2 多表关联的视图

视图由多个表结合而成,支持多表以及字段的选择,如下图:

视图及来源数据表,如下图:

4.2.3 可定制的数据类型及数据域

可扩展的数据类型,并且支持多种数据库方言的适配,如下图:

数据域,用于设置同一类具有特定业务含义的数据类型,如下图:

4.2.4 数据标准(字段库)

标准字段库用于解决常用字段记录,方便用户建立数据表时,能够从常用字段库里直接拖入数据表中。 标准字段库可以用户自行添加,也可以从现有数据表中移到标准字段库中,如下图所示:

标准字段库支持导出JSON文件,也支持从JSON文件中导入,以解决共享交流问题。

4.2.5 数据字典(代码映射表)

增加了数据字典支持,用于解决对字段元数据更清晰的解析阐述,如下图:

数据表字段可以直接关联数据字典,如下图所示:

4.3 多模块模式以及不分模块模式

简单项目,不需要分模块,直接分为数据表,视图,关系图,数据字典即可,复杂项目需要折分为一个一个独立的模块,系统对这两种形式均给予支持。 简单模式,如下图:

分模块形式,如下图:

4.4 关系图

4.4.1 ER关联关系图

数据实体关联关系图,该关联关系图需要人工手动维护,如下图所示:

4.4.2 简单的概念模型图

支持简单的概念模型图,概念模型图实体只保存在关系图上,不保持实体对象,如下图所示:

概念模型图,主要用于快速勾勒系统的关键业务对象关系图,用于快速整体理解数据模型。

4.4.3 同一模块多张关系图

同一个模块,可以支持多张多种形式的关系图:

4.5 画布设计界面

4.5.1 分组框及以备注框

分组框,用于对数据表或者实体进行分类,能够更清晰的了解数据表的层次结构,如下图:

4.5.2 文字以及背景颜色设置

备注框,为普通矩形框,用于对数据表或者业务场景进行解释说明,如下图:

4.6 代码模板

4.6.1 不同数据库方言的DDL

通过代码模板引擎,实现可扩展的数据库方言支持,如下图:

MySQL:

ORACLE:

SQLServer:

4.6.2 扩展属性支持类似Hive

4.6.3 JavaBean代码生成

4.6.4 可定制化可编辑的代码模板引擎

代码模板引擎基于doT.js构建,如下图:

提供代码预览编辑,以便能够及时预览代码模板的效果,如下图:

4.7 生态对接-导入

4.7.1 数据库逆向

连接数据库,逆向解析数据库,支持数据库中文注释的解析。 连接数据库,如下图:

解析数据列表清单,如下图:

解析数据表结果,如下图:

4.7.2 导入PDMan文件

支持PDMan的导入,支持数据表,关系图,数据域的高度还原。 导入列表选择,如下图:

导入后结果,如下图:

PDMan原始情况,如下图:

4.7.3 导入PowerDesigner文件

导入PowerDesigner,支持数据表,数据域的高度还原(不支持关系图还原),如下图:

数据表选择,如下图:

最终导入后结果,如下图:

4.8 生态对接-导出

4.8.1 导出DDL

导出DDL,用于解决一次性导出指定数据表,针对指定数据库方言的导出,如下图:

4.8.2 导出WORD文档及模板可定制

将当前数据表,关系图,数据字典导出至WORD文档,如下图:

导出结果,如下图:

4.8.3 关系图导出图片

实现将当前画布的关系图,导出为PNG图片。

5. 全局搜索及定位

字段及关键字,数据字典等的全局搜索,如下图:

6. 更多特性

6.1 多语言

中文,如下图:

英文,如下图:

语言设置,如下图:

6.2 新建表默认初始化字段

6.3 表编辑一次性设置多个数据域

7. 开源协议说明

元数建模,采用木兰公共许可证, 第2版开源协议。

8. 对社区用户的承诺

8.1 历史承诺盘点:

2018年3月,在苏州源创会,给用户承诺后续将完成以下功能:

  • 1-提升用户体验
  •   1-1 提升界面美观[完成]
  •   1-2 优化用户操作[完成]
  • 2-更多模型支持
  •   2-1 导入ERWin[未完成,视用户需求,再作决定]
  •   2-2 导入PowerDesigner[完成]
  • 3-小型专业化社区[部分完成]

8.2 未来承诺

  1. CHINER元数建模,作为一款国产免费开源数据库建模工具,源代码以及编译后的程序,都免费提供给个人或者组织使用。
  2. 在此基础上二次开发,再次出售,需遵守木兰公共许可证, 第2版
  3. 为简化用户使用,CHINER提供编译后的安装包。
  4. 后续我们将会根据用户的使用情况,对国产操作系统及平台作适配。

9. 产品线(规划中)

为更好鼓励开源,激励开源贡献者的热情,生态良性发展,后续我们将尝试推出以下两个商业版:

  • 云服务Web在线版: 除保留原来的所有功能外,增加团队协作,版本管理,行业词库,智能纠正,WebHooks等团队及企业级应用功能。
  • 企业私有部署Web版:功能与Web在线版相同,提供企业私有化部署,满足企业数据代码资产要求内网部署的要求。

10. 下载及交流

10.1 源代码地址

前端JS: 查看  |  后端Java:查看

10.2 下载及交流

同发知乎: 知乎

安装文件下载及交流 前往下载以及交流

木兰公共许可证, 第2版 木兰公共许可证, 第2版 2021年5月 http://license.coscl.org.cn/MulanPubL-2.0 您对“贡献”的复制、使用、修改及分发受木兰公共许可证,第2版(以下简称“本许可证”)的如下条款的约束: 0. 定义 “贡献” 是指由“贡献者”许可在“本许可证”下的受版权法保护的作品,包括最初“贡献者”许可在“本许可证”下的作品及后续“贡献者”许可在“本许可证”下的“衍生作品”。 “贡献者” 是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 “法人实体” 是指提交贡献的机构及其“关联实体”。 “关联实体” 是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的“控制”是指拥有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 “衍生作品” 是指基于“贡献”创作的作品,具体包括对全部或部分“贡献”进行修改、重写、翻译、注释、组合或与之链接(包括动态链接或静态链接)而形成的作品。仅与“贡献”进行进程间通信或系统调用的作品是独立作品,不属于“衍生作品”。 “对应源代码” 是指生成、安装和(对于可执行作品)运行目标代码所需的所有源文件和与之关联的接口定义文件,以及控制这些活动的脚本,但不包括编译环境、编译工具、云服务平台(如果有)。 “分发” 是指通过任何媒介向他人提供“贡献”或“衍生作品”的行为,以及利用“贡献”或“衍生作品”通过网络远程给用户提供服务的行为,例如:通过利用“贡献”或“衍生作品”搭建的云服务平台提供在线服务的行为。 1. 授予版权许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、“分发”其“贡献”或“衍生作品”,不论修改与否。 2. 授予专利许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销的情形除外)专利许可,供您使用、制造、委托制造、销售、许诺销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”中的专利权利要求,而不包括仅因您对“贡献”的修改而将必然会侵犯到的专利权利要求。如果您或您的“关联实体”直接或间接地,就“贡献”对任何人发起专利侵权诉讼(包括在诉讼中提出反诉请求或交叉请求)或发起其他专利维权行动,则“贡献者”根据“本许可证”授予您的专利许可自您发起专利诉讼或专利维权行动之日终止。 3. 无商标许可 “贡献者”在“本许可证”下不提供对其商品名称、商标、服务标识或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用的情形除外。 4. 分发限制 您可以将您接收到的“贡献”或您的“衍生作品”以源程序形式或可执行形式重新“分发”,但必须满足下列条件: (1)您必须向接收者提供“本许可证”的副本,并保留“贡献”中的版权、商标、专利及免责声明;并且, (2)如果您“分发”您接收到的“贡献”,您必须使用“本许可证”提供该“贡献”的源代码副本;如果您 “分发”您的“衍生作品”,您必须: (i)随“衍生作品”提供使用“本许可证”“分发”的您的“衍生作品”的“对应源代码”。如果您通过下载链接提供前述“对应源代码”,则您应将下载链接地址置于“衍生作品”或其随附文档中的明显位置,有效期自该“衍生作品”“分发”之日起不少于三年,并确保接收者可以获得“对应源代码”;或者, (ii)随“衍生作品”向接收者提供一个书面要约,表明您愿意提供根据“本许可证”“分发”的您“衍生作品”的“对应源代码”。该书面要约应置于“衍生作品”中的明显位置,并确保接收者根据书面要约可获取“对应源代码”的时间从您接到该请求之日起不得超过三个月,且有效期自该“衍生作品”“分发”之日起不少于三年。 5. 违约与终止 如果您违反“本许可证”,任何“贡献者”有权书面通知您终止其根据“本许可证”授予您的许可。该“贡献者”授予您的许可自您接到其终止通知之日起终止。仅在如下两种情形下,即使您收到“贡献者”的通知也并不终止其授予您的许可: (1)您在接到该终止通知之前已停止所有违反行为; (2)您是首次收到该“贡献者”根据“本许可证”发出的书面终止通知,并且您在收到该通知后30天内已停止所有违反行为。 只要您下游的接收者遵守“本许可证”的相关规定,即使您在“本许可证”下被授予的许可终止,不影响下游的接收者根据“本许可证”享有的权利。 6. 例外 如果您将“贡献”与采用GNU AFFERO GENERAL PUBLIC LICENSE Version 3(以下简称“AGPLv3”)或其后续版本的作品结合形成新的“衍生作品”,且根据“AGPLv3”或其后续版本的要求您有义务将新形成的“衍生作品”以“AGPLv3”或其后续版本进行许可的,您可以根据“AGPLv3”或其后续版本进行许可,只要您在“分发”该“衍生作品”的同时向接收者提供“本许可证”的副本,并保留“贡献”中的版权、商标、专利及免责声明。但任何“贡献者”不会因您选择“AGPLv3”或其后续版本而授予该“衍生作品”的接收者更多权利。 7. 免责声明与责任限制 “贡献”在提供时不带有任何明示或默示的担保。在任何情况下,“贡献者”或版权人不对任何人因使用“贡献”而引发的任何直接或间接损失承担任何责任,不论该等损失因何种原因导致或者基于何种法律理论,即使其曾被告知有该等损失的可能性。 8. 语言 “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何不一致,以中文版为准。 条款结束 如何将木兰公共许可证,第2版,应用到您的软件 如果您希望将木兰公共许可证,第2版,应用到您的软件,为了方便接收者查阅,建议您完成如下三步: 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; 3, 请将如下声明文本放入每个源文件的头部注释中。 Copyright (c) 2021 OceanBase OceanBase CE is licensed under Mulan PubL v2. You can use this software according to the terms and conditions of the Mulan PubL v2. You may obtain a copy of Mulan PubL v2 at: http://license.coscl.org.cn/MulanPubL-2.0 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PubL v2 for more details. Mulan Public License,Version 2 Mulan Public License,Version 2 (Mulan PubL v2) May 2021 http://license.coscl.org.cn/MulanPubL-2.0 Your reproduction, use, modification and Distribution of the Contribution shall be subject to Mulan Public License, Version 2 (this License) with following terms and conditions: 0. Definition Contribution means the copyrightable work licensed by a particular Contributor under this License, including the work licensed by the initial Contributor under this License and its Derivative Work licensed by any subsequent Contributor under this License. Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. Legal Entity means the entity making a Contribution and all its Affiliates. Affiliates mmeans entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. Derivative Work means works created based on Contribution, specifically including works formed by modifying, rewriting, translating, annotating, combining or linking to all or part of Contribution (including dynamic linking or static linking). Works which only communicate with Contribution through inter-process communication or system call, are independent works, rather than Derivative Work. Corresponding Source Code means all the source code needed to generate, install, and (for an executable work) run the object code including the interface definition files associated with source files for the work, and scripts to control those activities, excluding of compilation environment and compilation tools, cloud services platform (if any). Distribute (or Distribution) means the act of making the Contribution or Derivative Work available to others through any medium, and using the Contribution or Derivative Work to provide online services to users, such as the act of providing online services through a cloud service platform built using Contributions or Derivative Works. 1. Grant of Copyright License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or Distribute its Contribution or Derivative Work, with modification or not. 2. Grant of Patent License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to use, make, have made, sell, offer for sale, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, excluding of any patent claims solely be infringed by your modification. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that any Contribution infringes patents, then any patent license granted to you under this License for the Contribution shall terminate as of the date such litigation or activity is filed or taken. 3. No Trademark License No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. 4. Distribution Restriction You may Distribute the Contribution you received or your Derivative Work, whether in source or executable forms, provided that you meet the following conditions: 1) You must provide recipients with a copy of this License and retain copyright, trademark, patent and disclaimer statements in the Contribution; and, 2) If you Distribute the Contribution you received, you must provide copies of the Contribution’s source code under this License; If you Distribute your Derivative Work, you have to: (i) accompanying the Derivative work, provide recipients with Corresponding Source Code of your Derivative Work under this License. If you provide the Corresponding Source Code through a download link, you should place such link address prominently in the Derivative Work or its accompanying documents, and be valid no less than three years from your Distribution of the particular Derivative Work, and ensure that the recipients can acquire the Corresponding Source Code through the link; or, (ii) accompanying the Derivative Work, provide recipients with a written offer indicating your willingness to provide the Corresponding Source Code of the Derivative Work licensed under this License. Such written offer shall be placed prominently in the Derivative Work or its accompanying documents. Without reasonable excuse, the recipient shall be able to acquire the Corresponding Source code of the Derivative work for no more than three months from your receipt of a valid request, and be valid no less than three years from your Distribution of the particular Derivative Work. 5. Breach and Termination If you breach this License, any Contributor has the right to notify you in writing to terminate its license granted to you under this License. The license granted to you by such Contributor terminates upon your receipt of such notice of termination. Notwithstanding the foregoing, your license will not be terminated even if you receive a notice of termination from Contributor, provided that: 1) you have cured all the breaches prior to receiving such notice of termination; or, 2) it’s your first time to receive a notice of termination from such Contributor pursuant to this License, and you have cured all the breaches within 30 days of receipt of such notice. Termination of your license under this License shall not affect the downstream recipient's rights under this License, provided that the downstream recipient complies with this License. 6. Exceptions If you combine Contribution or your Derivative Work with a work licensed under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3 (hereinafter referred to as “AGPLv3”) or its subsequent versions, and according to the AGPLv3 or its subsequent versions, you have an obligation to make the combined work to be licensed under the corresponding license, you can license such combined work under the license, provided that when you Distribute the combined work, you also provide a copy of this License to the recipients, and retain copyright, trademarks, patents, and disclaimer statements in the Contribution. No Contributor will grant additional rights to the recipients of the combined work for your license under AGPLv3 or its subsequent versions. 7. Disclaimer of Warranty and Limitation of liability CONTRIBUTION ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE CONTRIBUTION, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 8. Language THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. END OF THE TERMS AND CONDITIONS How to apply the Mulan Public License,Version 2 (Mulan PubL v2), to your software To apply the Mulan Public License,Version 2 to your work, for easy identification by recipients, you are suggested to complete following three steps: Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; Attach the statement to the appropriate annotated syntax at the beginning of each source file. Copyright (c) 2021 OceanBase OceanBase CE is licensed under Mulan PubL v2. You can use this software according to the terms and conditions of the Mulan PubL v2. You may obtain a copy of Mulan PubL v2 at: http://license.coscl.org.cn/MulanPubL-2.0 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PubL v2 for more details.

简介

元数建模,一款丰富数据库生态,独立于具体数据库之外的,数据库关系模型设计平台。 展开 收起
JavaScript
MulanPubL-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/outspe/chiner.git
git@gitee.com:outspe/chiner.git
outspe
chiner
chiner
develop

搜索帮助