9-Decisions Datastructures数据结构:数据结构与数据库的关联及操作
Decisions Datastructures数据结构:数据结构与数据库的关联及操作
前言
在上一篇内容中,我们掌握了Decisions自定义数据结构的创建、成员操作和基础交互,而这些数据结构最终都需要落地到数据库进行持久化存储。Decisions V9对数据库做了高度封装,无需手动编写建表语句,创建的简单数据结构会自动映射为数据库表,还能生成配套的数据库操作步骤,极大降低了数据库交互的开发成本。本文将从数据库基础讲起,解析Decisions数据结构与数据库的底层映射关系,再详细讲解Create、Update、Delete三大核心数据库操作的实操步骤,让大家理解数据结构如何落地存储,并掌握基础的数据库记录操作。
一、数据库基础前置知识
Decisions作为低代码平台,兼容主流的关系型数据库,在进行数据结构与数据库的交互前,先了解核心的数据库基础概念,能更好地理解底层逻辑。
1. Decisions兼容的常见数据库类型
Decisions支持主流的关系型数据库,日常开发中最常用的包括:
- MSSQL、MySQL
- Azure SQL、PostgreSQL
其他关系型数据库也可通过数据库集成实现对接,满足不同项目的数据库环境需求。
2. 数据库核心特性
- 存储形式:以表格(Table) 为基本单位存储数据,类似Excel的行、列结构,行对应单条数据记录,列对应数据字段;
- 交互语言:通过SQL(结构化查询语言) 实现数据的查询、新增、修改、删除,核心查询语句结构为:
SELECT [列名] FROM [表名] WHERE [筛选条件]- SELECT:指定要查询的字段;
- FROM:指定要查询的数据库表;
- WHERE:按条件筛选需要的记录。
3. 关系型数据库核心特点
Decisions对接的均为关系型数据库,其核心特点是通过主键(Primary Key)和外键(Foreign Key)实现多表关联,例如员工表的EmployeeID(主键)可关联部门表的EmployeeID(外键),实现数据的关联查询和联动,这也是后续Decisions中复合数据结构、多结构关联的底层基础。
二、Decisions数据结构与数据库的关系
Decisions对数据库做了无代码封装,无需开发人员掌握复杂的SQL语法,就能实现数据的持久化存储,映射关系主要体现在两个方面:
1. 简单数据结构 ↔ 数据库表
在Decisions中创建的Simple Data Structure(简单数据结构,即用户自定义数据结构),会在后端数据库中自动生成对应的数据库表:
- 数据结构名称对应数据库表名(Decisions会做轻微的命名适配,不影响使用);
- 数据结构的Data Members(数据成员) 对应数据库表的列(Field);
- 数据成员的类型(String/Integer/Boolean等)对应数据库表列的数据类型;
- 每条数据结构的实例,对应数据库表中的一行记录(Row)。
简单来说,在Decisions中创建一个员工信息数据结构,后端就会自动生成一个员工信息表,后续对数据结构的操作,本质上就是对数据库表的操作。
2. 数据结构创建后自动生成数据库操作步骤
当我们成功创建一个自定义数据结构后,Decisions会自动生成配套的数据库操作步骤,无需手动开发,这些步骤可直接拖拽到流程中使用,实现数据的增删改查。
- 步骤存放位置:
Toolbox → User Defined Types → [你的数据结构名称]; - 核心自动生成步骤:创建(Create)、选择性更新(Selective Update)、删除(Delete)、获取(Fetch)等,覆盖数据库表的基础操作。
三、Decisions数据库操作详解
基于Decisions自动生成的操作步骤,我们可以快速实现数据库记录的Create(新增)、Update(修改)、Delete(删除),这三个操作是业务流程中最常用的数据库交互动作,以下分别讲解具体实操步骤和注意事项。
1. 创建记录:Create Database Record
核心作用:向数据结构对应的数据库表中,新增一条数据记录。
操作步骤
- 打开Decisions流程设计器,从Toolbox中找到
User Defined Types → [目标数据结构名],拖拽Create [数据结构名] 步骤到流程中; - 配置步骤输入项
Item to Create,有两种配置方式,按需选择:- 方式一(快速配置):直接传入一个已有的同类型数据记录(如流程中上游生成的该类型变量);
- 方式二(手动配置):展开
Build Data属性,逐个字段映射数据(如为FirstName映射常量“Zhang”,为HireDate映射流程中的时间变量);
- 运行流程,该步骤会自动将数据写入对应的数据库表,输出项
Entity Id会返回新增记录的唯一ID(后续可用于查询、修改、删除该记录)。
注意事项
- 映射数据时,字段类型需与数据结构定义的类型一致(如Boolean类型不能传入文本),否则会触发流程错误;
- 若数据结构中设置了“不允许空值”的字段,必须为其映射数据,否则无法完成创建。
2. 更新记录:Selective Update of a Database Record
核心作用:修改数据库表中已有的一条数据记录,支持选择性修改部分字段。
操作步骤
- 先获取待更新的记录:从Toolbox拖拽
Fetch Entity步骤到流程中,配置后获取到目标记录(下一篇会详细讲解Fetch Entity,此处只需知道该步骤能获取记录的唯一ID即可); - 拖拽Selective Update [数据结构名] 步骤到流程中,配置两个核心输入项:
ID:传入待更新记录的唯一Entity ID(从Fetch Entity步骤的输出结果中获取),用于定位数据库中的目标记录;Data:传入新的修改数据,同样可通过Build Data逐个字段配置,只需填写需要修改的字段,未配置的字段会保留原有值;
- 运行流程,该步骤会根据ID定位记录,并更新指定字段的数值。
注意事项
- 必须通过Entity ID定位记录,这是Decisions中修改记录的唯一方式,确保修改的准确性;
- 选择性更新的特性可减少数据传输,仅修改业务需要的字段,提升流程执行效率。
3. 删除记录:Delete Database Record
核心作用:从数据库表中删除指定的一条数据记录,操作简单且高效。
操作步骤
- 获取待删除记录的ID:同样先通过
Fetch Entity步骤获取到目标记录的唯一Entity ID(若已知ID,可直接传入常量); - 从Toolbox中拖拽Delete [数据结构名] 步骤到流程中;
- 配置步骤输入项
Id,传入待删除记录的Entity ID; - 运行流程,该步骤会根据ID定位并删除数据库中的对应记录。
注意事项
- 删除操作不可逆,执行前需增加校验步骤(如添加确认节点、判断记录是否存在),避免误删重要数据;
- 若删除的记录被其他表关联(外键关联),需先解除关联,否则会触发数据库外键约束错误,导致删除失败。
四、实操演示:完整实现员工信息的增删改
结合上一篇创建的Employment Information(员工信息)数据结构,实现一次完整的数据库增删改实操,复刻即可上手:
- 新增员工记录:拖拽
Create Employment Information步骤,通过Build Data配置FirstName=Li、LastName=Lei、IsManager=False、HireDate=2025-01-01,运行后获取新增记录的Entity ID; - 修改员工记录:拖拽
Fetch Entity步骤获取上述记录,再拖拽Selective Update Employment Information步骤,传入记录ID,将IsManager修改为True,运行后完成字段更新; - 删除员工记录:拖拽
Delete Employment Information步骤,传入上述记录ID,运行后删除该员工记录。
五、总结
- Decisions兼容MSSQL、MySQL、Azure SQL等主流关系型数据库,以表格形式存储数据,通过SQL实现交互;
- Decisions自定义数据结构会自动映射为后端数据库表,数据成员对应表的列,数据实例对应表的行,无需手动建表;
- 创建数据结构后,Decisions会在
Toolbox → User Defined Types中自动生成增删改查操作步骤,直接拖拽即可使用; - 新增记录可通过
Build Data手动配置字段,或直接传入同类型变量;修改、删除记录必须通过Entity ID定位目标记录,确保操作准确性; - 修改记录为选择性更新,只需配置需要修改的字段,未配置字段保留原值;删除操作不可逆,需增加前置校验。
系列预告
本文为Decisions数据结构的第二篇,讲解了数据结构与数据库的映射关系,以及Create、Update、Delete三大核心操作。下一篇将为大家讲解Decisions中数据查询的核心步骤Fetch Entity,包括步骤配置、多条件筛选、结果限制与排序,这是业务流程中获取数据的重要知识点,也是实现数据驱动流程的关键,敬请关注!
注意:本文仅代表个人学习记录,如需生产环境级方案,请咨询艾体宝团队。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)