数据模型设计必读方法论!很实用

数据架构的重要构件之一是数据模型,当然从数据架构的视角来说的数据模型是指企业级数据模型。本篇文章更多是讨论如何设计和管理数据模型,此处的数据模型是泛指在组织中通过数据建模的过程,来发现、分析和确定数据需求范围,并用于表示和传达这些数据需求的成果。不仅仅是指企业级数据模型,也包括系统级或应用级的数据模型。

01概述

首先,我们明确什么是数据模型及数据建模:

数据建模是发现、分析和确定数据需求范围,然后以称为数据模型的精确形式表示和传达这些数据需求的过程。数据建模是数据管理的重要组成部分。

数据模型描述了组织的数据资产并促使组织理解其数据资产。

数据模型根据组织的了解或组织的期望来描述组织的数据。数据模型包含一组带有文本标签的符号,这些符号试图可视化地表示传递给数据建模者的数据需求。

数据建模的常用方案(模式)会有:关系、维度、面向对象、基于事实、基于时间和NoSQL建模。

数据模型的组件有实体、关系、事实、键和属性等。

关于数据模型和设计的语义图如下所示:
在这里插入图片描述
数据建模的业务驱动因素可以通过数据模型对于实现有效管理数据的重要性来说明,数据模型可以:

提供有关数据的通用词汇表
捕获并记录有关组织数据和系统的明确知识
在项目期间充当主要的沟通工具
提供自定义、集成甚至替换应用程序的起点
在这里插入图片描述
那么建模的目标会有什么呢,从下图我们可以了解到:
在这里插入图片描述

02基本概念

建模的数据类型

可以通过四种主要的数据类型来进行建模:

类别信息:用于对事物进行分类和分配类型的数据。例如,按市场类别或业务部门分类的客户;按颜色,型号,尺寸等分类的产品;订单按打开还是关闭状态分类。

资源信息:所需资源的基本概要执行诸如产品,客户,供应商,设施,组织和客户等操作流程。在IT专业人员中,资源实体有时称为参考数据。

业务事件信息:在进行业务流程时创建的数据。示例包括客户订单,供应商发票,现金提取和业务会议。在IT专业人员中,事件实体有时被称为事务业务数据。

详细交易信息:详细交易信息通常是通过销售系统(商店或在线)产生的。它也可以通过社交媒体系统,其他Internet交互(点击流等)以及机器中的传感器产生的,这些传感器可以是船只和车辆的一部分,工业组件或个人设备(GPS,RFID,Wi-Fi等)。与业务事件信息的使用方式类似,此类详细信息可以被汇总,用于导出其他数据并进行趋势分析。这类数据(大容量和/或快速变化的数据)通常称为大数据。

这些类型指的是“静态数据”。例如,还可以在包括协议的系统方案以及消息传递和基于事件的系统的方案中对动态的数据进行建模。
在这里插入图片描述
数据模型组件:实体、关系、属性、域。这些概念估计大部分人特别是对于数据模型有所了解的人都较熟悉。我们在这里只是将其中一些容易被忽略或者有些特点的概念说明一下。

实体的别名(用下面的表格来说明实体还可被称为其它名称:实体类型、 实体实例)

在这里插入图片描述

实际上实体的别名也可能跟建模模式相关,在关系建模中,经常就称为实体,而在维度建模中,会称为维度表和事实表,在面向对象建模中,会称为类和对象,在基于时间建模通过使用集线器、卫星表和链接表,在NoSQL建模中会使用文档或节点。

另外实体的别名也会数据模型的详细级别(层次)相关,如在概念数据模型中称为概念实体,在逻辑数据模型中称为逻辑实体,在物理数据模型中称为物理表。

关于关系,我们在这里用几张图形中说明一下关系的分类,关系在数据模型中会分为一元关系、二元关系和三元关系。
在这里插入图片描述
关于键,在数据模型中也是很重要的,如我们常提到的主键、外键、代理键等。数据模型中的键可以根据键的构造(简单、复合、替代)和功能(候选、主键、备用)来分类。在构造型的键中我们会分为单键、复合键、代理键(也是单键的一种);在功能类型的键中我们将分为候选键、主键和备用键,主键和备用键也是候选键。一般情况下,主键是代理键时,实体中同时也会有备用键,这时候的备用键实际上就是业务键。

