Data Model Designer

📐 建筑工程数据模型智能设计

面向建筑工程的数据模型设计工具,通过Python类生成实体关系图、SQL架构与JSON Schema,解决行业数据碎片化问题。

收藏
9.7k
安装
4.6k
版本
2.1.0
CLS 安全性认证2026-05-09
点击查看完整报告 >

使用说明

核心用法

Data Model Designer 是一款专为建筑工程行业设计的数据建模工具,采用Python面向对象架构,提供从实体定义到数据库架构生成的完整工作流。

主要功能模块:

1. 实体与字段定义:通过 FieldEntity 数据类定义数据实体,支持 STRING、INTEGER、FLOAT、BOOLEAN、DATE、DATETIME、TEXT、JSON 八种数据类型,以及 PRIMARY_KEY、FOREIGN_KEY、UNIQUE、NOT_NULL 约束。

2. 关系建模:支持 1:1、1:N、N:M 三种关系类型,通过 Relationship 类建立实体间关联,自动维护外键约束。

3. 多格式输出

  • SQL DDL:生成 PostgreSQL/MySQL 兼容的建表语句与外键约束
  • JSON Schema:输出标准 JSON Schema 用于数据验证
  • Mermaid ER 图:生成可视化实体关系图

4. 内置建筑行业标准实体:预置 projects(项目)、activities(进度活动)、cost_items(成本项)等常用实体模板。

显著优点:

  • 行业针对性强,直击建筑工程数据管理痛点(碎片化、结构不一致、集成困难)
  • 代码即文档,Python 数据类定义天然具备可读性与版本控制友好性
  • 多数据库方言支持(PostgreSQL JSONB 优化)
  • 自动模型验证,检查缺失实体、无主键等问题

潜在缺点与局限性:

  • 纯代码驱动,无可视化界面,对非技术人员门槛较高
  • 缺少迁移脚本生成(migrations),仅生成初始DDL
  • 复杂业务逻辑(如继承、多态)支持有限
  • 依赖 Python 3 运行时环境

适合人群:

建筑信息化(BIM/CIM)开发人员、数据工程师、施工企业IT团队,尤其适合需要将 Excel/分散系统数据整合到统一数据库的场景。

常规风险:

  • 自动生成的外键约束可能导致循环依赖问题
  • JSON 类型字段在不同数据库间存在兼容性差异
  • 生产环境使用前需人工复核索引策略(工具未自动生成索引)

安全解读

核心用法

Data Model Designer 是一款专为建筑行业设计的数据建模工具,通过 Python 代码定义实体、关系和约束,自动生成数据库结构。

主要功能模块:

1. 实体定义 (Entity):使用 ConstructionEntities 预置标准建筑实体(项目、进度活动、成本项),或自定义创建包含字段、类型、约束的完整实体

2. 关系管理 (Relationship):支持 1:1、1:N、N:M 三种关系类型,自动处理外键映射

3. 多格式输出

  • generate_sql_schema():生成 PostgreSQL/MySQL/通用 SQL DDL
  • generate_json_schema():输出 JSON Schema 用于 API 校验
  • generate_er_diagram():生成 Mermaid ER 图便于文档展示

4. 模型校验 (validate_model()):检测缺失实体、无主键等设计缺陷

典型工作流程:
创建模型实例 → 添加标准/自定义实体 → 建立关系 → 选择输出格式 → 校验完整性

显著优点

  • 行业针对性:预置施工管理专用实体(WBS 编码、进度百分比、预算成本等字段),开箱即用
  • 代码即文档:Python 类型注解 + dataclass 设计,IDE 友好,便于团队协作维护
  • 多数据库兼容:通过 dialect 参数支持 PostgreSQL/MySQL,JSON/JSONB 类型自动适配
  • 可视化支持:一键生成 Mermaid ER 图,可直接嵌入 Markdown/Confluence 文档
  • 零运行时依赖:纯标准库实现,无需安装 SQLAlchemy 等重型 ORM

潜在缺点与局限性

  • 无持久化层:仅生成 Schema 定义,不提供实际数据库连接、迁移管理(如 Alembic)或 ORM 操作
  • 关系复杂度有限:不支持复合主键、继承、多态关联等高级建模特性
  • SQL 方言覆盖不全:目前仅内置 PostgreSQL/MySQL 类型映射,SQL Server/Oracle 需手动扩展
  • 无版本控制:模型变更需人工管理,无内置 diff 或迁移脚本生成
  • Mermaid 输出简化:ER 图仅展示前5个字段,复杂实体信息展示不完整

适合人群

  • 施工企业数字化团队:需快速标准化多项目数据结构,解决 Excel/孤立系统数据不一致问题
  • BIM 数据工程师:将 IFC/COBie 数据映射到关系数据库前的模型设计阶段
  • 工程项目管理顾问:为客户设计 PMIS(项目管理信息系统)数据架构时产出技术交付物
  • 低代码平台开发者:生成 JSON Schema 用于表单引擎的动态渲染校验

常规风险

  • 设计锁定风险:生成 SQL 执行后将固化物理表结构,前期字段类型选择失误可能导致后期迁移成本
  • 关系完整性依赖:外键约束在代码层面定义,实际数据库执行时若跳过 generate_sql_schema 直接建表,可能产生 orphan record
  • 并发场景未覆盖:无事务、锁机制设计,仅适用于 Schema 设计阶段,不直接支持运行时高并发写入
  • 数据安全边界:工具本身无用户权限模型,敏感字段(如成本数据)的访问控制需在上层应用实现

Data Model Designer 内容

手动下载zip · 4.4 kB
claw.jsonapplication/json
请选择文件