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