数据建模模式

前面我们提到了常用的建模模式会有六种:关系,维度,面向对象,基于事实,基于时间和NoSQL建模。下面我们来了解一下这六种建模模式之间的区别会有哪些(示例、表示法、建模层级)

在这里插入图片描述
在这里插入图片描述

下面是一些表示法的示意图:
在这里插入图片描述
在这里插入图片描述

03数据建模活动

在DAMA中,数据建模活动主要是数据建模计划、构建数据模型、查看数据模型、维护数据模型组成。

在数据建模计划中,可交付成果包括:图表(模型图)、定义、当前问题和未解决问题、数据血缘。图表是解决了建模的详细程度(概念、逻辑或物理)和建模模式的表述;定义保障了数据模型的精度要求;数据血缘将协助数据建模人员对数据需求有非常深刻的了解并确定源属性;关于当前问题和未解决问题的文档,将会联合建模小组外相关人员来负责解决问题。

构建数据模型主要是考虑正向工程和逆向工程的建模。说明建模是一个经常反复的过程。
在这里插入图片描述
查看数据模型就是将对数据模型进行质量控制。

维护数据模型,让数据模型与其他元数据相似,需要根据需求的变化而对数据模型进行更新。而且也需要保障数据模型不同级别间的一致性(如逻辑模型与物理模型的一致性)。

数据建模工具

我们需要知道就是哪些工具属于数据建模所需的:数据建模工具(特指构建数据模型的工具,当然也有可能包括其它建模相关辅助功能)、血缘工具、数据分析工具、元数据存储库、数据模型模式、行业数据模型。

数据模型治理

数据模型与设计质量管理

数据模型和数据库设计应在企业的短期需求和长期需求之间保持合理的平衡。可以通过下面几个方面来保障数据模型和设计质量:

1、制定数据建模和设计标准

标准数据建模和数据库设计可交付成果的列表和描述
适用于所有数据模型对象的标准名称,可接受的缩写和不常见单词的缩写规则的列表
所有数据模型对象的标准命名格式的列表,包括属性和列类词
创建和维护这些可交付成果的标准方法的列表和说明
数据建模和数据库设计角色和职责的列表和描述
数据建模和数据库设计中捕获的所有元数据属性的列表和描述,包括业务元数据和技术元数据。例如,准则可以设置数据模型捕获每个属性的血统的期望。
元数据质量期望和要求
有关如何使用数据建模工具的准则
准备和领导设计评审的准则
数据模型版本化指南
阐述不鼓励的做法
2、审查数据模型和数据设计质量

项目团队应该对概念数据模型,逻辑数据模型和物理数据库设计进行需求审查和设计审查。审查会议的议程应包括审查初始模型(如有),对模型所做的更改以及任何其他已考虑和拒绝的选项,以及新模型与现有模型或架构标准的符合程度的项目。

在未经批准的审查中,建模者必须重新设计以解决问题。如果存在建模者无法自行解决的问题,则最终的发言权应由模型反映的系统所有者给出。

3、管理数据模型的版本控制和集成

数据模型和其他设计规范需要仔细的变更控制,就像需求规范和其他SDLC交付品一样。

数据建模指标

可以用来提供数据模型验证示例的一种方法是Data ModelScorecard®,它提供11种数据模型质量指标:构成记分卡的十个类别中的每个类别,以及所有十个类别的总体分数(Hoberman ,2015)。
在这里插入图片描述

关于数据模型和设计的内容本文将基本内容表达出来,但是根据个人的经验,如果想更好地进行数据建模并提升个人建模水平,最终达到数据建模师的水平,还是需要去学习相关理论并进行大量的练习及实践。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/109451.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hadoop3教程(十):MapReduce中的InputFormat

