数据治理-数据建模和设计
定义
发现、分析和确定数据需求的过程,用一种称为数据模型的精确形式表示和传递这些数据需求。过程是循环迭代的,可能包括概念、逻辑和物理模型。
常见的6种数据模型
关系模式、多维模式、面向对象模式、事实模式、时间序列模式、NoSQL模式。根据描述详细程度不同,可分为:概念模型、逻辑模型、物理模型。
业务驱动因素
- 提供有关数据的通用词汇表;
- 获取、记录组织内数据和系统的详细信息;
- 在项目中作为主要的交流沟通工具;
- 提供了应用定制、整合,甚至替换的起点。
数据建模和设计的目标
确认并记录不同视角对数据需求的理解,确保应用程序更符合当前和未来的业务需求,为更多数据应用和数据管理奠定基础,例如主数据管理和数据治理项目。
数据建模和设计活动
- 规划数据建模;
- 建立数据模型(创建概念、逻辑、物理模型);
- 审核数据模型;
- 维护数据模型。
输入
现有的数据模型和数据库;数据标准;数据集;初始数据需求;原始数据需求;数据架构;企业分类法;
交付成果
概念、逻辑、物理数据模型
方法
命名规范,数据库设计规范,数据库类型选择;
工具
数据建模工具、数据血缘工具、数据分析工具、元数据资料库、数据模型模式(基本模式、套件模式、整合模式)、行业数据模型。
度量指标
数据模型校验指标
不同视角理解数据有助于
- 格式化。简洁定义,规范结构,防止异常;
- 范围定义。帮助解释数据上下文的边界;
- 知识保留记录。为未来提供原始记录,助于更好理解组织等,助于理解变更带来的影响,可被重复利用,帮助了解环境中的数据结构,建模师帮助他人理解信息蓝图。
建模的数据类型
类别信息
对事物分类或分配事物类型的数据,如颜色、型号;
资源信息
实施操作流程所需的基本数据,如产品、客户。资源实体有时被称为参考数据;
业务事件信息
在操作过程中创建的数据,如客户订单。事件实体有时被认为交易型业务数据;
详细交易信息
通过销售系统,传感器生成,用于分析趋势。
此4类为静态数据,部分动态数据也可建模,如系统的方案。
数据模型组件
实体、关系、属性、域
实体
在数据建模之外,有别于其他事物的一个事物。大多数数据模型都包含基本相同的组件:实体、关系、属性和域;在数据建模里,实体是一个组织收集信息的载体,名词:谁、什么、何时、何地、为什么、怎么办、度量,一般使用矩形表示,矩形中间是实体名词。实体实例是特定实体的具体化或取值。实体别名因模型类型不同而不同。关系模型用“实体”,维度模型用“维度”和“事实表”,面向对象类型用“类”和“对象”,基本时间模型用“中心”、“卫星”、“链接”,关系型用“文件”、“节点”。实体别名在概念模型中成为“概念”、“术语”。逻辑模型中称为“实体”。物理模型中称为“表”。实体的定义属于核心元数据,高质量的数据定义具有清晰、准确、完整三个特征。
关系
关系是实体之间的关联,关系捕获概念实体之间的高级别交互、逻辑实体之间的详细交互、物理实体之间的约束。关系在维度模型中使用“导航路径”,在NoSQL中使用“边界”、“链接”。在概念和逻辑级别上用“关系”,在物理模型上使用“约束”、“引用”。关系在数建模图上表现为线条。
关系的基数
表明一个实体和其他实体参与建立关系的数量,有0,1,多;
关系的元数
关系中涉及实体的数目,有一元关系、二元关系、三元关系。一元关系:递归关系、自我引用关系;一对多:层级关系;多对多:网络关系或图表;二元关系:涉及两个实体的关系;三元关系:涉及三个实体的关系。
外键
在物理模型建模中表示关系
属性
定义、描述或度量实体某个方面的性质。属性可能包含域。属性在图中是在实体矩形内用列表描述。实体中属性的物理表现为表、视图、文档、图形或文件中的列、字段、标记或节点等。
标识符
是唯一标识实体实例的一个或多个属性的集合。可按键结构分为单一键、组合键、复合键、代理键;按照功能分为候选键、主键、备用键。
键的结构类型
单一键:唯一标识实体实例的一个属性;代理键:也是单一键,表的唯一标识符,通常是一个计数器,由系统自动生成,一个整数,含义与数值无关,技术性,不应对用户可见。组合键:一组或两个多个属性组成的集合,一起达到唯一标识一个实体实例;复合键:包含一个组织键和至少一个其他单一键,组合键或非键属性。
键的功能类型
超键:唯一标识实体实例的任何属性集;候选键:标识实体实例的最小属性集合,可能包含一个或多个属性,最小意味着候选键的任意子集都无法唯一标识实体实例。一个实体实例可以有多个候选键。候选键可以是业务键。业务键:业务专业人员用于检索、单个实体实例的一个或多个属性。业务键和代理键是互斥关系。主键:被选择为实体唯一标识符的候选键,备用键:是一个候选键,虽唯一,但没有被选为主键,可用于查找特定实体实例。
独立实体
其主键仅包含只属于该实体的属性,用矩形符号表示。非独立实体指其主键于少包含一个其他实体的属性,至少含有一个表示关系用圆角矩形表示。
域
某一属性可被赋予的全部可能取值。提供一种将属性特征标准化的方法。域中的所有值都为有效的值,不在域中的值被称为无效的值。属性不应当含有其制定的域意外的值。可以附加的规则对域进行限制,限制规则称为约束。域可以使用多种不同的方式定义。如:数据类型、数据格式、列表、范围、基于规则。
常见的6种建模方法有:关系建模、维度建模、面向对象建模、基于事实建模、基于时间建模和非关系型建模。三层模型仅适用于关系型数据库,而概念模型和逻辑型模型可适用于其他数据库。基于事实的建模方法与此类似。对于维度建模方法,三层模型仅适用于关系型数据库和多维数据库。面向对象的建模方法仅适用于关系型数据库和对象数据库。基于时间的建模方法属于物理数据建模技术,主要用于关系型数据库环境的数据仓库。NoSQL方法严重依赖于底层数据库结构(文档、列、图、键值),因此也属于物理数据建模技术。
关系模型设计的目的是精确的表达业务数据,消除冗余。包括信息工程法、信息建模的集成定义IDEF1X、巴克表示法和陈氏表示法,常见的信息工程法,采用三叉线(鸭掌模型)来表示基数;
维度建模为了优化海量数据的查询和分析。使用轴表示法Axis Notation来建模。此模型中实体之间的连线表示用于说明业务问题的导航路径。
事实表:事实表中的行对应特定的数值型度量值,如金额,事实表占据了数据中大部分空间。
维度表:表示业务的重要对象,主要留住文字描述,维度是事实表的入口点和链接,充当查询或报表约束的主要来源。高速反范式的。占总数的10%左右,各个维度在每一行都有一个唯一的标识符,主要是代理键和自然键,维度也有些属性,渐变类的维度根据变化的速率和类型来管理变化,主要变化有覆盖,新行,新列。
雪花模型:将星型模型中的平面、单表、维度结构规范为相应的组件层次结构或网络结构。
粒度:事实表中当行数据的含义或描述,是每行都有的详细信息,关键步骤之一;
一致性维度:基于整个组织,一致性事实:使用跨多个数据集市的标准化术语;
UML:统一建模语言;
基于事实的建模:对象角色建模ORM,ORM2,完全面向通信的建模FCO-IM;
数据拱顶:是一组支持一个或多个业务功能领域,面向细节、基于时间且唯一链接的规范化表,数据拱顶是一种混合方式。综合了第三范式和星型模型的优点;数据拱顶模型专门为满足企业数据仓库的需求而设计的。有3种类型的实体:中心表、链接表、卫星表。设计的重点是业务的功能领域,中心表代表业务主键,链接表定义了中心表之间的事务集成,卫星表定义了中心表主键的语境信息。
锚建模:适合信息结构和内容随时间发生变化的情况。提供用于概念建模的图形语言,能扩展处理临时数据 ,它有锚、属性、连接、节点四个基本建模概念,锚模拟的是实体和事件,属性模型锚的特征,连接表示了锚之间的关系,节点模拟共享的属性。
非关系型数据库:1.文档数据库;2.键值数据库;3.列数据库;4.图数据库。
数据模型级别:1.概念模型,企业的真实世界视图,代表企业当前的最佳模式或经营方式;2.外模式;3.内模式,数据的机器视图。
概念数据模型CDM:用一系列相关主题域的集合来描述概要数据需求。概念数据模型仅包括给定的领域和职能中基础和关键的业务实体,同时也给出实体与实体之间关系的描述。
逻辑数据模型LDM:对数据需求的详细描述,通常用于支持特定用法的语境中(如应用需求)。不受任何技术或特定实施条件。在关系逻辑数据模型中,通过添加属性来扩展。属性通过规范化技术被分配给实体,每个属性和它所在实体的主键之间都有非常强的关系。在很多情况下,维度型逻辑数据模型是维度型概念数据模型的完全属性透视图。关系型逻辑数据模型捕获业务流程的规则,而维度型逻辑数据模型捕获业务问题以确定业务流程的运行状况和性能。
物理数据模型PDM:描述一种详细的技术解决方案,通常以逻辑模型为基础,与某一类硬件、软件和网络工具相匹配,与特定的技术有关。
- 规范模型;物理模型的一个变种,用于描述系统之间的数据移动。该模型描述了在系统之间作为数据报或消息传递的数据结构。通常以实现重用和简化接口需求;
- 视图,虚拟表,提供了一种从多张包含或引用实际属性的表中查看数据的方法;
- 分区,拆分表的过程,执行分区是为了方便存档和提高检索性能。分区可以是垂直或水平;
- 逆规范化。
逆规范化:将符合范式规则的逻辑数据模型经过慎重考虑后,转换成一些带冗余数据的物理表,逆规范化处理由于存在数据冗余而引入了产生数据错误的风险。一般逆规范化只会提高数据库查询性能或提升用户安全操作。原因:1.提前组合来自多个其他表的数据,以避免代价高昂的运行时连接;2.创建更小的,预先过滤的数据副本,以减少昂贵的运行时计算和/或大型表的扫描;3.预先计算和存储昂贵的数据计算结果,以避免运行时系统资源竞争。在维度建模中,常成为折叠、合并。
如果每个维度都被折叠为一个结构,生成的数据模型称为星型模型;如果维度没有被折叠,则生成的模型为雪花模型。
规范化:是运用规则将复杂的业务转化为规范的数据结构的过程。目标是保证每个属性只在一个位置出现,以消除冗余或冗余导致的不一致性。规范化规则根据主键和外键整理属性。规范化规则可归类到不同规范层次,对每一个层次可应用更细的方式和规范性来搜索正确的主键和外键。每个级别由一个独立的范式组成,并且每个相继级别不需要包含以前的级别。通常要求达到第三范式即可。
第一范式:每个实体都有一个有效的主键,每个属性都依赖于主键;
第二范式:每个实体都有最小的主键,每个属性都依赖于完整的主键;
第三范式:每一实体都没有隐藏的主键,属性都不依赖于键值外的任何属性(仅依赖于完整的主键),模型的规范化通常要求达到第三范式;
建模活动:
- 规划数据建模;交付物有图表、定义、争议和悬而未决的问题、血缘关系;
- 建立数据建模:正向工程,逆向工程,数据建模是一个不断迭代的过程;
- 审核数据模型;
- 维护数据模型;
相关文章:
数据治理-数据建模和设计
定义 发现、分析和确定数据需求的过程,用一种称为数据模型的精确形式表示和传递这些数据需求。过程是循环迭代的,可能包括概念、逻辑和物理模型。 常见的6种数据模型 关系模式、多维模式、面向对象模式、事实模式、时间序列模式、NoSQL模式。根据描述详…...
博客系统(升级(Spring))(四)(完)基本功能(阅读,修改,添加,删除文章)(附带项目)
博客系统 (三) 博客系统博客主页前端后端个人博客前端后端显示个人文章删除文章 修改文章前端后端提取文章修改文章 显示正文内容前端后端文章阅读量功能 添加文章前端后端 如何使用Redis项目地点: 博客系统 博客系统是干什么的? CSDN就是一…...
常用的辅助类(必会)
1.CountDownLatch package com.kuang.add;import java.util.concurrent.CountDownLatch;//计数器 减法 public class CountDownLatchDemo {public static void main(String[] args) throws InterruptedException {//总数是6,必须要执行任务的时候,再使用…...
Java常用类之 String、StringBuffer、StringBuilder
Java常用类 文章目录 一、字符串相关的类1.1、String的 不可变性1.2、String不同实例化方式的对比1.3、String不同拼接操作的对比1.4、String的常用方法1.5、String类与其他结构之间的转换1.5.1、String 与基本数据类型、包装类之间的转换1.5.2、String 与char[]的转换1.5.3、…...
linux在所有文件中查找某一个字符串
linux在所有文件中查找某一个字符串 有时候我们需要在大量文件中查找某一个字符串,手工一个一个打开文件查找非常耗时,我们可以使用 find 和 xargs 两个命令来实现查找指定字符串。 命令详解 find <directory> -type f -name "*.c" |…...
WebSocket vs SSE: 实时数据推送到前端的选择与实现(详细)
Websocket和Server-Sent Events 对比推送数据给前端及各自的实现 二者对比WebSocket:Server-Sent Events (SSE):选择 WebSocket 还是 SSE: Websocket 实现使用原生 WebSocket API:使用 Netty 创建 WebSocket:总结和选择…...
Redis从入门到精通(二:数据类型)
数据存储类型介绍 Redis 数据类型(5种常用) string hash list set sorted_set/zset(应用性较低) redis 数据存储格式 redis 自身是一个 Map,其中所有的数据都是采用 key : value 的形式存储 数据类型指的是存储的数据…...
基于SSM的珠宝首饰交易平台
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
4款视频号数据分析平台!
很多人在做视频号的时候就会有创作参考的需求,那么你们知道视频号中有哪些数据平台?今天就和大家来分享一下 接下来就总结一下视频号数据平台有哪些?排名不分前后。 1:视频号助手(channels.weixin.qq.com)…...
【系统架构】什么是集群?为什么要使用集群架构?
什么是集群?为什么要使用集群架构? 1.什么是集群?2.为什么要使用集群?2.1 高性能2.2 价格有效性2.3 可伸缩性2.4 高可用性2.5 透明性2.6 可管理性2.7 可编程性 3.集群的常见分类3.1 负载均衡集群3.2 高可用性集群3.3 高性能计算集…...
Java手写拓扑排序和拓扑排序应用拓展案例
Java手写拓扑排序和拓扑排序应用拓展案例 1. 算法思维导图 #mermaid-svg-o8KpEXzxukfDM8c9 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-o8KpEXzxukfDM8c9 .error-icon{fill:#552222;}#mermaid-svg-o8KpEXzxukfD…...
练习:使用servlet显示试卷页面
试卷页面代码 在浏览器输入如下地址: http://localhost/examPageServlet 效果如下:...
视频监控系统/视频云存储EasyCVR接入国标GB28181设备无法播放设备录像,是什么原因?
安防视频监控平台EasyCVR支持将部署在监控现场的前端设备进行统一集中接入,可兼容多协议、多类型设备,管理员可选择任意一路或多路视频实时观看,视频画面支持单画面、多画面显示,视频窗口数量有1、4、9、16个可选,还能…...
四叶草clover配置工具:Clover Configurator for Mac
Clover Configurator是一款Mac上的工具,用于配置和优化Clover引导加载器。Clover引导加载器是一种用于启动macOS的开源引导加载器。它允许用户在启动时选择操作系统和配置启动选项。 Clover Configurator提供了一个可视化的界面,让用户可以轻松地编辑和…...
计算机网络第四章——网络层(中)
提示:待到山花烂漫时,她在丛中笑。 文章目录 需要加头加尾,其中头部最重要的就是加了IP地址和MAC地址(也就是逻辑地址和物理地址)集线器物理层设备,交换机是物理链路层的设备,如上图路由器左边就…...
时序分解 | MATLAB实现基于小波分解信号分解分量可视化
时序分解 | MATLAB实现基于小波分解信号分解分量可视化 目录 时序分解 | MATLAB实现基于小波分解信号分解分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于小波分解的分量可视化,MATLAB编程程序,用于将信号分解成不同尺度和频率的子信…...
VMware虚拟化环境搭建
虚拟化环境搭建 1. 什么是虚拟化环境?未来工作中在何处使用? 在网络安全中,虚拟化环境是一种技术,它将一个物理计算机系统划分成多个独立、可管理的虚拟环境。这种虚拟环境技术允许多个完全不同的操作系统、显示装置和软件在同一…...
Jenkins :添加node权限获取凭据、执行命令
拥有Jenkins agent权限的账号可以对node节点进行操作,通过添加不同的node可以让流水线项目在不同的节点上运行,安装Jenkins的主机默认作为master节点。 1.Jenkins 添加node获取明文凭据 通过添加node节点,本地监听ssh认证,选则凭…...
如何实现不同MongoDB实例间的数据复制?
作为一种Schema Free文档数据库,MongoDB因其灵活的数据模型,支撑业务快速迭代研发,广受开发者欢迎并被广泛使用。在企业使用MongoDB承载应用的过程中,会因为业务上云/跨云/下云/跨机房迁移/跨地域迁移、或数据库版本升级、数据库整…...
微服务保护-隔离
个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…...
报错:appium AttributeError: ‘NoneType‘ object has no attribute ‘to_capabilities‘
报错如下 Traceback (most recent call last):File "C:\Users\wlb\Desktop\test\python\2.py", line 16, in <module>driver webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)File "D:\software\python3\lib\site-packages\appium\we…...
MFC - 一文带你从小白到项目应用(全套1)
文章篇幅可能会比较长,从入门到基本能上项目的全部内容。建议观看的过程中,用电脑跟着学习案例。 持续输出优质文章是作者的追求,因为热爱,所以热爱。 最近看动漫被一句鸡汤感动到了,也送给各位朋友: 只要有…...
(2596. 检查骑士巡视方案leetcode,经典深搜)-------------------Java实现
(2596. 检查骑士巡视方案leetcode,经典深搜)-------------------Java实现 题目表述 骑士在一张 n x n 的棋盘上巡视。在 有效 的巡视方案中,骑士会从棋盘的 左上角 出发,并且访问棋盘上的每个格子 恰好一次 。 给你一个 n x n …...
Docker 部署 Bitwarden RS 服务
Bitwarden RS 服务是官方 Bitwarden server API 的 Rust 重构版。因为 Bitwarden RS 必须要通过 https 才能访问, 所以在开始下面的步骤之前, 建议先参考 《Ubuntu Nginx 配置 SSL 证书》 配置好域名和 https 访问。 部署 Bitwarden RS 拉取最新版本的 docker.io/vaultwarden…...
python与mongodb交互-->pymongo
from pymongo import MongoClient# 创建数据库连接对象 client=MongoClient(ip,27017)# 选择一个数据库 db=client[admin]db.authenticate(python,python)# 选择一个集合 col=client[pydata][test]col.insert({"class":"python"})col.find() for data in c…...
【网络】计算机网络基础
Linux网络 对网络的理解 在网络传输中存在的问题: 找到我们所需要传输的主机解决远距离数据传输丢失的问题怎么进行数据转发,路径选择的问题 有问题,就有解决方案; 我们把相同性质的问题放在一起,做出解决方案 解…...
(1)输入输出函数:cin和cout(2)数学函数:sqrt、pow、sin、cos、tan等
输入输出函数:cin 和 cout 在C编程语言中,为了与用户进行交互和显示程序的结果,我们使用了两个非常重要的函数:cin 和 cout。这两个函数分别用于输入和输出。 cin是C中的标准输入流对象,它用于从键盘接收用户的输入。…...
ArmSom-W3开发板之PCIE的开发指南(一)
1. 简介 RK3588从入门到精通本⽂介绍RK平台配置pcie的方法开发板:ArmSoM-W3 2、PCIE接口概述 PCIe(Peripheral Component Interconnect Express)是一种用于连接计算机内部组件的高速接口标准。以下是关于PCIe接口的简要介绍: …...
Android 13.0 framework修改AlertDialog对话框的button样式
1.概述 在13.0系统产品开发中 在AlertDialog 系统对话框原生的确定和取消 两个button 按钮中,由于产品觉得字体默认颜色的不太好看,由于产品的需求修改button字体的颜色,所以需要找到AlertDialog的字体样式然后修改就可以了 2.framework修改AlertDialog 对话框的button样式…...
如何使用ArcGIS Pro提取河网水系
DEM数据除了可以看三维地图和生成等高线之外,还可以用于水文分析,这里给大家介绍一下如何使用ArcGIS Pro通过水文分析提取河网水系,希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的DEM数据,除了DEM数据&a…...
网站建设运营费用包括哪些/网络营销好找工作吗
阅读本文大概需要 3.5 分钟。 本篇是设计模式系列的开篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统。 所以现在打算重写,加上距离现在也有一段时间了,也算…...
自做装逼头像网站/关键词推广优化app
TCP主动关闭连接 appl: close(), --> FIN FIN_WAIT_1 //主动关闭socket方,调用close关闭socket,发FIN <-- ACK FIN_WAIT_2 //对方操作系统的TCP层,给ACK响应。然后给FIN <-- FIN …...
做网站需要多少钱呢/迅雷bt磁力链 最好用的搜索引擎
前端应用在不断壮大的过程中,内部模块间的依赖可能也会随之越来越复杂,模块间的 低复用性 导致应用 难以维护,不过我们可以借助计算机领域的一些优秀的编程理念来一定程度上解决这些问题,接下来要讲述的 IoC 就是其中之一。什么是…...
宠物网站素材/文案发布平台
提问嘉宾: 盛国军,上海麦考林信息科技有限公司首席架构师。曾历任8848软件架构师、光芒国际磊客中国技术总监。具有10年互联网和电子商务开发经验,5年软件架构师经验,3年两千万美金投资的大型网站技术总监管理经验。 回答嘉宾&…...
计算机企业网站建设论文/广州网站seo推广
给你一个非空的字符串 s 和一个整数 k ,你要将这个字符串 s 中的字母进行重新排列,使得重排后的字符串中相同字母的位置间隔距离 至少 为 k 。如果无法做到,请返回一个空字符串 ""。…...
如何自己做个简单网站/浙江网络推广
原因:遇到三个swiper互相嵌套,大swiper包含一个水平一个垂直方向的小swiper 两个swiper互相影响,水平swiper向下滚动变成垂直swiper中间出现很大空白页的 1.第一是想设定水平swiper高度,但我大swiper没设置自动高度,也…...