news 2026/8/30 8:20:10

DBeaver 数据模型设计完整指南:一张 ER 图三步走到建表脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DBeaver 数据模型设计完整指南:一张 ER 图三步走到建表脚本

DBeaver 数据模型设计完整指南:一张 ER 图三步走到建表脚本

【免费下载链接】dbeaverFree universal database tool and SQL client项目地址: https://gitcode.com/GitHub_Trending/db/dbeaver

ERD(Entity-Relationship Diagram,实体关系图)是数据库建模的通用语言:表是实体,字段是属性,主外键决定实体之间连什么线。DBeaver 内置的 ERD 编辑器就是一套能"画图"也能"落地"的数据库建模工具:你在画布上搭出实体、属性和关系,画完可以直接生成 DDL(数据定义语言)脚本、把变更同步进数据库,或者导出成图片和源文件。读完本文,你能独立完成一次 DBeaver 数据模型设计:为一个类似"客户—订单—订单项"的业务画 ER 图,调整布局样式,并产出可执行的建表脚本。

怎么打开 ERD 编辑器

画布有三种进入方式,按需选用:

  • 右键菜单:在导航树中右键点击一张表或一个模式(schema),选择"查看图表",选中对象会直接铺到画布上
  • 新建向导:File → New → ER Diagram,得到一张空白画布,从零开始搭概念模型
  • 快捷键:选中表或容器后按Ctrl+Shift+Enter,这是使用频率最高的一条路径

嵌入式查看和独立画布有什么区别

"查看图表"打开的是嵌入式编辑器,以标签页形式嵌在数据浏览里,适合只读查看现有表结构。而"新建"出来的是一张独立的.erd画布,可编辑、可保存、可重新打开,适合从概念模型一路改到物理落地。两种形态的入口和编辑器类分别注册在 ERD UI 模块 的插件定义里。

实体、属性和外键关系怎么画

概念模型的核心动作就三个:建实体、补属性、连关系。

建实体:点工具栏的"实体"按钮后在画布上点击,即生成一个新实体框;也可以直接把导航树里的表拖进画布。双击实体名改成业务名称,比如customerorderorder_item

补属性:右键实体选择"添加属性",逐项填写名称、类型,勾选主键或非空。主键属性在图上会有明显标记。属性对应数据库表的列,这一步相当于在纸上写列定义。

连关系:切换"关系"工具,从父实体的主键按住拖到子实体的外键属性上松开,一条关系线就建立了。关系的多端少端(一对一、一对多)由两端的主外键约束推断,不需要手工指定基数。

如果团队对图形的画法有约定,可在设置里切换两种标注风格:IDEF1X 和 Crow's Foot(鸦爪),二者只是表达方式不同,模型本身不变,切换逻辑实现在 ERD 插件声明 中。图形的数据模型(实体、属性、逻辑关系)由独立的 ERD 模型核心 负责,UI 只负责绘制和交互,这层分离意味着图可以序列化成文件。

布局乱了怎么救:自动排列与样式

画到十几张表以后,线条交叉、实体重叠是常态,DBeaver 提供了几件收拾工具:

  • 全部排列:点工具栏的"排列所有",所有实体按有向图布局算法重新排布,关系线走最短路径,一张乱图几秒变整齐
  • 排列选中:只框选局部若干实体再排列,不动其他区域
  • 网格:打开网格图层作为对齐辅助,手动微调实体位置时吸附到格点
  • 抓手工具:按Tab切换到抓手模式平移大画布,避免滚动条来回拖动

样式方面,首选项中的 ERD 主题分类里可以改实体表头底色、属性区文字与背景色、关系线颜色、注释框配色和整体字号,浅色深色主题各有一套变量。改完即时生效,适合给不同模块的实体分区着色,方便评审时快速定位。

一键生成 DDL:从画布到建表脚本

画布上的模型是逻辑视图,要落到物理库有两条路。

路径一:生成脚本。右键画布或实体,选择生成 DDL,在弹出的 SQL 编辑器中拿到完整脚本,包含建表、主键、外键语句。例如三实体订单模型生成的大致结果:

CREATE TABLE "order" ( id BIGINT NOT NULL, customer_id BIGINT NOT NULL, create_time TIMESTAMP, CONSTRAINT pk_order PRIMARY KEY (id) );