文章目录 (87)切片机制与MapTask并行度决定机制(90) 切片源码总结(91)FileInputFormat切片机制(92)TextInputFormat及其他实现类一览(93) CombineTextInputFo…

ChatGPT生产力|实用指令(prompt)

GPT已经成为一个不可或缺的科研生产力了,但是大多数人只知晓采用直接提问、持续追问以及细节展开的方式来查阅相关资料,本文侧重于探讨“限定场景限定角色限定主题”、“可持续追问细节展开”等多种方式来获取更多信息,帮人们解决更多问题。 …

移动端签名组件封装 借用插件 vue-esign

目录 需求实现讲解工具 - 图片旋转、base64 转换为 file 对象组件封装组件全局注册组件使用效果展示 需求 移动端需要实现手机横屏手写签名并上传签名图片功能。 实现讲解 vue-esign 插件文档地址 https://www.npmjs.com/package/vue-esign SignCanvas 组件封装原理&#xff1a…

数学建模——最优连接(基于最小支撑树)

一、概念 1、图的生成树 由图G(V,E)的生成子图G1(V,E1)(E1是E的子集)是一棵树,则称该树为图G的生成树(支撑树),简称G的树。图G有支撑树的充分必要条件为图G连通。 2、最小生成树问题 连通图G(V,E),每条边…

C语言实现// 输入一个英文句子,以‘ . ’结束,统计句子中包含的字符个数

完整代码&#xff1a; // 输入一个英文句子&#xff0c;以‘ . ’结束&#xff0c;统计句子中包含的字符个数 #include<stdio.h>int main(){char ch;int length0;printf("请输入一个英文句子\n");while (chgetchar()!.){length;}printf("字符个数是&…

开源CasaOS云软件发现关键漏洞

近日&#xff0c;开源 CasaOS 个人云软件中发现的两个严重的安全漏洞。该漏洞一旦被攻击者成功利用&#xff0c;就可实现任意代码执行并接管易受攻击的系统。 这两个漏洞被追踪为CVE-2023-37265和CVE-2023-37266&#xff0c;CVSS评分均为9.8分。 发现这些漏洞的Sonar安全研究…

【Java实战】创建第一个Springboot项目Hello world

没有旗舰版的Idea授权&#xff0c;所以安装了社区版的idea。不知道从何时开始&#xff0c;社区版IDEA的插件不好用了&#xff0c;所以就换了个方法生成Springboot项目。 一 在线生成 选择好对应的选项后&#xff0c;点击生成就可以下载到一个完整的springboot项目了。 二 使用…

linux安装达梦数据库(命令行安装)

安装达梦数据库 创建安装用户 1,创建安装用户组dinstall [rootdmDMServer1 ~]# groupadd -g 12345 dinstallgroupadd : 创建组 -g : 指定组id&#xff08;GID&#xff09; 12345&#xff1a; 指定的组名称 dinstall &#xff1a; 组名 2,创建安装用户dmdba [rootdmDMSe…

Mycat2 分布式数据库中间件

一.安装部署 Mycat2目前还不支持直接获取Docker镜像&#xff0c;需要自己通过Dockerfile打包镜像&#xff0c;其实这也是为了开发者考虑&#xff0c;比如一些个性化功能&#xff0c;如自定义分片等 Dockerfile FROM docker.io/adoptopenjdk/openjdk8:latestENV AUTO_RUN_DIR…

PhotoShop字体加粗,PhotoShop字体添加边框,PhotoShop设置文字背景为图片

字体加粗 创建文字&#xff1a; 选中文字 &#xff08;用鼠标点一下&#xff09; 然后 转换为智能对象 输入合适的数值即可加粗字体 字体添加外边框 点击字体&#xff0c;点击右下角的fx 咋fx中选择描边 设置文字背景为图片 将文字放到刚刚图片所在的位置即可 。…

vscode工程屏蔽不使用的文件夹或文件的方法

一. 简介 vscode是一款 微软提供的免费的代码编辑软件。 对于 IMX6ULL-ALPHA开发板而言&#xff0c;NXP官方uboot一定会支持不止 IMX6ULL芯片的代码&#xff0c;也不止支持 一种架构&#xff0c;还支持其他芯片或架构的源码文件。 为了方便阅读代码&#xff0c;vscode软件可…

