# data-model **Repository Path**: sprouting/data-model ## Basic Information - **Project Name**: data-model - **Description**: 一个可视化的数据库建模工具,支持 ER 图设计、表结构管理、关系链路追踪、SQL 生成、Mock 数据生成等功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-15 - **Last Updated**: 2026-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 三叶草 (数据库建模工具) ## 项目说明 一直以来,都是使用的pdmaner做的数据库建模,可惜这个工具已经停更了,并且它还有几个痛点问题一直没解决,第一,超过300张表整个关系图会卡的不成样子。第二,它适配了非常多的数据库,但是SQL之类的生成总是有一些无法识别的类型,使用上有一些遗憾,虽然现在是AI时代了,但我一直觉得,要搞懂一个系统,看它的表设计就是最好的办法,所以,乘着Ai的东风,做了这个项目。 解决的一些痛点问题: - [ ] 表关系线杂乱,难以追踪数据链路 - [ ] 数据来源与流向不清晰 - [ ] 表分组,不同的系统有不同的表 - [ ] 字段冗余无法标记,历史字段难以管理 - [ ] 多表共享字典值(性别、状态等)难以统一管理 - [ ] 数据库与 Java 模型不同步 - [ ] 缓存数据库(Redis)建模缺失 一些已经在做的功能点: - [x] 数据溯源,到底从哪里来,每一行的数据 - [x] 数据透视,数据穿透多层后的来源 - [ ] 创建的表不能有外键和可选外键 - [x] 主字段,哪些是冗余,哪些是关键的外键关系 - [x] 针对一个字段多个引用,可以快速看到引用,以及相关的引用详情 - [x] 可以通过表关系快速跳转,方便在关系图很大的时候定位到关联关系 - [x] 和随机工具一起,可以生成比较有用的moke信息,搭配自己之前做的随机数生成器,生成项目中各种随机数,其实主要是插入语句 - [x] 特色功能,模拟创建数据 - [x] 有些字段标记为删除,但其实并不删除,只是生成的信息作为删除的 - [ ] 常用的SQL语句生成,比如插入,更新,删除等语句 - [x] 要说明哪些是冗余字段,哪些是外键 - [ ] 建模是在java模型上,java总是固定的,但数据库会一直有新增,这样转会更好 - [x] 一些旧字段不进行处理,继续保存 - [x] 对比表结构和现在的结构,让用户去进行选择,有点类似git冲突,编辑选择,还是覆盖 - [ ] 支持其他的图形,可以对表在旁边添加注释 - [x] 对字段也可以单独的颜色,对统一的某个字段标注颜色 - [ ] 支持对性别等的管理,全局可以统一起来 - [x] 点一下线定位到另外一个表去 - [ ] 支持redis的数据库建模 - [ ] 给出示例数据,枚举的自动给 - [x] 表进行分组,微服务可能是不同的数据库,一个分组就是一个数据库 - [x] 对于关键字要进行检测,但要支持,可以提出警告,但不阻止 - [x] 支持默认SQL的录入,有表的同时有对应的SQL - [ ] 支持数据库的数据对比,小数据量的 总体整个项目我觉得比较有特色的,一个是支持模拟数据的生成,一个是数据库表字段溯源。 ### 部分项目截图 ![image-20260929112952093](README.assets/image-20260929112952093.png) ![image-20260929113001111](README.assets/image-20260929113001111.png) ![image-20260929113039005](README.assets/image-20260929113039005.png) 支持无极创建文件夹,表可以放到文件夹并且拖拽 ![image-20260929114142170](README.assets/image-20260929114142170.png) ![image-20260929114130157](README.assets/image-20260929114130157.png) ![image-20260929114211100](README.assets/image-20260929114211100.png) ![image-20260929114230164](README.assets/image-20260929114230164.png) 支持颜色 ![image-20260929114301334](README.assets/image-20260929114301334.png) 支持溯源 ![image-20260929114353813](README.assets/image-20260929114353813.png) ![image-20260929114416537](README.assets/image-20260929114416537.png) ## 技术选型 | 层级 | 技术 | 说明 | | -------- | ----------------------- | ------------------------------------ | | 桌面框架 | Electron | 跨平台桌面端,本地文件操作,交互可控 | | 前端框架 | Vue 3 + Vite | 响应式 UI,组合式 API | | 状态管理 | Pinia | 轻量级 Vue 状态管理 | | 画布引擎 | LiteGraph.js | 节点化图形编辑,用于 ER 关系图 | | 存储引擎 | SQLite (better-sqlite3) | 嵌入式数据库,本地存储 | | 样式 | Tailwind CSS / PrimeVue | UI 组件库 | | 构建 | electron-vite | Electron + Vite 一体化构建 | ### 环境要求 - Node.js >= 18 - npm >= 8 ## 参考 本项目参考项目 [pdmaner](https://gitee.com/robergroup/pdmaner)、[pgModeler](https://pgmodeler.io) 参考的其他项目效果 ](https://pgmodeler.io/#) ![image-20231007175722713](README.assets/image-20231007175722713.png) ![Need to handle your database? Don](README.assets/e0a7ea7eadaef0e8ee982e7a6422858f.png) ![Objects are organized in a dynamic and manageable tree or list view.](README.assets/923f5ab6e17bf45e608c0bee2dd12e65.png) ![Preview what will change in your database prior to applying the diff code.](README.assets/aff74969047b2ad83ea6e64016b50233.png) ![Check details of all loaded plug-ins.](README.assets/9a3f17979db3ebfcc8de601879ee5406.png) ![Objects are organized in a dynamic and manageable tree or list view.](README.assets/923f5ab6e17bf45e608c0bee2dd12e65.png) ![Start your work from the Welcome view](README.assets/8f79a9ed6b4b2fc532552d0239f4d663.png)