管理数据实体属性
操作场景
本文指导您在应用设计态为已创建的数据实体管理属性。
前提条件
已登录应用设计态。
新增属性
- 在左侧导航栏中,选择 ,进入数据实体页面。
- 单击需要添加属性的数据实体编码,进入该数据实体详情页面。
- 选择“属性”页签,进入属性页面。
- 在底部的“全局操作”单击“编辑”,进入编辑状态。
图1 编辑数据实体属性
- 在“基本属性”栏中,单击“新增”。
- 在弹出的窗口中,填写如下信息,单击“保存”。
也可单击“保存继续创建”,添加多个属性。
图2 属性基本信息
表1 数据实体属性-参数说明 类型
参数
参数说明
基本信息
英文名称
属性的英文名称。
需以字母开头,只能包含字母、数字和“_”,长度不能超过58个字符。
中文名称
属性的中文名称。
只能包含中文、英文字母、数字、“_”和“-”,长度不能超过58个字符。
英文描述
属性的英文描述。
不能包含中文字符,长度不能超过1024个字符。
中文描述
属性的中文描述。
支持各种字符,长度不能超过1024个字符。
类型
xDM-F提供如下属性类型,请根据实际需求进行选择。
- 文本:可存储较短的字符串数据,文本长度不能超过4000个字符。
- 长文本:可存储较长的字符串数据,例如大型文章。文本长度最大支持524288个字符。如果您需要存储超长的字符串数据,建议使用“文件”类型的属性进行存储。
- 如果应用的数据库类型为mysql,对应数据库的字段类型为LongText。
- 如果应用的数据库类型为postgresql,对应数据库的字段类型为TEXT。
- 整型:对应数据库的字段类型为int。
- 长整型:对应数据库的字段类型为long。
- 浮点型:对应数据库的字段类型为float。
- 浮点型(自定义精度):浮点型数据并且可以自定义精度。
- 参考对象:为对象建立1:N或主外键关系,例如部门和员工。
- 参考对象值可以选择该应用下“正在工作”、“已发布”的数据模型以及默认应用(XDM)下发布的所有数据模型(不包括扩展类型子数据模型)。
- 如果参考非默认应用(XDM)对象,则当前属性作为外键生成一条虚拟的N:1的关系。
- 文件:支持“BLOB”和“对象存储”两种文件存储方式,默认为“对象存储”。
- 布尔值:true/flase。
- 日期:展示为年/月/日/时/分/秒。
- 枚举:为几乎没有变化的对象列举值,例如性别(男/女)。
- 人员:企业/部门人员的名称。
- URL:长度不能超过4000个字符,匹配正确格式。
- JSON:JSON数据类型。
属性分类
用户自定义,可根据各维度自定义分类,便于管理属性。
EOS日期
EOS(End of Service,停止服务)日期主要用于标识属性的生效/失效时间。您可以通过EOS日期预设置某个属性字段的截止日期,以便于后续在业务开发时通过该参数控制相应的业务逻辑。
约束信息
文本长度
“类型”选择为“文本”或“长文本”时,必填项。
其中,“文本”类型属性的最长文本长度为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,若实例值超过标度范围,采用四舍五入方式处理。
默认值
“类型”选择为“文本”、“长文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“布尔值”、“日期”、“枚举”、“人员”、“URL”时,可根据实际业务需求进行设置。
- 若“唯一键”选择为“是”,默认值为空且不能修改。
- 若“指定合法值类型”设置了合法值类型,默认值只能设置为该配置项对应合法值类型中的合法值。
参考对象
“类型”选择为“参考对象”时,必填项,支持选择数据实体、关系实体和接口模型。
根据业务需求,在参考对象下拉列表中选择需要参考的数据模型类型和对应模型的具体模型,使当前数据模型和选择的参考对象形成一种参考关系。
组合关系
“类型”选择为“参考对象”(数据实体)时,必填项。
定义为组合关系的目标数据实体支持级联查询和删除关联对象。
存储方式
“类型”选择为“文件”时,必填项。
支持BLOB和对象存储两种。
- BLOB:数据库存储,最大支持1M。
- 对象存储:使用对象存储服务存储文件,文件≤100M使用普通上传,文件>100M使用分块上传,最大支持10G。
文件格式
“类型”选择为“文件”时,可根据实际业务需求进行设置。
以英文逗号分隔输入文件类型,例如“pdf,docx”。如果没有设置文件格式,则不对上传的文件进行格式限制。
文件最大值
“类型”选择为“文件”,且“存储方式”为“对象存储”时,可根据实际业务需求进行设置。
支持输入大于100MB且小于等于10GB的值。
分块大小
“类型”选择为“文件”,且“存储方式”为“对象存储”时,可根据实际业务需求进行设置。
支持5MB~200MB的分块大小,默认为5MB。
密级
支持内部公开、机密、秘密和绝密四种。
- 内部公开:指可在公司内部公开发布的信息,不属于保密信息。
- 秘密:是公司比较重要或敏感的信息,其泄露会使公司利益受到一定损害,但影响范围有限;适合在体系、部门或特定组织范围公开的信息。
- 机密:对公司运营管理非常重要或内容非常敏感,其泄露会使公司利益遭受巨大损害,且影响范围广泛;只适合在极少数人员或指定岗位范围公开的信息。如:重要产品的路标规划、营销策略、经营分析报告、销售项目一览表、商务授权及价格信息。
- 绝密:对公司市场竞争、领先对手起决定性作用,其泄露会使公司利益遭受巨大损害,且影响范围广泛;只适合在极少数人员或指定岗位范围公开的信息。如:核心算法、定价策略、战略意图。
唯一键
默认为“否”。
- 若数据实体为M-V模型,只支持在master模型中为属性设置此参数项。
- 若“值加密”选择为“是”,唯一键只能选择为“否”。
- URL、JSON、参考对象和文件类型只能选择为“否”。
唯一键区间
“唯一键”为“是”时,必填项。
支持全局唯一和租户内唯一,默认为“全局唯一”。
唯一键及其区间变化时,若历史数据与该约束有冲突,则需手动处理,发布后请谨慎更改。
必填
默认为“否”。
- 文件类型只能选择为“否”。
- 若“组合关系”选择为“是”,必填只能选择为“是”。
列表属性
用于查询接口,作为查询条件和返回值。
- JSON和文件类型只能选择为“否”。
- 若“值加密”选择为“是”,列表属性只能选择为“否”。
多值
“类型”选择为“枚举”、“人员”时,必填项。
值可变
“类型”选择为“文本”、“长文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“参考对象”、“布尔值”、“日期”、“枚举”、“人员”、“URL”时,必填项。
默认为“是”。若选择为“否”,则该实例的值保存后不支持修改。
值存储方式
“类型”选择为“文本”或“长文本”时,必填项。
支持原值、大写和小写三种,默认为“原值”。
- 原值:实例值按照实际输入的字符串存储。
- 大写:将实例值中小写字符串转换为大写字符串存储。
- 小写:将实例值中大写字符串转换为小写字符串存储。
值加密
“类型”选择为“文本”时,必填项。
默认为“否”。若选择为“是”,发布后该数据将以密文方式存储在数据库中,且为longtext类型。
- 设置值加密后,用户通过API(如get,batchGet,find,query等)获取属性时,可通过“decrypt”来解密该实体的属性。
- 若“唯一键”选择为“是”,值加密只能选择为“否”。
- 若“密级”为“内部公开”时,不支持值加密。
- 若当前属性绑定了业务编码生成器规则,值加密只能选择为“否”。
- 若当前属性是树形结构指定的全路径字段,值加密只能选择为“否”。
索引
“类型”选择为“文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“日期”、“人员”时,可根据实际业务需求进行设置。
“类型”选择为“人员”时,默认为“是”;其他类型默认为“否”。
“类型”选择为“文本”时,如果应用的数据库类型为mysql,且“文本长度”的设置大于768个字符,则该配置无效,无需配置。
入库
默认为“是”。若选择为“否”,发布后在数据库不会生成字段。模型发布后不能修改。
加密
“类型”选择为“文件”,且“密级”为“机密/秘密/绝密”时,必填项。
若“密级”为“内部公开”时,不支持加密。
加密方式
“加密”为“是”时,必填项。
支持对称加密和非对称加密。
- 对称加密:即私钥加密,需使用同一个密钥进行加密或解密。
- 非对称加密:即公钥加密,需使用一对密钥(公钥和私钥)进行加密或解密。
入图
需在填写基本信息时将“同步至LinkX-F”设置为“是”,才展示该配置项。
用于将当前属性与LinkX-F图数据库中的图数据属性进行对应,进而对数据实例实现从多类型数据源到图数据库的转换。
说明:此配置项需要已开通LinkX-F,否则配置后不生效。如果您未开通LinkX-F,请开通数字主线引擎。
- 是:当前属性将在LinkX-F中入图。
- 否:当前属性不在LinkX-F中入图。默认为“否”。
入图标识
“入图”为“是”时,必填项。
此元数据在入图时的别名或标识。
入图标识需以字母开头,只能包含字母、数字和“_”。
引用类型
“类型”选择为“参考对象”时,可根据实际业务需求进行设置。
- 强引用:假设实体A参考实体B,组合关系下,实体B的数据实例被删除时,实体A的数据实例也被删除;非组合关系下,实体B的数据实例被删除时,会返回引用信息,不允许被删除,我们称这两种引用依赖为强引用。
说明:
若“组合关系”选择为“是”,则引用类型只能为强引用。
- 弱引用:假设实体A参考实体B,实体B的数据实例被删除时,实体A的数据实例仍然存在,我们称这种引用依赖为弱引用。
删除属性
- 在左侧导航栏中,选择 ,进入数据实体页面。
- 单击需要删除属性的数据实体编码,进入该数据实体详情页面。
- 选择“属性”页签,进入属性页面。
- 在底部的“全局操作”单击“编辑”,进入编辑状态。
- 勾选需要删除的属性,单击“删除”。
- 从父模型继承的属性不能删除,只可删除数据实体的基础属性。如果基础属性设置了“单位类型”,该基础属性自动生成的参考对象属性不能删除。如果数据实体为“多维视图&多维分支”功能的M-V模型实体,并在“功能配置”中设置了“多维版本”,发布数据实体后会在基础属性中自动生成对应的参考对象属性,该基础属性不能删除。
- 若删除的基础属性已部署至运行态,在完成“发布数据模型 > 发布应用 > 部署应用”操作后,该属性在运行态的数据将同步删除且不可恢复,请谨慎操作!
图3 属性列表
- 在弹出的提示框中,单击“确定”。
如删除的属性已部署至运行态,需在弹出的提示框中先输入指令,再单击“确定”。
编辑属性
- 在左侧导航栏中,选择 ,进入数据实体页面。
- 单击待操作的数据实体编码,进入该数据实体详情页面。
- 选择“属性”页签,进入属性页面。
- 在底部的“全局操作”单击“编辑”,进入编辑状态。
- 找到需要修改的属性,单击。
图4 编辑属性
- 在弹出的窗户中,修改属性的基本信息或约束信息,单击“保存”。
如果您修改的属性为已发布的数据实体属性,修改属性的基本信息或约束信息时,存在如下修改限制:
表2 属性修改限制 操作栏目
限制说明
基本信息
- 不支持修改属性的类型。
- 不支持通过导入数据实体的方式修改属性的英文名称。
约束信息
如下配置项均不支持修改:
- 指定枚举类型
- 指定合法值类型
- 单位类型
- 设计默认单位
- 值存储方式
- 存储方式
- 文件格式
- 文件最大值
- 分块大小
- 密级
- 多值
- 入库
- 参考对象
- 组合关系
- 唯一键区间
文本和长文本类型的属性不支持减少“文本长度”。
如果文本、整型、长整型、浮点型和浮点型(自定义精度)类型的属性包含如下约束配置项定义,则不支持修改。
- “唯一键”为“否”。
- “必填”为“否”。
- “有效范围”为空。
整型、长整型、浮点型和浮点型(自定义精度)类型的属性只支持扩大“有效范围”。
浮点型和浮点型(自定义精度)类型的属性只支持扩大“标度”。
仅文本、长文本、整型、长整型、浮点型和浮点型(自定义精度)类型的属性支持修改“值可变”、“索引”、“默认值”、“列表属性”、“入图”和“入图标识”。
上/下移属性
如现有属性的页面布局不符合您实际业务场景,可通过如下操作进行调整。
- 在左侧导航栏中,选择 ,进入数据实体页面。
- 单击需要调整属性排序的数据实体编码,进入该数据实体详情页面。
- 选择“属性”页签,进入属性页面。
- 在底部的“全局操作”单击“编辑”,进入编辑状态。
- 根据实际操作场景,选择不同的操作方式:
图5 调整属性布局
- 勾选属性,单击“上移”或“下移”。
- 在属性的操作栏中,单击长按上下拖动属性行。