2024年关于湖北省建筑安全员B证报考你需要了解

2024年关于湖北省建筑安全员B证报考你需要了解 建筑安全员B证指的是建设厅三类人员建安B证&#xff0c;很多人对于B证报考不是很了解&#xff0c;对于安全员B报考条件、报考流程、报考时间、报考地区等事项叙后尘告诉你们。 湖北建筑安全员B证报考条件-建安B证 1.你的二级建造师…

SpringCloud对服务内某个client进行单独配置

文章目录 问题解决过程问题解决 问题 我们的微服务项目用的是springCloud&#xff0c;某个微服务接口因为数据处理量大&#xff0c;出现了接口超时的情况&#xff0c;我们需要单独修改这一个feignClient的超时时间。 解决过程 一开始项目只是在application文件里面进行了全局…

计算机缺失pasmutility.dll怎么办,三步解决pasmutility.dll缺失

pasmutility.dll文件是windows系统中重要的dll文件&#xff0c;电脑一旦缺失dll文件就会导致电脑无法正常运行&#xff0c;同时还会唐初电脑缺失pasmutility.dll文件的提示窗口&#xff0c;非常影响电脑运行&#xff0c;那么出现计算机缺失pasmutility.dll该怎么办呢&#xff1…

21.1 stm32使用LTDC驱动LCD--配置说明

本文讲解如何配置LTDC驱动LCD的参数配置&#xff0c;以及CubeMx参数配置说明 本文使用的是淘宝买的一块带电容触摸的液晶显示屏&#xff1a;5寸TFT液晶显示屏高清800*480免驱40P通用RGBIPS全视角彩屏GT911 说实话&#xff0c;价格还是相对挺便宜的&#xff0c;值得入手&#xf…

LoRa和LoRaWAN详细介绍

目录 简介 1.LoRaWAN系统架构 2.LoRa射频技术有什么优缺点 3.LoRa和其他通讯方式对比 4.哪些场合和需求需要用到LoRaWAN 简介 LoRa技术是由Semtech公司开发&#xff0c;基于扩频频移键控&#xff08;CSS&#xff09;调制&#xff0c;这种调制技术可以实现在不同频率上发送…

2.SpringSecurity - 处理器简单说明

文章目录 SpringSecurity 返回json一、登录成功处理器1.1 统一响应类HttpResult1.2 登录成功处理器1.3 配置登录成功处理器1.4 登录 二、登录失败处理器2.1 登录失败处理器2.2 配置登录失败处理器2.3 登录 三、退出成功处理器3.1 退出成功处理器3.2 配置退出成功处理器3.3 退出…

list.set交换数据需要(or不需要)添加其他中间变量,两个例子告诉你

说明&#xff1a;set()方法是来修改指定位置的元素。 两个参数&#xff0c;第一个参数是要修改的元素的索引&#xff0c;第二个参数是要设置的新值。 案例一&#xff1a;当链表中传入的是字符串时&#xff1a; public static void main(String[] args) {List list new Linke…

关于W5500网卡使用过程的部分问题记录

某个项目中用到了W5500这种自带网络协议栈的网卡芯片&#xff0c;由于该项目开发时间很紧&#xff0c;就临时网上买了一些模块拼凑到了一套系统&#xff0c;经过验证果真这种拼积木的方法只能用在学生实验开发中&#xff0c;真不能拿来做工程应用&#xff0c;硬件太不稳定很容易…

openGauss学习笔记-101 openGauss 数据库管理-管理数据库安全-客户端接入之用SSH隧道进行安全的TCP/IP连接

文章目录 openGauss学习笔记-101 openGauss 数据库管理-管理数据库安全-客户端接入之用SSH隧道进行安全的TCP/IP连接101.1 背景信息101.2 前提条件101.3 操作步骤 openGauss学习笔记-101 openGauss 数据库管理-管理数据库安全-客户端接入之用SSH隧道进行安全的TCP/IP连接 101.…