实体与字段设计
一、实体(Entity)的概念
在低代码平台中,实体是数据模型的核心载体,它对应现实世界中的业务对象或概念。可以将其理解为传统数据库中的“表”,但低代码平台赋予了它更丰富的语义和可视化能力。
实体的核心特征包括:
- 业务映射:每个实体代表一个具体的业务对象,如“客户”、“订单”、“产品”。
- 数据容器:实体是字段的集合,用于存储结构化数据。
- 关系锚点:实体之间通过关系字段(如关联、聚合)形成数据网络。
- 权限边界:低代码平台通常以实体为单位进行数据权限控制。
示例:一个“客户”实体可能包含以下字段:客户名称、联系电话、邮箱、所属行业、创建时间等。
二、字段(Field)类型详解
字段是实体的最小数据单元。低代码平台通常提供丰富的字段类型,以满足不同业务场景。以下是核心字段类型分类及详解:
| 分类 | 字段类型 | 说明 | 典型用途 |
|---|---|---|---|
| 基础类型 | 单行文本 | 存储短文本,如姓名、标题。通常有长度限制(如255字符)。 | 客户名称、订单编号 |
| 多行文本 | 存储长文本,支持换行。可配置为富文本(支持HTML)。 | 备注、产品描述 | |
| 数字 | 存储整数或小数。可设置精度、取值范围、单位。 | 价格、数量、年龄 | |
| 布尔值 | 存储真/假值。在UI中通常显示为开关或复选框。 | 是否启用、是否VIP | |
| 时间类型 | 日期 | 仅存储日期(年-月-日)。 | 出生日期、合同签署日 |
| 时间 | 仅存储时间(时:分:秒)。 | 营业开始时间 | |
| 日期时间 | 存储日期和时间组合。 | 创建时间、最后修改时间 | |
| 时间戳 | 自动记录数据创建或更新的精确时间,通常不可手动编辑。 | 系统审计字段 | |
| 选择类型 | 单选 | 从预定义选项中选择一个值。选项可动态加载或静态定义。 | 性别、订单状态 |
| 多选 | 从预定义选项中选择多个值。存储为数组或逗号分隔字符串。 | 兴趣爱好、标签 | |
| 下拉关联 | 从其他实体的数据中选择一个记录。本质是关系字段的简化形式。 | 选择负责人(关联用户实体) | |
| 文件类型 | 附件 | 上传并存储文件(图片、文档等)。支持大小、格式限制。 | 合同扫描件、产品图片 |
| 图片 | 专门用于图片上传,支持缩略图生成、裁剪。 | 头像、商品主图 | |
| 关系类型 | 关联记录 | 建立实体间的一对一、一对多、多对多关系。 | 订单关联客户(多对一) |
| 主子明细 | 一种特殊的一对多关系,子表数据随主表一起增删改。 | 订单与订单明细 | |
| 计算类型 | 公式字段 | 基于其他字段的值通过公式自动计算得出,只读。 | 总价 = 单价 × 数量 |
| 系统类型 | 主键ID | 系统自动生成的唯一标识符,通常为GUID或自增整数。 | 每条记录的唯一标识 |
三、字段属性配置
每个字段类型都有一组可配置的属性,这些属性决定了字段的行为、校验规则和UI表现。以下是通用及类型特定的关键属性:
3.1 通用属性
- 字段名称:在代码和API中使用的唯一标识符(如
customerName)。 - 显示名称:在用户界面中显示的标签(如“客户名称”)。
- 描述/帮助文本:向用户解释字段用途的提示信息。
- 必填:是否强制用户输入值。
- 只读:字段值是否允许被修改。
- 默认值:新建记录时自动填充的值。
- 唯一性:确保该字段值在实体中不重复。
- 索引:是否为该字段创建数据库索引以提升查询性能。
- 布局位置:在表单或列表中的显示顺序和分组。
3.2 类型特定属性
文本类字段:
- 最大长度:限制字符数。
- 正则校验:如邮箱格式、手机号格式。
- 大小写:是否自动转换(大写/小写/首字母大写)。
数字类字段:
- 精度:小数位数(如2位小数)。
- 取值范围:最小值/最大值。
- 单位:显示在数值后的单位文本(如“元”、“个”)。
- 千分位分隔符:是否显示逗号。
选择类字段:
- 选项列表:静态定义或从其他实体动态加载。
- 多选模式:是否允许选择多个值。
- 颜色/图标:为选项配置视觉标识(如状态标签的颜色)。
日期时间类字段:
- 显示格式:如
YYYY-MM-DD或DD/MM/YYYY。 - 时区:是否跟随用户时区。
- 自动填充:如“创建时自动填入当前时间”。
关系类字段:
- 关联实体:指定目标实体。
- 关系类型:一对一、一对多、多对多。
- 级联操作:删除主记录时是否同时删除关联记录(级联删除)。
- 显示字段:在关联下拉中显示目标实体的哪个字段(如显示“客户名称”而非ID)。
文件类字段:
- 允许的文件类型:如
.jpg, .pdf, .docx。 - 最大文件大小:以MB为单位。
- 上传数量限制:单个字段允许上传的文件个数。
3.3 高级配置示例
以下是一个“订单”实体中“订单金额”字段的典型配置:
字段名称: orderAmount
显示名称: 订单金额
类型: 数字
属性:
精度: 2
最小值: 0
最大值: 9999999.99
单位: 元
必填: true
只读: false
默认值: 0.00
索引: true
校验规则: 必须大于0
通过合理配置字段属性,低代码平台可以在不编写代码的情况下,实现复杂的数据校验、自动计算和用户交互逻辑,这是低代码开发效率的核心体现。