一、实体模型概念介绍
实体模型与数据库中的物理表真实对应,能够提供对数据库表的管理功能,包括新增表或字段、修改表或字段、删除字段等,需要注意的是删除实体模型并不会删除数据库表。同时,实体模型也是ER模型建模、表单建模、页面建模的基础模型。
以商品订单数据模型为例,有“订单”、“订单明细”、“商品信息”、“库存信息”、“收货地址”5个实体模型。
实体模型包括基本信息、数据库属性和页面属性三部分。其中,数据库属性是指与数据库表相对应的属性,比如字段类型、长度等,页面属性是指在表单模型、页面模型建模时要用到的属性,比如显示控件类型、格式化方式等。
建议实体模型建模时,就把页面属性部分设计好,再设计表单模型和页面模型的时候,页面属性部分是能够自动复用的。
二、构建实体模型方法
云程平台中构建实体模型有两种方法“正向设计”和“反向设计”。
正向设计:我们先通过管理页面创建实体模型,再通过“创建实体表”功能,创建数据库的物理表,这个过程就是正向设计。
反向设计:我们已经有了数据库物理表,可以通过“从数据库加载”功能,自动构建实体模型,这个过程就是反向设计。
三、正向构建实体模型
正向构建实体模型包括 新增实体模型——>新增数据表字段——>设置页面属性——>创建实体表——>生成ER模型和表单模型 五个步骤。
1、新增实体模型
【表名称】:数据库表的表名,也是实体模型的唯一性约束。
【表描述】:数据库表的描述,也是实体模型的中文名称。
【数据源】:平台支持多数据源,有多数据源管理模块提供配置功能。建立实体模型时可以选择相应的数据源,实现跨数据库管理数据库表。该值默认为本地数据源。
2、新增数据表字段
新增实体模型时,默认会生成6个基本字段,分别是主键、创建人、创建日期、更新人、更新日期、所属部门,这6个字段是固定字段,不能编辑和删除。
【字段名称】:数据库表的字段的名称,要求唯一。建议使用小写英文字符,若由多个单词拼装,建议使用“_”连接。
【字段描述】:数据库表的字段的描述,也是模型字段的中文名称。
【字段类型】:目前支持的字段类型包括字符串、大文本、二进制、数字型、日期。
【字段长度】:当选择字段类型为字符串、数字型时,需要设置字段长度。
【小数点位】:当选择字段长度为数字型时,需要设置小数点位数。
【主键】:不可编辑,默认平台基本字段中的ID作为主键。
【允许空值】:数据库表字段是否允许空值。
【默认值】:数据库表字段默认值。
3、设置页面属性
【显示类型】:目前支持的显示类型包括隐藏、单行文本、多行文本、数字、下拉框、复选框、单选框、开关、日期、时间、评分、滑动条、流水号、图标选择、附件上传、图片上传、用户选择、部门选择、弹框选择。隐藏作为一种特殊的类型,是指不在表单中显示的字段,例如外键字段。
【控件显示配置】:控件显示配置是一个按钮,标有红星的表示已经配置过内容,若所选显示类型没有需要配置的内容,则按钮置灰。打开控件显示配置页面,根据“显示类型”的不同,所需配置的内容也不同。需要说明的是,1)下拉框、复选框、单选框,2)弹框选择,下面分别说明:
下拉框、复选框、单选框,这三类控件即可以设置静态选项,也可以使用数据字典,数据字典是平台提供的一个统一管理各个业务选项的模块,如果同时配置了静态选项和数据字典,则静态选项的配置优先于数据字典的配置。
弹框选择使用的是页面模型中的列表页面,所以需要提前设计好列表页面模型,在页面编码处选择、确定。显示字段是指列表页面中哪个字段用于在表单上显示,且必须设置;存储字段指列表页面中哪个字段实际存储到数据库中,若不设置,则实际存储的字段就是显示字段,若设置存储字段,则存储字段必须是列表页面的唯一索引字段。回填字段是指列表页面中的字段和当前模型中其他字段的对应关系,能够实现在表单页面上,只用一次弹框选择,回写表单上多个字段的值。
控件显示配置页面上,提供“确定并复制到数据转换配置”的功能,控件显示与数据转换有一定的对应关系,该功能就是将这种关系自动化,提供快捷操作,提高配置效率。例如控件显示配置了下拉框控件的静态选项,点击“确定并复制到数据转换配置”将会自动打开数据转换配置页面,自动选中静态选项Code转名称,同时将静态选项内容复制过来,降到重复配置。
【数据转换配置】:数据转换配置是一个按钮,标有红星的表示已经配置过内容。该功能用于列表页面显示时,将数据库中的存储数据转换成显示文本。打开数据转换配置页面,数据转换的方式支持日期时间格式、静态选项Code转名称、数据字典Code转名称、用户ID转名称、部门ID转名称、页面数据转换,根据所选数据转换方式的不同,所需要配置的内容也不同。
【校验规则】:除“必填”外,控件其他的校验规则,可多选,支持的规则包括邮箱地址、手机号码、数字、字母或下划线、首字字母,最长18、网址、汉字、QQ号、以字母开头、整数、日期、时间。
【必填】:控件是否必填。
在实体模型中设置好显示类型、控件显示配置等页面属性,再表单模型建模时,通过直接拖拽实体模型字段的方式,能够将此处设置的属性,直接复制到表单模型中,提高表单建模效率;或者通过表单模板自动进行表单建模时,或者页面模型配置列表显示和查询字段时,也会复用此处的属性,具体操作可以结合表单模型设计和页面模型设计章节了解。
4、创建实体表
实体模型建模后,实体表状态是“未创建”,需要点击“创建实体表”按钮后,才会真正的创建数据库物理表。
实体表状态共分为4个状态,分别是未创建、已创建、未同步、已同步。未创建状态的模型,会有“创建实体表”的操作按钮,未同步状态的模型,会有“同步实体表”的操作按钮。已创建或已同步的模型被修改后,状态都会变成未同步,需要执行“同步实体表”的操作,才会将修改内容同步到数据库表。创建实体表时,若检测到表已经存在,则将状态变为未同步,需手动执行“同步实体表”的操作。同步实体表时,若检测到表不存在,则将状态变为未创建,需手动执行“创建实体表”的操作。
5、生成ER模型和表单模型
在实体模型的列表中,有“生成ER模型和表单模型”的快捷操作按钮,能够帮助我们快速生成当前表对应的单表模式的ER模型,和一个表单模型数据(仅是表单模型的初始化数据,没有表单设计数据)。
在执行“创建实体表”操作后,也会有自动执行“生成ER模型和表单模型”操作的提示。
自动生成ER模型和表单模型的过程中,若遇到同名的ER模型或者表单模型时,会提示覆盖、忽略或者取消。
四、反向构建实体模型
如果数据库中已经存在物理表,想要将表的模型导入实体模型中进行管理,则需要使用“从数据库加载”功能,打开数据库表选择页面,需要输入表名进行模糊查询,该功能同新增实体模型一样支持多数据源的选择,选中要导入的表,点击确定执行导入,该功能支持多选,同时导入多个表的模型。如果所选数据库表在实体模型中已经存在,则导入不会成功。