脚本可以先在 SQL 编辑器里审查、修改,再决定执行与否,适合要留档或跨库迁移的场景。

路径二:直接同步。如果画布挂在某个已连接的数据库上,确认模型与库内现状的差异后应用变更,DBeaver 会按差异执行必要的 CREATE / ALTER 语句,省去手写增量脚本。首次同步建议先在测试库跑一遍,确认外键约束顺序(先建被引用表)没有遗漏。

注释和导出:把设计成果保存下来

模型画完,成果有三种保存形态:

  • 注释:用注释工具在画布角落放便签,记录设计决策、待定问题(比如"订单号要不要加分布式前缀")。注释是画布元素的一部分,随图保存,评审时不用另外维护文档
  • 图片:导出 PNG、GIF、BMP,适合贴进设计评审文档或聊天窗口
  • 源文件:保存为.erd文件后可随时重开继续编辑;另支持 GraphML 格式,方便接入其他图分析工具

导出格式的注册清单同样在 ERD 插件声明 中,扩展机制允许插件追加新的导出格式。

落地实践建议

第一次用 DBeaver 做数据模型设计,按这几个具体动作来:

  1. 先只画最核心的三张表(如客户、订单、订单项),主外键关系连通后再往两侧扩,不要一次拖入全部表
  2. 连线完成后跑一次"全部排列",再开网格手动微调关键区域,最后导出 PNG 自查一遍可读性
  3. 画布保存为.erd文件放进项目目录,随代码一起做版本控制,设计变更可追溯
  4. 生成 DDL 后先在 SQL 编辑器通读脚本,确认主键、非空、外键与预期一致,再执行到数据库
  5. 面对已有库时,先用"查看图表"做逆向查看,看清现状再决定补哪些逻辑关系

想继续深入 ERD 的扩展点(标注风格、连线路由、导出格式),可参考 官方开发文档 和各插件源码。

【免费下载链接】dbeaverFree universal database tool and SQL client项目地址: https://gitcode.com/GitHub_Trending/db/dbeaver

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 8:18:50

海湾消防图形显示系统4.0:人机交互代际升级与实战集成指南

简介:海湾消防主机图形显示器4.0是一款面向消防工程技术人员、系统集成商及维保人员的专业级编程与监控软件,专用于海湾系列火灾报警控制器的图形化配置、实时状态监测与联动逻辑设定,解决传统文本编程效率低、故障定位难、系统可视化弱等实际…

作者头像 李华
网站建设 2026/8/30 8:14:28

Python实现末日逃生列车:从文案到命令行文字冒险游戏

当你在标题里看到“末日逃生列车”“选择你的专属无限续美食车厢”时,第一反应可能是一个互动文案,或者一个游戏策划选题。但如果换个角度,把这句话交给程序员,问题立刻就变了:我要用什么样的数据结构和逻辑&#xff0…

作者头像 李华
网站建设 2026/8/30 8:10:45

HAMP-LIC:基于Hessian感知混合精度量化的学习型图像压缩部署优化

学习型图像压缩(Learned Image Compression, LIC)这几年在率失真性能上已经追得很近了,但真正把它推到生产环境时,最常见的问题不是压缩效果不够好,而是模型太重、推理太贵。这次我们来看一个针对这个问题的算法工作&a…

作者头像 李华
网站建设 2026/8/30 8:10:40

基于单通道脑电信号的自动睡眠分期:从特征工程到机器学习实践

简介:本资源是一套面向计算机及相关专业本科生的高分毕业设计项目,聚焦单通道脑电信号的自动睡眠分期任务,为正在开展毕设、课程设计或期末大作业的学生提供可直接运行的完整解决方案。资源包含22个文件,涵盖12个核心Python脚本&a…

作者头像 李华
网站建设 2026/8/30 8:06:18

全方位Java面试准备指南:从基础原理到实战表达

如何准备一场全面的面试——Java 做Java这行久了,你会发现一个挺扎心的现实:技术能力≠面试通过率。我见过能把Spring源码讲得头头是道的人,栽在一道简单的HashMap原理上;也见过项目经验平平的候选人,靠一套系统性的表…

作者头像 李华