逻辑模型是利用实体及相互之间的关系,准确描述业务规则的实体关系图。逻辑模型要保证业务所需数据结构的正确性及一致性,使用一系列标准的规则将各种对象的特征体现出来,并对各实体之间的关系进行准确定义。
同时,逻辑模型也为构建物理模型提供了有力的参考依据,并支持转换为物理模型,是最终成功设计数据库过程中必不可少的一个阶段。
本章节主要介绍以下内容:
- 逻辑模型设计注意事项
- 新建逻辑模型
- 新建逻辑实体并发布
- 逻辑模型转换为物理模型
逻辑模型设计注意事项
- 不只针对当前业务现状,还要考虑业务将来的发展计划。
- 必须有熟知业务的人员参与建模,将实际业务所需内容充分反映在模型中。
- 必须要考虑设计的逻辑模型在向物理模型转换时具有较高的效率。
- 物理特性放在物理建模阶段考虑。
- 各个实体、属性、关系等必须要与实际业务中的信息能够对应。
新建逻辑模型
1.在DataArts Studio控制台首页,选择实例,点击“进入控制台”,选择对应工作空间的“数据架构”模块,进入数据架构页面。
2.在数据架构控制台,单击左侧导航树中的“关系建模”。
3.在“关系建模”页面,如果当前未创建过关系模型,系统会弹出“新建分层治理模型”提示框。如果不是首次创建,单击加号按钮新建模型。
4.在弹出窗口中配置如下参数,然后单击“确定”。
下表为参数描述
参数名称 | 说明 |
---|---|
模型名称 | 只能包含中文、英文字母、数字和下划线。 |
描述 | 逻辑模型的描述信息。 |
新建逻辑实体并发布
逻辑实体即逻辑表。当您完成逻辑模型的创建之后,您就可以在逻辑模型中新建逻辑实体。
1.在DataArts Studio数据架构控制台,单击左侧导航栏的“关系建模”进入关系建模页面。
2.在关系模型中选择所需要的逻辑模型,单击该模型进入管理页面,然后单击“新建”按钮新建一个逻辑实体。
3.在“新建逻辑实体”页面,根据页面提示完成相关配置。
a.填写基本配置参数:
下表为基本配置
参数名称 | 说明 |
---|---|
所属主题 | 单击“选择主题”选择所属的主题信息。 |
逻辑实体编码 | 支持自动生成和自定义两种方式。 |
逻辑实体名称 | 逻辑实体的名称。只能包含中文、英文字母、数字、左右括号、中划线和下划线,且以中文或英文字母开头。 |
表英文名称 | 逻辑实体转换为物理表的名称。只能包含英文字母、数字、下划线、$、{、},且不能以数字开头。 |
父逻辑实体 | 设置一个父逻辑实体。本模块的父逻辑实体、子逻辑实体表示一个继承的概念,公共使用的逻辑实体及属性在逻辑上可以提炼为一个逻辑实体的就是父逻辑实体, 子逻辑实体是在父逻辑实体的基础上增加了特有属性,父逻辑实体属性的修改会影响所有继承它的子逻辑实体。 |
标签 | 标签是用户自定义的标识,它可以帮助用户对数据资产进行分类和搜索。添加标签后,您就可以在DataArts Studio数据目录模块中通过标签搜索相关的数据资产。 单击按钮可以为表添加标签,在弹出框中可以选择一个或多个已有的标签,或者输入一个新的标签名称后按回车键。您也可以前往DataArts Studio数据目录模块的“标签管理”页面添加新的标签,详情请参见标签管理,然后再返回此页面,就可以在标签的下拉列表中选择新添加的标签。 |
资产责任人 | 在下拉列表中选择用户,可以手动输入名字或直接选择已有的责任人。 |
描述 | 描述信息。支持的长度1~200字符。 |
b.在“逻辑实体属性”页面添加所需要的逻辑实体属性,逻辑实体属性参数说明参考下表。
参数名称 | 说明 |
---|---|
*名称 | 只能包含中文、英文字母、数字、左右括号、中划线和下划线,且以中文或英文字母开头。 |
*英文名称 | 只能包含英文字母、数字、下划线,且以英文字母开头。 |
*编码 | 逻辑属性的编码,当逻辑实体为自定义编码时,逻辑属性可以自定义编码,也可以自动编码。 |
数据类型 | 设置属性的数据类型。如果在下拉列表中未找到所需要的数据类型,您可以参考管理配置中心章节中的“字段类型管理”添加数据类型。 |
数据标准 | 如果您已创建数据标准,单击 按钮可以选择一个数据标准与逻辑实体属性相关联。在“配置中心>功能配置”页面中的“模型设计业务流程步骤>创建质量作业”勾选的情况下,将逻辑实体属性关联数据标准后,逻辑实体发布上线后,就会自动生成一个质量作业,每个关联了数据标准的逻辑实体会生成一个质量规则,基于数据标准对属性进行质量监控,您可以前往DataArts Studio数据质量模块的“质量作业”页面进行查看。 如果您还未创建数据标准,请参见新建数据标准进行创建。 |
主键 | 选中时为主键。 |
分区 | 选中时为分区字段。 |
不为空 | 是否限制该字段不为空。 |
标签 | 单击按钮可以为逻辑实体属性添加标签。 在弹出框中可以选择一个或多个已有的标签。如果尚未添加标签,您也可以前往DataArts Studio数据目录模块的“标签管理”页面添加新的标签。 在弹出框中,您也可以输入一个新的标签名称然后按回车键。标签名称只能包含中文、英文字母、数字和下划线,且不能以下划线开头。 |
描述 | 描述信息。 |
c.在“关系”页面,单击“新建”新建关系。
关系用于两个父、子实体(有时也称为主、从实体)之间的主外键关联关系,即描述实体与实体是以何种形态关联在一起,或者描述一个实体本身的行为会对另外一个实体产生何种影响。数据模型内实体之间的关系尤为重要,必须要对其准确定义。否则,无法在数据模型中准确描述实际的业务规则,而且很大程度上破坏数据的一致性。
例如,对于根据3NF范式设计的“成绩表”和“学生表”,成绩表中的“学号”属性为学生表的主键。则其关系为:
- 子逻辑实体:成绩表
- 子逻辑实体属性FK:学号
- 子对父:
- 父逻辑实体:学生表
- 父逻辑实体属性PK:学号
- 父对子:
下表为新建关系参数说明
参数名称 | 说明 |
---|---|
名称 | 通过名称来描述该关系。 |
子逻辑实体 | 单击该属性在下拉列表中选择子逻辑实体。单击可设置当前逻辑实体为子逻辑实体。 例如,对于根据3NF范式设计的“成绩表”和“学生表”,成绩表中的“学号”属性为学生表的主键。则子逻辑实体应为“成绩表”,对应父逻辑实体应为“学生表”。 |
子逻辑实体属性FK | 选择子逻辑实体属性,FK表示外键Foreign Key。该子逻辑实体的属性应为父逻辑实体的外键。 例如,对于根据3NF范式设计的“成绩表”和“学生表”,成绩表中的“学号”属性为学生表的主键。则此子逻辑实体属性FK应为“成绩表”的“学号”。 |
子对父 | :表示每条子逻辑实体数据在父逻辑实体中有且只有一条数据与之对应。 :表示每条子逻辑实体数据在父逻辑实体中最多有一条数据与之对应。 :表示每条子逻辑实体数据在父逻辑实体中可能有多条数据与之对应。 :表示每条子逻辑实体数据在父逻辑实体中至少有一条数据与之对应。 |
父对子 | :表示每条父逻辑实体数据在子逻辑实体中有且只有一条数据与之对应。 :表示每条父逻辑实体数据在子逻辑实体中最多有一条数据与之对应。 :表示每条父逻辑实体数据在子逻辑实体中可能有多条数据与之对应。 :表示每条父逻辑实体数据在子逻辑实体中至少有一条数据与之对应。 |
父逻辑实体 | 选择与所选子逻辑实体有逻辑关系的逻辑实体。 例如,对于根据3NF范式设计的“成绩表”和“学生表”,成绩表中的“学号”属性为学生表的主键。则父逻辑实体应为“学生表”,对应子逻辑实体应为“成绩表”。 |
父逻辑实体属性PK | 选择父逻辑实体的属性,PK表示主键Primary Key。该父逻辑实体的属性应为父逻辑实体的主键。 例如,对于根据3NF范式设计的“成绩表”和“学生表”,成绩表中的“学号”属性为学生表的主键。则此父逻辑实体属性PK应为“学生表”的“学号”。 |
角色名称 | 可以自定义一个角色名称,用于标识该关系。 |
操作 | 单击可删除一条关系。单击可编辑关系。 |
d.在“映射”页面,单击“新建”新建映射,创建完成后单击“保存”。映射指的是给两个逻辑实体(源逻辑实体和目的逻辑实体)建立起属性的对应关系。
- 映射名称 :新建映射时会自动生成,用户可以手动修改。
- 源逻辑实体 :如果数据来源于一个模型中的多个逻辑实体,可以单击逻辑实体后的按钮为该逻辑实体和其他逻辑实体之间设置JOIN。
下表为JOIN条件参数说明
参数名 | 参数说明 |
---|---|
JOIN逻辑实体 | 下拉选择需要和源逻辑实体建立JOIN关系的逻辑实体。 |
JOIN方式 | 从左到右依次表示left JOIN、right JOIN、inner JOIN、outer JOIN。 |
JOIN属性 | JOIN属性一般选择源逻辑实体和JOIN逻辑实体中含义相同的属性,单击或按钮增加或删除JOIN属性。JOIN属性之间是and的关系。 |
- 逻辑属性映射: 为来源于当前映射的属性,依次选择一个含义相同的源属性。
4.单击“发布”,选择审核人,再单击“确认提交”提交审核。
等待审核人员审核,审核通过后,返回模型页面,在列表中可以查看建好的逻辑实体。
说明系统默认在“配置中心>功能配置>模型设计业务流程步骤”中勾选了“同步业务资产”:
对于新建的逻辑模型,单击“发布”可直接将逻辑模型同步到数据目录模块中的业务资产中。
对于历史发布的逻辑模型,单击列表上方的“更多>同步”可将逻辑模型同步到数据目录模块的业务资产中。
逻辑模型转换为物理模型
完成逻辑模型的创建后,您可以将逻辑模型转换为物理模型,支持转换为新的物理模型或已有的物理模型。
1.在DataArts Studio控制台首页,选择实例,点击“进入控制台”,选择对应工作空间的“数据架构”模块,进入数据架构页面。
2.在数据架构控制台,单击左侧导航树中的“关系建模”。
3.在总览图中找到所需要的逻辑模型,将光标移动到该卡片上,单击该模型的转换按钮。
4.在“转换为物理模型”对话框中,配置如下参数,然后单击“确定”。
下表为参数描述
参数名称 | 说明 |
---|---|
*模型名称 | 逻辑模型所需转换的物理模型的名称。您可以输入一个新的模型名称,系统会创建该新模型,也可以在下拉列表中选择一个已有的模型。 模型名称只能包含中文、英文字母、数字和下划线。 |
*数据连接类型 | 在下拉列表中选择数据连接类型。如果没有所需要的数据类型,您可以参考管理配置中心章节中的“字段类型管理”添加数据类型。 |
数据连接 | 选择所需要的数据连接。同一个关系模型一般建议使用统一的数据连接。 如果您还未创建与数据源之间的数据连接,请前往DataArts Studio管理中心控制台进行创建。 |
数据库 | 选择数据库。如果您还未创建数据库,可以前往DataArts Studio数据开发控制台进行创建。 |
选择表 | 全部:将所有的逻辑实体转换为物理表。 部分:将选择的部分逻辑实体转换为物理表。 |
队列 | DLI队列。该参数仅DLI连接类型有效。 |
Schema | DWS和POSTGRESQL的模式。该参数仅支持DWS和POSTGRESQL连接类型。 |
描述 | 描述信息。支持的长度为0~600个字符。 |
5.转换为物理模型后,您可以为该物理模型设置分层,您可以选择SDI层或DWI层。如下图,在物理模型中找到转换后的物理模型,将光标移动到该卡片上,单击该模型的编辑按钮,进入“编辑物理模型”弹窗。
进入“编辑物理模型”弹窗后,选择“数仓分层”,下拉选择SDI或DWI分层。
- SDI :Source Data Integration,又称贴源数据层。SDI是源系统数据的简单落地。
- DWI :Data Warehouse Integration,又称数据整合层。DWI整合多个源系统数据,对源系统进来的数据进行整合、清洗,并基于三范式进行关系建模。