管理功能模型属性
操作场景
本文指导您在应用设计态管理功能模型属性。
前提条件
已登录应用设计态。
新增属性
- 在左侧导航栏中,选择功能模型页面。 ,进入
- 单击需要设置功能模型属性的功能模型编码,进入该功能模型详情页面。
- 选择“属性”页签,进入属性页面。
- 单击“编辑”,进入编辑状态。
- 单击“新增”。
- 在弹出的窗口中,填写如下信息,单击“保存”。
也可单击“保存继续创建”,添加多个属性。
图1 新增属性- 基本信息:设置属性的各项基础信息,完成属性的初步定义。
表1 功能模型属性-参数说明 参数
参数说明
英文名称
属性的英文名称。
需以字母开头,只能包含字母、数字和“_”,长度不能超过58个字符。
不能以数据库的关键词作为属性的英文名称,例如where、select等。
xDM-F会自动以类小驼峰方式转换属性的英文名称,以作为key值存储至系统中。后续您在调用API时,请避免使用实际定义的属性英文名称作为参数名。例如,您定义的属性英文名称为“Part_model_number”,调用API时需使用“part_Model_Number”作为参数名。
中文名称
属性的中文名称。
只能包含中文、英文字母、数字、“_”和“-”,长度不能超过58个字符。
英文描述
属性的英文描述。
长度不能超过1024个字符。推荐使用英文字符填写,同时支持中文及其他字符输入。
中文描述
属性的中文描述。
长度不能超过1024个字符。支持中文、英文及其他字符输入,建议优先使用中文填写以适配中文阅读场景。
类型
xDM-F提供如下属性类型,请根据实际需求进行选择。
- 文本:用于存储较短的字符串数据,例如产品名称、标题、简短描述等,文本长度不能超过4000个字符。
- 长文本:用于存储较长的字符串数据,例如完整的文章内容、产品详情、日志记录、报告文档等。文本长度最大支持524288个字符。
- 整型:用于存储整数数据,例如年龄、数量、状态码、序号等。
- 长整型:用于存储范围较大的整数数据,例如订单编号、时间戳、大数据量统计等。
- 浮点型:用于存储带有小数的数值,例如价格、评分、比例、不需要高精度的测量值等。
- 浮点型(自定义精度):允许用户根据需求自定义浮点数的精度,适用于对数值精度有较高要求的应用场景。
- 参考对象:用于关联其他数据模型,实现数据的关联查询、整合以及业务逻辑的联动处理。允许为相同类型的对象建立1:N或主外键关系,例如汽车和轮胎。
- 布尔值:用于表示逻辑上的真或假,例如开关状态、是否同意等。
- 日期:用于记录时间信息,显示格式为年/月/日/时/分/秒,例如文章发布时间、订单创建时间等。
- 枚举:用于存储具有固定取值范围的数据,例如性别(男/女)、订单状态(待支付/已支付/已发货)等。
- 人员:用于标识企业或部门内的人员名称,例如负责人、创建人、团队成员等。
- URL:用于存储网址链接,长度不能超过4000个字符,且需要符合标准的URL格式。例如图片链接、API端点、外部资源链接等。
- JSON:用于存储结构化的JSON数据,例如配置信息、部件规格参数等。
不同的属性类型在各个数据库中的字段类型略有差异,具体的对应关系请参见属性类型与数据库字段类型对照。
属性分类
用户自定义,可根据各维度自定义分类,便于管理属性。
EOS日期
EOS(End of Service,停止服务)日期主要用于标识属性的生效/失效时间。您可以通过EOS日期预设置某个属性字段的截止日期,以便于后续在业务开发时通过该参数控制相应的业务逻辑。
- 约束信息:在“基本信息”中选定属性具体类型后,还需要为其配置相应的约束信息,以确保后续在应用运行态用户录入的实例数据满足完整性与准确性要求,从而有效防止无效数据的输入。
表2 功能模型属性-参数说明 参数
参数说明
文本长度
当您将属性的“类型”选择为“文本”或“长文本”后,您需要进一步设置最大长度限制。
- “文本”类型:最大支持4000个字符。
- “长文本”类型:最大支持524288个字符。为确保部署在数据建模引擎运行服务上的应用能够以最佳性能运行,建议您根据实际业务需求,合理规划“长文本”类型属性的长度设置。
有效范围
当您将属性的“类型”选择为“整型”、“长整型”、“浮点型”或“浮点型(自定义精度)”后,您可以根据实际业务需求设置有效范围。
- 左开右开():表示不包括区间边界的两个值。例如(a,b),即a<x<b,取值不包括a和b。
- 左闭右闭[]:表示包括区间边界的两个值。例如[a,b],即a≤x≤b,取值包括a和b。
- 左开右闭(]:表示不包括开区间一边的边界值,包括闭区间一边的边界值。例如(a,b],即a<x≤b,取值不包括a,包括b。
- 左闭右开[):表示不包括开区间一边的边界值,包括闭区间一边的边界值。例如[a,b),即a≤x<b,取值包括a,不包括b。
指定合法值类型
当您将属性的“类型”选择为“文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”或“人员”后,您可以根据实际业务需求,为其指定合法值类型。
在指定合法值类型时,仅允许输入对应合法值类型的英文名称。同时,为确保合法值类型限制的有效性,请确认当前指定的合法值类型在对应应用运行态的“数据模型管理 > 合法值”中有匹配项。如果不存在匹配格式,此合法值类型限制将无法生效。
指定枚举类型
当您将属性的“类型”选择为“枚举”后,您需要进一步指定具体的枚举类型。
如果当前没有可选择的枚举类型,您可以单击
添加新的枚举类型。具体操作请参见创建枚举。
如果您了解某个枚举类型的详细信息,只需单击该枚举类型右侧的
,即可获取该枚举类型的描述、枚举值等详细说明。
单位类型
当您将属性的“类型”选择为“整型”、“长整型”、“浮点型”或“浮点型(自定义精度)”后,您可以根据实际业务需求进行设置。
如果您设置了单位类型,完成属性创建后,功能模型会自动创建一个英文名称格式为属性英文名称_unit的“参考对象”类型属性,不可编辑。在应用运行态创建数据实例过程中,这一“参考对象”类型属性用于表示对应数值型属性的计量单位。
仅支持选择xDM-F内置的国标单位,如果内置的国标单位满足不了您实际业务需求,后续您可以在应用运行态中自定义单位类型。具体操作请参见创建单位类型。
设计默认单位
当您选择指定的“单位类型”后,必须指定一个设计默认单位,以便为当前属性预设一个通用的度量标准。
如果用户在应用运行态中设置了“运行默认单位”,创建数据实例时,优先采用该单位来表示该属性的量级。如果用户在应用运行态中未设置“运行默认单位”,则默认采用“设计默认单位”。
标度
当您将属性的“类型”选择为“浮点型”或“浮点型(自定义精度)”后,您需要指定一个标度,用于定义数值的存储精度、取值范围及舍入规则,以保证数据在应用运行态中的标准化存储和展示。
您可以根据实际业务需求,选择1-30之间的小数位数作为标度。如果输入的实例值小数位数超过设定的标度值,xDM-F会自动按照四舍五入的原则进行处理。
例如,您将标度设置为2,而输入的实例值为3.145,那么系统将存储与显示该实例值为3.15。
默认值
当您将属性的“类型”选择为“文本”、“长文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“布尔值”、“日期”、“枚举”、“人员”或“URL”后,您可以根据实际业务需求为属性设置初始值。当用户在应用运行态创建数据实例时,如果未指定该属性的值,将自动填充此默认值。
- 如果“唯一键”选择为“是”,默认值为空且不能编辑。
- 如果“指定合法值类型”设置了合法值类型,默认值只能设置为该配置项对应合法值类型中的合法值。
参考对象
当您将属性的“类型”选择为“参考对象”后,您需要进一步指定其关联的目标数据模型。支持关联的目标数据模型如下:
- 当前应用下“状态”为“正在工作”和“已发布”的用户自定义数据模型。
- 默认应用(XDM)下的所有内置模型。
当用户指定非默认应用(XDM)作为参考对象时,系统会自动以当前属性作为外键,生成一条虚拟的N:1的关系。该关系可用于数据关联查询,但不会实际修改目标应用的数据结构。
组合关系
当您将属性的“类型”选择为“参考对象”后,组合关系只能设置为“否”,且不能编辑。
表示普通关联或聚合关系,适用于松散耦合的场景。例如,用户与所属部门的聚合关系。
密级
用于标识数据的安全等级,对数据进行分类管理,进而实施有针对性的安全防护措施。用户依据数据特性和业务需求,为数据设置合理密级,降低数据安全风险。
- 内部公开:指可在公司内部公开发布的信息,不属于保密信息。
- 秘密:是公司比较重要或敏感的信息,其泄露会使公司利益受到一定损害,但影响范围有限;适合在体系、部门或特定组织范围公开的信息。
- 机密:对公司运营管理非常重要或内容非常敏感,其泄露会使公司利益遭受巨大损害,且影响范围广泛;只适合在极少数人员或指定岗位范围公开的信息。例如,重要产品的路标规划、营销策略、经营分析报告、销售项目一览表、商务授权及价格信息。
- 绝密:对公司市场竞争、领先对手起决定性作用,其泄露会使公司利益遭受巨大损害,且影响范围广泛;只适合在极少数人员或指定岗位范围公开的信息。例如,核心算法、定价策略、战略意图。
唯一键
用于标识属性值是否需要在数据实体中保持唯一性,确保数据记录的特定字段不出现重复值。默认为“否”。
- 当“值加密”设置为“是”时,唯一键只能设置为“否”,且不能编辑。
- “长文本”类型属性不支持唯一键配置,“参考对象”、“URL”及“JSON”类型属性只能设置为“否”,且不能编辑。
唯一键区间
当您将“唯一键”设置为“是”后,您需要定义其唯一键区间。目前支持全局唯一和租户内唯一两种模式,默认为“全局唯一”。
- 全局唯一:表示在整个应用内,该唯一键的值不能重复。无论处于哪个逻辑租户下,所有数据记录都要遵循此唯一性规则。
- 租户内唯一:表示仅在单个逻辑租户下,唯一键的值不能重复。不同逻辑租户之间的数据记录不受此唯一键约束的影响。
当您修改唯一键及其区间后,如果应用运行态的历史数据与新约束条件产生冲突,需要手动处理这些冲突数据,以保障数据准确及应用正常运行。因此,在数据模型发布并部署到数据建模引擎运行服务后,请谨慎变更唯一键及其区间的设置,以免影响数据的准确性和应用的正常运行。
必填
用于标识当前属性在应用运行态创建或修改数据实例时,是否必须提供有效值。
“参考对象”类型属性默认设置为“是”,其他类型属性默认设置为“否”。
列表属性
用于标识当前属性是否支持作为查询条件和返回值的字段。启用后,该属性可被全量数据服务API直接用于筛选数据或返回结果集。
- “JSON”类型属性只能设置为“否”,且不能编辑。
- 当“值加密”设置为“是”时,列表属性只能设置为“否”。
多值
当您将属性的“类型”选择为“枚举”或“人员”后,您需要设置该属性是否允许关联多个值。例如,一辆汽车可以具有多种颜色(红色、蓝色、绿色),或者使用不同类型的燃料(汽油、柴油)等。
值可变
当您将属性的“类型”选择为“文本”、“长文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“参考对象”、“布尔值”、“日期”、“枚举”、“人员”、“JSON”或“URL”后,您需要设置该属性在创建数据实例后,其值是否可以被修改。
- 是:允许在创建数据实例后修改属性值,默认为“是”。适用于需要灵活调整属性值的场景,例如项目状态(进行中、已完成等)可能随时间变化而改变,或者团队成员的分配可能会根据项目进展进行调整。
- 否:在创建数据实例后,不允许修改该属性值。适用于初始化后不再变化的属性值,例如项目的唯一标识符、员工的工号或网站的固定链接地址等。
值存储方式
当您将属性的“类型”选择为“文本”或“长文本”后,您需要设置其值的存储方式,以确保数据的完整性和一致性。系统提供了三种存储方式供您选择,默认的值存储方式为“原值”。
- 原值:属性值会按照用户实际输入的字符串进行存储,不做任何大小写转换。该存储方式适用于对原始输入内容的精确性有高要求的场景,例如合同中的条款编号、特定术语、代码中的变量名等。
- 大写:系统会将属性值中的小写字符串自动转换为大写字符串后再进行存储。该存储方式适用于需要统一以大写形式展示或处理数据的场景,例如标准化编码(如产品型号、零件编号)、机器生成的识别码(如条形码、二维码对应的字符信息)等。
- 小写:系统会将属性值中的大写字符串自动转换为小写字符串后再进行存储。该存储方式适用于所有数据都需以小写形式存在的场景,例如URL路径、标签和关键词等。
值加密
当您将属性的“类型”选择为“文本”后,您需要设置是否对属性值进行加密,以确保数据的安全性。
- 是:应用发布后,该属性值将以密文方式存储在数据库中,存储类型为longtext。设置值加密后,用户通过API(如get,batchGet,find,query等)获取属性时,可通过“decrypt”参数进行解密。
- 否:不进行加密处理,默认为“否”。
此外,系统对该配置项设有以下默认配置及限制:
- 当“唯一键”设置为“是”时,值加密只能设置为“否”。
- 当“密级”设置为“内部公开”时,不允许对值进行加密操作。
- 如果当前属性已与业务编码生成器规则绑定,或者该属性为树形结构指定的全路径字段,则值加密只能设置为“否”。
索引
当您将属性的“类型”选择为“文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“日期”或“人员”后,可以根据实际业务需求进行设置。具体规则如下:
- 如果“类型”选择为“人员”,索引默认设置为“是”。当“类型”为上述列举的其他类型时,索引默认设置为“否”。
- 当“类型”选择为“文本”,且应用的数据库类型为mysql,同时“文本长度”设置大于768个字符时,此索引配置无效,您无需进行该项配置。
入库
用于控制当前属性是否作为数据库表字段持久化存储。
- 是:当用户在应用设计态完成数据模型设计并发布,进而将应用发布和部署至应用运行态后,该属性将作为一个数据库表字段进行存储。
- 否:该属性不会在数据库中生成字段,仅作为临时计算字段使用,例如订单折扣计算中间值属性、支付验证码。
此外,xDM-F依据属性类型,对此配置项做出如下默认配置及限制:
- “参考对象”和“人员”类型属性只能设置为“是”,且不能编辑。
- 其他类型属性默认设置为“是”,可根据实际业务需求进行选择。
入图
当您将“基本信息”页签中的“同步至LinkX-F”设置为“是”后,您需要设置该属性是否映射至LinkX-F图数据库中的图数据属性,以实现多类型数据源到图数据库的转换。
- 是:当前属性将同步至LinkX-F中,并作为图数据属性进行存储。
- 否:当前属性不会同步至LinkX-F中。默认设置为“否”。
入图标识
当您将“入图”设置为“是”后,还需要指定一个入图标识。该标识将在LinkX-F图数据库中用作存储名称(别名)或标识,以便更清晰、准确地识别和引用相关元数据。
必须以字母(A-Z, a-z)开头,且只能包含字母、数字和下划线(_)。
引用类型
当您将属性的“类型”选择为“参考对象”后,您可以通过此配置项定义实体间的数据依赖关系,控制关联对象的删除行为对当前对象的影响。
- 基本信息:设置属性的各项基础信息,完成属性的初步定义。
删除属性
- 在左侧导航栏中,选择功能模型页面。 ,进入
- 单击需要设置功能模型属性的功能模型编码,进入该功能模型详情页面。
- 选择“属性”页签,进入属性页面。
- 单击“编辑”,进入编辑状态。
- 勾选需要删除的属性,单击“删除”。
如果删除的属性已部署至运行态,在完成“发布数据模型 > 发布应用 > 部署应用”操作后,该属性在运行态的数据将同步删除且不可恢复,请谨慎操作!
图2 删除属性 - 在弹出的提示框中,单击“确定”。
如删除的属性已部署至运行态,需在弹出的提示框中先输入指令,再单击“确定”。
编辑属性
- 在左侧导航栏中,选择功能模型页面。 ,进入
- 单击需要设置功能模型属性的功能模型编码,进入该功能模型详情页面。
- 选择“属性”页签,进入属性页面。
- 单击“编辑”,进入编辑状态。
- 找到需要修改的属性,单击
。
图3 编辑属性 - 在弹出的窗口中,修改属性的基本信息或约束信息,单击“保存”。
如果您修改的属性为已发布的功能模型属性,修改属性的基本信息或约束信息时,存在如下修改限制:
表3 属性修改限制 操作栏目
限制说明
基本信息
仅支持将“整型”或“长整型”类型的属性修改为“文本”类型,其他类型的属性(如浮点型、日期、布尔值等类型)均不支持此修改。
约束信息
如下配置项均不支持修改:
- 指定枚举类型
- 指定合法值类型
- 单位类型
- 设计默认单位
- 值存储方式
- 密级
- 多值
- 入库
- 参考对象
- 组合关系
- 唯一键区间
文本和长文本类型的属性不支持减少“文本长度”。
如果文本、整型、长整型、浮点型和浮点型(自定义精度)类型的属性包含如下约束配置项定义,则不支持修改。
- “唯一键”为“否”。
- “必填”为“否”。
- “有效范围”为空。
整型、长整型、浮点型和浮点型(自定义精度)类型的属性只支持扩大“有效范围”。
浮点型和浮点型(自定义精度)类型的属性只支持扩大“标度”。
仅文本、长文本、整型、长整型、浮点型和浮点型(自定义精度)类型的属性支持修改“值可变”、“索引”、“默认值”、“列表属性”、“入图”和“入图标识”。