逻辑模型
逻辑模型是利用实体及相互之间的关系,准确描述业务规则的实体关系图。逻辑模型要保证业务所需数据结构的正确性及一致性,使用一系列标准的规则将各种对象的特征体现出来,并对各实体之间的关系进行准确定义。
同时,逻辑模型也为构建物理模型提供了有力的参考依据,并支持转换为物理模型,是最终成功设计数据库过程中必不可少的一个阶段。
本章节主要介绍以下内容:
逻辑模型设计注意事项
- 不只针对当前业务现状,还要考虑业务将来的发展计划。
- 必须有熟知业务的人员参与建模,将实际业务所需内容充分反映在模型中。
- 必须要考虑设计的逻辑模型在向物理模型转换时具有较高的效率。
- 物理特性放在物理建模阶段考虑。
- 各个实体、属性、关系等必须要与实际业务中的信息能够对应。
新建逻辑模型
- 在DataArts Studio控制台首页,选择对应工作空间的“数据架构”模块,进入数据架构页面。
- 在数据架构控制台,单击左侧导航树中的“数据调研 > 逻辑模型”。
- 在“逻辑模型”页面,单击按钮新建逻辑模型。
图1 新建逻辑模型
- 在弹出窗口中配置如下参数,然后单击“确定”。
图2 配置逻辑模型
表1 参数描述 参数名称
说明
*模型名称
只能包含中文、英文字母、数字和下划线。
前缀校验
只能包含英文字母、数字和下划线,且英文字母开头。
说明:模型校验前缀:针对关系建模里面的物理表(关系表)、维度建模里面的事实表、数据集市的汇总表的新建、修改、导入表时,会校验是否有前缀,没有的话会校验失败。进行逆向操作时,也会校验是否有前缀。
描述
逻辑模型的描述信息。
- 更多操作如下。
- 单击已新建的逻辑模型右侧的“编辑”,可以修改逻辑模型的参数信息。
- 单击已新建的逻辑模型右侧的“删除”,可以删除逻辑模型。删除操作无法恢复,请谨慎操作。如果模型包含业务表,无法删除。
- 单击已新建的逻辑模型右侧的“转化为物理模型”,可以将逻辑模型转化为物理模型。具体操作请参见逻辑模型转换为物理模型。
- 单击已新建的逻辑模型的“逻辑实体”或“逻辑属性”或“标准覆盖率”可以跳转到逻辑实体列表页面,查看该逻辑模型的详细内容。
新建逻辑实体并发布
逻辑实体即逻辑表。当您完成逻辑模型的创建之后,您就可以在逻辑模型中新建逻辑实体。
- 在DataArts Studio数据架构控制台,单击左侧导航栏的“逻辑模型”进入逻辑模型页面。
- 在逻辑模型中选择所需要的逻辑模型,单击该模型进入管理页面,然后单击“新建”按钮新建一个逻辑实体。
- 在“新建逻辑实体”页面,根据页面提示完成相关配置。
- 填写基本配置参数。
图3 基本配置
表2 基本配置 参数名称
说明
*所属主题
单击“选择主题”选择所属的主题信息。
逻辑实体编码
支持自动生成和自定义两种方式。
*逻辑实体名称
逻辑实体的名称。
只允许除\、<、>、%、"、'、;及换行符以外的字符。
*表英文名称
逻辑实体转换为物理表的名称。只能包含英文字母、数字、下划线、$、{、},且不能以数字开头。
父逻辑实体
设置一个父逻辑实体。本模块的父逻辑实体、子逻辑实体表示一个继承的概念,公共使用的逻辑实体及属性在逻辑上可以提炼为一个逻辑实体的就是父逻辑实体, 子逻辑实体是在父逻辑实体的基础上增加了特有属性,父逻辑实体属性的修改会影响所有继承它的子逻辑实体。
标签
标签是用户自定义的标识,它可以帮助用户对数据资产进行分类和搜索。添加标签后,您就可以在DataArts Studio数据目录模块中通过标签搜索相关的数据资产。
单击按钮可以为表添加标签,在弹出框中可以选择一个或多个已有的标签,或者输入一个新的标签名称后按回车键。您也可以前往DataArts Studio数据目录模块的“标签管理”页面添加新的标签,详情请参见管理资产标签,然后再返回此页面,就可以在标签的下拉列表中选择新添加的标签。
关系建模的数据标签不支持热发布修改,修改标签需要先将表进行下线,待修改好后再进行上线即可。
资产责任人
在下拉列表中选择用户,可以手动输入名字或直接选择已有的责任人。
*描述
描述信息。支持的长度1~200字符。
- 在“逻辑实体属性”页面添加所需要的逻辑实体属性,逻辑实体属性参数说明参考表3。
图4 添加逻辑实体属性
表3 逻辑实体属性参数 参数名称
说明
*名称
只允许除\、<、>、%、"、'、;及换行符以外的字符。
*英文名称
只能包含英文字母、数字、下划线,且以英文字母开头。
*编码
逻辑属性的编码,当逻辑实体为自定义编码时,逻辑属性可以自定义编码,也可以自动编码。
数据类型
设置属性的数据类型。如果在下拉列表中未找到所需要的数据类型,您可以参考字段类型添加数据类型。
数据标准
如果您已创建数据标准,单击按钮可以选择一个数据标准与逻辑实体属性相关联。在“模型设计业务流程步骤 > 创建质量作业”勾选的情况下,将逻辑实体属性关联数据标准后,逻辑实体发布上线后,就会自动生成一个质量作业,每个关联了数据标准的逻辑实体会生成一个质量规则,基于数据标准对属性进行质量监控,您可以前往DataArts Studio数据质量模块的“质量作业”页面进行查看。
页面中的如果您还未创建数据标准,请参见新建数据标准进行创建。
说明:- 当逻辑实体发布上线后,如果修改数据标准的编码,需要手动将数据标准的维度表同步至数据目录,否则无法更新逻辑实体详情中的数据标准编码信息。
主键
选中时为主键。
说明:当逻辑模型需要转换为物理模型时,该参数有如下限制:
数据连接为MRS Spark连接(通过MRS Spark连接支持MRS Hudi数据源)时,由于Hudi的限制,必须存在字段主键才能数据落库成功,否则会导致表同步失败。
分区
选中时为分区字段。
不为空
是否限制该字段不为空。
标签
单击按钮可以为逻辑实体属性添加标签。
- 在弹出框中可以选择一个或多个已有的标签。如果尚未添加标签,您也可以前往DataArts Studio数据目录模块的“标签管理”页面添加新的标签,详情请参见管理资产标签。
- 在弹出框中,您也可以输入一个新的标签名称然后按回车键。标签名称只能包含中文、英文字母、数字和下划线,且不能以下划线开头。
密级
单击按钮可以为逻辑实体属性添加密级。
如果没有您想要的密级,可点击跳转到数据安全界面中创建需要的密级。
如不使用该功能,可在配置中心 > 模型设计中关闭该功能。
描述
描述信息。
- 在“关系”页面,单击“新建”新建关系。
关系用于两个父、子实体(有时也称为主、从实体)之间的主外键关联关系,即描述实体与实体是以何种形态关联在一起,或者描述一个实体本身的行为会对另外一个实体产生何种影响。数据模型内实体之间的关系尤为重要,必须要对其准确定义。否则,无法在数据模型中准确描述实际的业务规则,而且很大程度上破坏数据的一致性。
例如,对于根据3NF范式设计的“成绩表”和“学生表”,成绩表中的“学号”属性为学生表的主键。则其关系为:- 子逻辑实体:成绩表
- 子逻辑实体属性FK:学号
- 子对父:
- 父逻辑实体:学生表
- 父逻辑实体属性PK:学号
- 父对子:
图5 新建关系
表4 新建关系参数说明 参数名称
说明
名称
通过名称来描述该关系。
子逻辑实体
单击该属性在下拉列表中选择子逻辑实体。单击可设置当前逻辑实体为子逻辑实体。
例如,对于根据3NF范式设计的“成绩表”和“学生表”,成绩表中的“学号”属性为学生表的主键。则子逻辑实体应为“成绩表”,对应父逻辑实体应为“学生表”。
子逻辑实体属性FK
选择子逻辑实体属性,FK表示外键Foreign Key。该子逻辑实体的属性应为父逻辑实体的外键。
例如,对于根据3NF范式设计的“成绩表”和“学生表”,成绩表中的“学号”属性为学生表的主键。则此子逻辑实体属性FK应为“成绩表”的“学号”。
子对父
:表示每条子逻辑实体数据在父逻辑实体中有且只有一条数据与之对应。
:表示每条子逻辑实体数据在父逻辑实体中最多有一条数据与之对应。
:表示每条子逻辑实体数据在父逻辑实体中可能有多条数据与之对应。
:表示每条子逻辑实体数据在父逻辑实体中至少有一条数据与之对应。
父对子
:表示每条父逻辑实体数据在子逻辑实体中有且只有一条数据与之对应。
:表示每条父逻辑实体数据在子逻辑实体中最多有一条数据与之对应。
:表示每条父逻辑实体数据在子逻辑实体中可能有多条数据与之对应。
:表示每条父逻辑实体数据在子逻辑实体中至少有一条数据与之对应。
父逻辑实体
选择与所选子逻辑实体有逻辑关系的逻辑实体。
例如,对于根据3NF范式设计的“成绩表”和“学生表”,成绩表中的“学号”属性为学生表的主键。则父逻辑实体应为“学生表”,对应子逻辑实体应为“成绩表”。
父逻辑实体属性PK
选择父逻辑实体的属性,PK表示主键Primary Key。该父逻辑实体的属性应为父逻辑实体的主键。
例如,对于根据3NF范式设计的“成绩表”和“学生表”,成绩表中的“学号”属性为学生表的主键。则此父逻辑实体属性PK应为“学生表”的“学号”。
角色名称
可以自定义一个角色名称,用于标识该关系。
操作
单击可删除一条关系。单击可编辑关系。
- 在“映射”页面,单击“新建”新建映射,创建完成后单击“保存”。映射指的是给两个逻辑实体(源逻辑实体和目的逻辑实体)建立起属性的对应关系。
图6 新建映射
- 映射名称:新建映射时会自动生成,用户可以手动修改。
- 源逻辑实体:如果数据来源于一个模型中的多个逻辑实体,可以单击逻辑实体后的按钮为该逻辑实体和其他逻辑实体之间设置JOIN。
图7 设置源表JOIN条件
表5 JOIN条件参数说明 参数名
参数说明
*JOIN逻辑实体
下拉选择需要和源逻辑实体建立JOIN关系的逻辑实体。
JOIN方式
从左到右依次表示left JOIN、right JOIN、inner JOIN、outer JOIN。
*JOIN属性
JOIN属性一般选择源逻辑实体和JOIN逻辑实体中含义相同的属性,单击或按钮增加或删除JOIN属性。JOIN属性之间是and的关系。
- 逻辑属性映射:为来源于当前映射的属性,依次选择一个含义相同的源属性。
- 填写基本配置参数。
- 单击“发布”,选择审核人,再单击“确认提交”提交审核。
企业模式下,进行发布时,可以选择发布到生产环境或开发环境。默认发布到生产环境,不勾选则无法发布。
选择审核人时,系统支持选择多个审核人,全部审批通过后,状态才会显示为已发布。如果有任意一个人驳回,则状态为已驳回。
等待审核人员审核,审核通过后,返回模型页面,在列表中可以查看建好的逻辑实体。
系统默认在“配置中心 > 功能配置 > 模型设计业务流程步骤”中勾选了“同步业务资产”:
- 对于新建的逻辑实体,单击“发布”可直接将逻辑实体同步到数据目录模块中的业务资产中。
- 对于历史发布的逻辑实体,单击列表上方的“更多 > 同步”可将逻辑实体同步到数据目录模块的业务资产中。
逻辑模型转换为物理模型
完成逻辑模型的创建后,您可以将逻辑模型转换为物理模型,支持转换为已有的物理模型。
- 在DataArts Studio控制台首页,选择对应工作空间的“数据架构”模块,进入数据架构页面。
- 在数据架构控制台,单击左侧导航树中的“逻辑模型”。
- 在总览图中找到所需要的逻辑模型,将光标移动到该卡片上,单击该模型的转换按钮。逻辑模型只支持转换为关系建模的模型。
图8 逻辑模型转化为物理模型
- 在“转换为物理模型”对话框中,配置如下参数,然后单击“确定”。
图9 转换为物理模型
逻辑模型转换为物理模型时,系统会先校验是否有前缀。
表6 参数描述 参数名称
说明
*模型名称
逻辑模型所需转换的物理模型的名称。在下拉列表中选择一个已有的模型。
*更新已有表
当选择了模型名称后才显示该参数。
*数据连接类型
在下拉列表中选择数据连接类型。
数据连接
选择所需要的数据连接。同一个关系模型一般建议使用统一的数据连接。
如果您还未创建与数据源之间的数据连接,请前往DataArts Studio管理中心控制台进行创建,详情请参见配置DataArts Studio数据连接参数。
数据库
选择数据库。如果您还未创建数据库,可以前往DataArts Studio数据开发控制台进行创建,详情请参见新建数据库。
选择逻辑实体
- 全部:将所有的逻辑实体转换为物理表。
- 部分:将选择的部分逻辑实体转换为物理表。
队列
DLI队列。该参数仅DLI连接类型有效。
Schema
DWS和POSTGRESQL的模式。该参数仅支持DWS和POSTGRESQL连接类型。
描述
描述信息。支持的长度为0~600个字符。
通过逆向数据库导入逻辑实体
通过逆向数据库,您可以从其他数据源中将一个或多个已创建的数据库表导入到逻辑实体目录中,使其变成逻辑实体。
- 在数据架构控制台,单击左侧导航树中的“逻辑模型”,进入逻辑模型页面,选择一个逻辑模型进入逻辑实体列表页面。
- 在逻辑实体列表上方,单击“逆向数据库”。
- 在“逆向数据库”对话框中,配置如下参数,然后单击“确定”。
表7 逆向数据库配置 参数名称
说明
*所属主题
在下拉列表中选择所属主题。
*数据连接类型
在下拉列表中将显示逆向数据库支持的数据连接类型,请选择所需要的数据连接类型。
*数据连接
选择数据连接。
如需从其他数据源逆向数据库到逻辑实体目录中,需要先在DataArts Studio管理中心创建一个数据连接,以便连接数据源。创建数据连接的操作,请参见配置DataArts Studio数据连接参数。
*数据库
选择数据库。
*Schema
下拉选择Schema。该参数仅DWS和POSTGRESQL模型的表有效。
队列
DLI队列。仅当“数据连接类型”选择“DLI”时,该参数有效。
更新已有表
如果从其他数据源逆向过来的表,在逻辑实体中已存在同名的表,选择是否更新已有的逻辑实体。
名称来源
逆向后表名称/字段名称的来源,可以是描述或者是相应英文名,如表/字段未指定描述则固定使用英文名。
- 来自描述
- 来自英文名称
*数据表
选择全部或部分需导入的数据表。
图10 逆向配置
- 逆向数据库的结果会在“上次逆向”页面中显示。如果逆向成功,单击“关闭”。如果逆向失败,您可以查看失败原因,问题解决后,选中失败的表,然后单击“重新逆向”进行重试。
图11 逆向结果
导入逻辑实体
导入EXCEL
- 单击逻辑实体列表上方“导入”中的“导入EXCE”。在“导入表”对话框中,选择“导入配置”页签,单击“下载关系建模导入模板”。
图12 导入EXCEL
- 下载关系建模导入模板后,编辑完成后保存至本地。
- 选择是否更新已有数据。
如果系统中已有的编码和模板中的编码相同,系统则认为是数据重复。
- 不更新:当数据重复时,不会替换系统中原有的数据。
- 更新:当数据重复时
- 系统中的原有数据为草稿状态,则会覆盖生成新的草稿数据。
- 系统中的原有数据为发布状态,则会生成下展数据。
- 单击“添加文件”,选择编辑完成的导入模板。
- 单击“上传文件”,上传完成后,自动跳转到“上次导入”页签,查看已导入的数据。
- 单击“关闭”退出该页面。
导入LDM
- 导入LDM模型时,请先选择一个主题。不选择则无法导入。
- 当前支持导入逻辑模型。
- 请准备好需要导入的.ldm格式的逻辑模型。该逻辑模型是从第三方系统Power Designer导出来的。
- 导入的LDM模型支持的版本:16.x
- 单击逻辑实体列表上方“导入”中的“导入LDM”。在“导入表”对话框中,选择“导入配置”页签。
图13 导入LDM
- 选择是否更新已有数据。
- 不更新:当数据重复时,不会替换系统中原有的数据。
- 更新:当数据重复时
- 系统中的原有数据为草稿状态,则会覆盖生成新的草稿数据。
- 系统中的原有数据为发布状态,则会生成下展数据。
- 单击“添加文件”,选择提前准备好的.ldm格式的逻辑模型。
- 单击“上传文件”,上传完成后,自动跳转到“上次导入”页签,查看已导入的数据。
- 单击“关闭”退出该页面。
导出逻辑实体
逻辑实体更多操作
- 同步
在逻辑实体列表中,选择需要同步的逻辑实体,单击列表上方的“同步”,单击“确定”,完成逻辑实体的同步。只有当表处于已发布状态时,才能执行此操作。
- 发布
- 下线
在逻辑实体列表中,选择需要下线的逻辑实体,单击列表上方的“下线”或者单击“操作”列的“更多 > 下线”,进行逻辑实体下线。只有当表处于已发布状态时,才能执行此操作。
- 修改主题
- 删除
在逻辑实体列表中,选择需要删除的逻辑实体,单击列表上方的“删除”,可以删除逻辑实体。只有当表处于草稿/已驳回/已下线状态时,才能执行此操作。
- 标签
在逻辑实体列表中,选择需要设置标签的逻辑实体,单击列表上方的“标签”,进入后添加标签,单击“确定”,完成逻辑实体的标签设置。
输入文字并回车可临时添加标签,整页信息提交后才可新建标签。标签最多可添加20个。
- 编辑
- 发布历史
在逻辑实体列表中,选择需要查看发布历史的逻辑实体,单击“操作”列的“更多 > 发布历史”,进入后可查看逻辑实体的发布历史和版本对比。
- 浏览SQL
在逻辑实体列表中,选择需要预览SQL的逻辑实体,单击“操作”列的“更多 > 预览SQL”,进入后可预览逻辑实体的SQL信息。