【DBMS 数据库管理系统】多维数据模型 ( 星型模式 | 雪片模型 | 事实群模型 | 度量 | 分布型 | 代数型 | 整体型 )
文章目录
- 一、星型模式
- 二、星型模式 缺点
- 三、雪片模型
- 四、星型模型 雪片模型 折衷方案
- 五、事实群模型 ( 仅做了解 )
- 六、度量
一、星型模式
星型模式 是 多维数据模型 的表现形式 ;
星型模式 展示 : 中间有一个表 , 称为 事实表 , 周围有很多小表 , 这些表称为 维表 ;
以 “商品” 表为例 :
- 事实表 : 描述商品的 时间 , 位置 , 供应商 , 零售价 , 商品颜色 等信息 ;
- 维表 : 时间 对应的维表 包含 年 , 月 , 日 , 时 , 分 , 秒 等字段 ; 位置 维表有 国家 , 省份 , 地区 , 城市 , 街道 等字段信息 , 供应商 维表 有 公司名称 , 法人 , 税号 , 公司注册地点 等字段信息 ;
- 事实表中的 度量 : 上述 零售价 , 商品颜色 没有与维表关联 , 是度量 ;
二、星型模式 缺点
星型模式 缺点 :
1 . 星型模式 不支持 维 的层结构 ;
- 单一维表 : 每个 维 只有一个维表 , 所有的 维层属性 都放在一个表中 , 没有进行规范化 ;
- 单一维表 示例 : 以上述 “商品” 事实表的 时间 对应的维表 为例 , 将 年 , 月 , 日 , 时 , 分 , 秒 等字段放在同一个 维表 中 , 时间维 可以变成 多个维表 , 如只包含 年月日的维表 , 只包含 年 月 的维表 等 ;
2 . 数据冗余 :
- 数据冗余 : 每个 维表 都要表示所有的层 , 每个层有自己的属性 , 有很多数据冗余 ;
- 数据冗余 示例 : 上述 时间维表 中每个商品 , 都要存储完整的 年 , 月 , 日 , 时 , 分 , 秒 数据 , 实际上商品的 年 , 月 , 等数据 , 很多商品都是相同的 , 只记录一次即可 , 不同所有的商品都记录年月 信息 , 因此产生了大量的冗余数据 ;
3 . 不同维层属性名相同查询问题 :
- 不同维层 , 有相同的属性 , 只能使用 换名 方式进行查询 ;
- 不同维层 相同属性示例 : 如 商店 事实表中 , 城市 , 省份 , 国家 , 每个层级都有一个经理 Manager , 当 查询 Manager 属性时 , 直接将 城市经理 , 省份经理 , 国家经理 , 都查询出来了 , 无法查询单独一个级别的经理信息 ;
三、雪片模型
对于 维层次 复杂的维
- 为了 避免 冗余数据占用过多空间
- 为了 支持 不同维层 相同属性 查询
使用多个维表 描述复杂的维 , 这样在 星型模型 的 星的角上 , 出现了分支 , 类似于雪花形状 , 因此这种变种的 星型模型 称为 “雪片模型” ;
雪片模型示例 : 以 “商品” 表为例
- 事实表 : 描述商品的 时间 , 位置 , 供应商 , 零售价 , 商品颜色 等信息 ;
- 第一层维表 : 时间 对应的维表 包含 日 , 时 , 分 , 秒 等字段 ; 位置 维表有 城市 , 街道 等字段信息 , 供应商 维表 有 公司名称 , 法人 , 税号 , 公司注册地点 等字段信息 ;
- 第二层维表 : 时间表的第一层维表的 日 , 又使用 第二层维表表示 , 该维表中有 年 , 月 , 日 , 三个维度的信息 ; 地区表 的第一层维表的 城市 , 使用第二层维表 表示 , 该第二层维表有 国家 , 省份 , 城市 , 三个维度的信息表示 ;
- 事实表中的 度量 : 上述 零售价 , 商品颜色 没有与维表关联 , 是度量 ;
雪片模型 优缺点 :
- 雪片模型优点 : 雪片模型的维表是规范化的维表 , 雪片模型维表 易于维护 , 节省存储空间 ;
- 雪片模型缺点 : 雪片模型 查询时 , 需要 进行较多的连接操作 , 影响系统性能 ;
雪片模型 更好的 体现了 维层结构 ,
- 对于专业的数据库 建模 设计人员 , 更容易理解 , 分析 ;
- 对于 普通用户 来说 , 比较复杂 ;
四、星型模型 雪片模型 折衷方案
推荐采用一种 星型模型 和 雪片模型 折衷方案 , 将 星型模式 与 雪片模式 结合使用 ;
大维表节省空间 : 针对 大维表 , 规范化 , 节省存储空间 ;
小维表效率优先 : 对于 小维表 , 采用不规范化的形式 , 避免因为查询时 , 过多的表连接 , 引起性能降低 ;
五、事实群模型 ( 仅做了解 )
该模型 比 星型模式 , 雪片模型 更复杂 , 上述两个模型 , 只有一个事实表 , 但是 在事实群模型中 , 有多个事实表 , 两个事实表 , 可能公用一些维表 ;
六、度量
数据方体 中的度量 , 可以分为三种不同的类型 :
- 分布型
- 代数型
- 整体型
分布型 度量 :
- 特点 : 可以累加 ;
- 示例 : 求和 , 计数 , 求最小值 , 求最大值 ;
代数型 度量 :
- 特点 : 无法累计 ; 但是可以转换成 分布式 度量 ;
- 示例 : 求平均值 , 无法累加 , 但是可以转成 先求和 , 然后再计算平均值 的 分布性 度量 ;
整体型 度量 :
- 特点 : 必须有所有的值才能计算 , 无法累加 ;
- 示例 : 求中间值 , 求前 KKK 个最大值 , 排名 , 必须统计完整数据 , 才能计算出来 ;
【DBMS 数据库管理系统】多维数据模型 ( 星型模式 | 雪片模型 | 事实群模型 | 度量 | 分布型 | 代数型 | 整体型 )相关推荐
- 图文详解 DBMS 数据库管理系统三层架构体系(三级模式)《ClickHouse 实战:企业级大数据分析引擎》...
引文 计算机科学领域的所有问题,都可以通过添加一层中间层来解决.通过在用户和计算机中间添加一层逻辑层(概念模型层),于是就有了"数据库的三级模式":数据库在三个级别 (层次)上进行 ...
- DBMS 数据库管理系统的三级模式架构《ClickHouse 实战:企业级大数据分析引擎》...
引文 计算机科学领域的所有问题,都可以通过添加一层中间层来解决.通过在用户和计算机中间添加一层逻辑层(概念模型层),于是就有了"数据库的三级模式":数据库在三个级别 (层次)上进行 ...
- dbms数据库管理系统_数据库管理系统dbms
dbms数据库管理系统 A database is an organized collection of data, generally stored and accessed electronica ...
- 【DBMS 数据库管理系统】数据仓库特征 ( 特征一 : 面向主题组织数据 | 特征二 : 数据集成 | 特征三 : 数据不可更新 | 特征四 : 随时间不断变化 )
文章目录 一.特征一 : 面向主题 数据组织方式 二.特征二 : 数据集成 三.特征三 : 数据不可更新 四.特征四 : 数据仓库中的数据 随时间不断变化 一.特征一 : 面向主题 数据组织方式 主题 ...
- dbms数据库管理系统_基本数据库管理系统(DBMS)能力问题和解答
dbms数据库管理系统 This section contains the aptitude questions and answers on basic concepts of DBMS. You ...
- dbms数据库管理系统_DBMS中的数据库语言
dbms数据库管理系统 DBMS数据库语言 (DBMS Database languages ) Database languages are the languages that provide t ...
- dbms数据库管理系统_数据库管理系统(DBMS)中的视图
dbms数据库管理系统 DBMS College professor once realized that students feel sad when they see their friend's ...
- 【DBMS 数据库管理系统】OLAP 核心技术 : 多维数据模型 ( 多维数据模型 | 维 | 维成员 | 维层 | 维层次 | 维属性 | 度量 )
文章目录 一.OLAP 核心技术 二.OLAP 多维数据模型 三.OLAP 多维数据模型 核心概念 四.维 五.维成员 六.维层 七.维层次 八.维属性 九.度量 一.OLAP 核心技术 OLAP 核 ...
- 【DBMS 数据库管理系统】数据仓库 数据组织 ( 数据组织级别 | 元数据 | 粒度 | 分割 | 数据组织形式 )
文章目录 一.数据仓库中的 数据组织级别 二.数据仓库中的 元数据 三.粒度 ( 根据 数据综合程度 划分粒度 ) 四.粒度 ( 根据 样本采样率 划分粒度 ) 五.分割 六.数据仓库组织形式 一.数 ...
最新文章
- SpringIOCAOP
- 并发的发展历史-集成电路和多道程序设计
- A. Gamer Hemose
- 以太坊合约24小时新增2.44万ETH
- DevSecOps 现状:云 IT 的复杂度制造了“无法改变的”安全问题
- cefsharp.core.dll找不到指定模块_DeepFaceLab错误:DLL Load failed 找不到指定模块!
- 贾俊平《统计学基于R》(第三版)第八章方差分析习题答案
- 多省市区“十四五”规划布局交通新基建
- 怎么用wps抽签_如何使用wps表格进行分班
- CAD中打开CAD图纸看不到内容怎么办?
- MATLAB中wcp什么意思,WCP是什么意思
- 不要成为反DDoS攻击的局外人
- 循环语句:for 语句详解
- cuda8.0+ubuntu14.04+GTX970驱动 安装
- 内存分配器(Memory Allocator)
- 明解C语言(入门)——初识C语言
- 半钧先生:《心灵奇旅》这口干瘪虚弱的鸡汤,我不喝!
- 人人商城快速购买显示售罄图标
- NAS4Free 配置BT下载
- ZYNQ学习笔记_GPIO之输入输出
热门文章
- 【转载】Hyperledger学习小结
- No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, VALID_ARCHS=armv7 armv7s)
- [SSH] Eclipse+Struts+Hibernate的简单应用
- 自学python系列10:python的函数和函数式编程
- ArcGis For Flex 之 QueryTask地理坐标展现【原创】
- VC#打包部署全攻略之(一、添加卸载程序)
- Vue-员工管理系统
- 查询每日规定时间段内的记录
- 【java】itoo项目实战之hibernate 懒载入优化性能
- sort uniq命令