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

news2024/12/23 10:22:09

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

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.coloradmin.cn/o/1106443.html

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

相关文章

6.(vue3.x+vite)路由传参query与params区别

前端技术社区总目录(订阅之前请先查看该博客) 效果截图 一:路由传参有两种方式:params与query params与query区别 1:param,路由带“/”,query带“?” 2:query传过来的参数会显示到地址栏中 而params传过来的参数可以显示参数或隐藏参数到地址栏中(vue-router 4.1.4不…

MSVCR80.DLL 丢失修复方法:完美解决你的问题!

MSVCR80.DLL 是 Microsoft Visual C Redistributable Package 中的一个动态链接库文件,它扮演着非常重要的角色。然而,当你在运行某些应用程序时,可能会遇到“MSVCR80.DLL 丢失”错误。这时候你就需要采取一些措施来解决这个问题了&#xff0…

待办任务清单app哪个软件好用?

手机成了我们生活的延伸,而对于繁忙的工作节奏,一款好用的任务提醒软件就如同一位贴心的助手,时刻提醒我们的待办任务。在众多软件中,敬业签是一款比较不错的记录待办任务清单的工具。 在手机上,打开敬业签&#xff0…

swagger gin 文档接口排序,写了一个小工具,自定义接口排序

起因没找到swagger 自定义接口排序 代码原理就是替换 swag init 生成的docs.go paths 部分 ,取到swagger.json paths 部分排序,正则匹配docs.go paths 部分,然后通过自定义排序,替换paths部分,这个根据自定义的需求来…

Stable Diffusion WebUI报错RuntimeError: Torch is not able to use GPU解决办法

新手在安装玩Stable Diffusion WebUI之后会遇到各种问题, 接下来会慢慢和你讲解如何解决这些问题。 在我们打开Stable Diffusion WebUI时会报错如下: RuntimeError: Torch is not able to use GPU;add --skip-torch-cuda-test to COMMANDL…

操作系统面试常问问题--保研及考研复试

前言: Hello大家好,我是Dream。今年保研上岸山东大学人工智能专业 (经验贴),现在将我自己的专业课备考知识点整理出来,分享给大家,希望可以帮助到大家!这是重点知识总结,…

基于Pix4D使用无人机光学影像制作正射影像(DOM)和数字表面模型(DSM) 操作步骤

基于Pix4D使用无人机光学影像制作正射影像(DOM)和数字表面模型(DSM) 操作步骤 0. 前言1.获取无人机光学影像2.DOM和DSM3.操作步骤3.1 初始界面3.2 新建项目3.3查看处理过程报告3.4查看处理进度和成果 4.在ArcMap中打开DSM和DOM 0.…

Linux高性能服务器编程——ch1笔记

第1章 TCP/IP 协议族 1.1 TCP/IP 协议族体系结构以及主要协议 数据链路层 网卡接口的网络驱动程序,以处理数据在物理媒介(比如以太网、令牌环等)上的传输。 协议:ARP、RARP,实现IP地址和机器物理地址之间的转换。 网络…

适用于小型企业的远程控制软件分享!

远程控制软件对小型企业的好处 远程控制软件允许用户从远程位置连接到计算机,然后访问和使用远程计算机上的资源。这对于需要为客户提供远程技术支持的企业来说,是一个非常重要的工具。 借助远程控制软件,小型企业人员在远程工…

同城代驾开源版小程序开发

同城代驾开源版小程序开发 功能特性描述: 定价模式:本系统支持灵活的计价模式,包括白天和夜晚的起步价、起步里程、每公里价以及超时费用,从而满足不同时段的定价需求。 实时路径计算:通过集成腾讯地图的软件开发工…

学习c#桌面应用编程 --- 我的第一个游戏

场景 我需要做一个c#桌面窗口软件,但是我曾经都是专职于java开发,但是java对windows并不是特别友好(awt除外),于是必须需要掌握c#桌面编程,所以我需要手动做一个小游戏,来学习c#的一些基本桌面应用的知识。 开始 这…

2023年底,软件测试行业的几大发展趋势,你关注到几个?

以下为作者的观点: 现在是2023年,技术继续快速发展;软件测试领域也在不断发展扩大。从功能到自动化,再到到人工智能,软件测试的未来看起来与过去截然不同。软件测试对于任何高质量、可靠软件的开发都是至关重要的。然…

算法刷题总结(全)

刷题总结 by lds 2023-9-5 文章目录 1.数组/字符串1.1 合并两个有序数组【easy】1.2 移除元素【easy】1.3 删除有序数组中的重复项【easy】1.4 删除有序数组中的重复项II【mid】1.5 多数元素【easy】1.6 大数相加---【美团面试手撕题目】1.7 轮转数组【mid】1.8 买卖股票的最佳…

嵌入式和 Java选哪个?

今日话题,嵌入式和 Java 走哪个?对于嵌入式领域有浓厚兴趣的人,并不会比Java行业薪资低,处于上中游水平。特别是从2020年开始,嵌入式领域受益于芯片产业的兴起,表现出了强劲的增长势头。薪资水平受多方面因素影响。以…

TCP/IP五元组

什么是五元组规则? 五元组是通信术语,英文名称为five-tuple,或5-tuple,五元组包括源IP地址(source IP)、源端口(source port)、目的IP地址(destination IP)、目的端口(destination port) 和 传输层协议(the layer 4 protocol)的五个量集合。…

尝试使用jmeter-maven-plugin

前提准备 1、maven项目 2、已安装JMeter、Jenkins、maven、jdk 环境要求: jmeter>5.6.2 maven >3.9 jdk>1.8 Jenkins ? 备注:jmeter-maven-plugin 无需下载,可查阅相关地址:GitHub - jmeter-maven-plugin/jmete…

CSS属性:定位属性+案例讲解:博雅互动 前端开发入门笔记(五)

CSS中的定位属性用于指定HTML元素在文档中的位置。常用的定位属性有以下几种: position:用于定义元素的定位方式。 static(默认值):元素遵循正常的文档流,不进行特殊的定位。relative:相对定位&…

2023年【起重机械指挥】考试题库及起重机械指挥证考试

题库来源:安全生产模拟考试一点通公众号小程序 起重机械指挥考试题库是安全生产模拟考试一点通总题库中生成的一套起重机械指挥证考试,安全生产模拟考试一点通上起重机械指挥作业手机同步练习。2023年【起重机械指挥】考试题库及起重机械指挥证考试 1、…

Python股票交易中的卡尔曼滤波器

卡尔曼滤波器 什么是卡尔曼滤波器? 鉴于测量结果会受到噪声的影响,卡尔曼滤波器 (KF) 算法可以恢复被跟踪的底层对象的真实状态。该算法有两个步骤:预测步骤和测量更新步骤。该滤波器结合了噪声传感器的测量结果和基于物理的模型的预测&…

山西电力市场日前价格预测【2023-10-19】

日前价格预测 预测说明: 如上图所示,预测明日(2023-10-19)山西电力市场全天平均日前电价为210.83元/MWh。其中,最高日前电价为337.00元/MWh,预计出现在18: 30。最低日前电价为0.00元/MWh,预计出…