开发者社区> 韩曙亮> 正文

【DBMS 数据库管理系统】多维数据模型 ( 星型模式 | 雪片模型 | 事实群模型 | 度量 | 分布型 | 代数型 | 整体型 )

简介: 【DBMS 数据库管理系统】多维数据模型 ( 星型模式 | 雪片模型 | 事实群模型 | 度量 | 分布型 | 代数型 | 整体型 )
+关注继续查看

文章目录

一、星型模式

二、星型模式 缺点

三、雪片模型

四、星型模型 雪片模型 折衷方案

五、事实群模型 ( 仅做了解 )

六、度量





一、星型模式


星型模式 是 多维数据模型 的表现形式 ;



星型模式 展示 : 中间有一个表 , 称为 事实表 , 周围有很多小表 , 这些表称为 维表 ;



以 “商品” 表为例 :


事实表 : 描述商品的 时间 , 位置 , 供应商 , 零售价 , 商品颜色 等信息 ;

维表 : 时间 对应的维表 包含 年 , 月 , 日 , 时 , 分 , 秒 等字段 ; 位置 维表有 国家 , 省份 , 地区 , 城市 , 街道 等字段信息 , 供应商 维表 有 公司名称 , 法人 , 税号 , 公司注册地点 等字段信息 ;

事实表中的 度量 : 上述 零售价 , 商品颜色 没有与维表关联 , 是度量 ;





二、星型模式 缺点


星型模式 缺点 :




1 . 星型模式 不支持 维 的层结构 ;


单一维表 : 每个 维 只有一个维表 , 所有的 维层属性 都放在一个表中 , 没有进行规范化 ;

单一维表 示例 : 以上述 “商品” 事实表的 时间 对应的维表 为例 , 将 年 , 月 , 日 , 时 , 分 , 秒 等字段放在同一个 维表 中 , 时间维 可以变成 多个维表 , 如只包含 年月日的维表 , 只包含 年 月 的维表 等 ;


2 . 数据冗余 :


数据冗余 : 每个 维表 都要表示所有的层 , 每个层有自己的属性 , 有很多数据冗余 ;

数据冗余 示例 : 上述 时间维表 中每个商品 , 都要存储完整的 年 , 月 , 日 , 时 , 分 , 秒 数据 , 实际上商品的 年 , 月 , 等数据 , 很多商品都是相同的 , 只记录一次即可 , 不同所有的商品都记录年月 信息 , 因此产生了大量的冗余数据 ;


3 . 不同维层属性名相同查询问题 :


不同维层 , 有相同的属性 , 只能使用 换名 方式进行查询 ;

不同维层 相同属性示例 : 如 商店 事实表中 , 城市 , 省份 , 国家 , 每个层级都有一个经理 Manager , 当 查询 Manager 属性时 , 直接将 城市经理 , 省份经理 , 国家经理 , 都查询出来了 , 无法查询单独一个级别的经理信息 ;





三、雪片模型


对于 维层次 复杂的维


为了 避免 冗余数据占用过多空间

为了 支持 不同维层 相同属性 查询

使用多个维表 描述复杂的维 , 这样在 星型模型 的 星的角上 , 出现了分支 , 类似于雪花形状 , 因此这种变种的 星型模型 称为 “雪片模型” ;



雪片模型示例 : 以 “商品” 表为例


事实表 : 描述商品的 时间 , 位置 , 供应商 , 零售价 , 商品颜色 等信息 ;

第一层维表 : 时间 对应的维表 包含 日 , 时 , 分 , 秒 等字段 ; 位置 维表有 城市 , 街道 等字段信息 , 供应商 维表 有 公司名称 , 法人 , 税号 , 公司注册地点 等字段信息 ;

第二层维表 : 时间表的第一层维表的 日 , 又使用 第二层维表表示 , 该维表中有 年 , 月 , 日 , 三个维度的信息 ; 地区表 的第一层维表的 城市 , 使用第二层维表 表示 , 该第二层维表有 国家 , 省份 , 城市 , 三个维度的信息表示 ;

事实表中的 度量 : 上述 零售价 , 商品颜色 没有与维表关联 , 是度量 ;

雪片模型 优缺点 :


雪片模型优点 : 雪片模型的维表是规范化的维表 , 雪片模型维表 易于维护 , 节省存储空间 ;

雪片模型缺点 : 雪片模型 查询时 , 需要 进行较多的连接操作 , 影响系统性能 ;


雪片模型 更好的 体现了 维层结构 ,


对于专业的数据库 建模 设计人员 , 更容易理解 , 分析 ;

- 对于 普通用户 来说 , 比较复杂 ;





四、星型模型 雪片模型 折衷方案


推荐采用一种 星型模型 和 雪片模型 折衷方案 , 将 星型模式 与 雪片模式 结合使用 ;


大维表节省空间 : 针对 大维表 , 规范化 , 节省存储空间 ;


小维表效率优先 : 对于 小维表 , 采用不规范化的形式 , 避免因为查询时 , 过多的表连接 , 引起性能降低 ;






五、事实群模型 ( 仅做了解 )


该模型 比 星型模式 , 雪片模型 更复杂 , 上述两个模型 , 只有一个事实表 , 但是 在事实群模型中 , 有多个事实表 , 两个事实表 , 可能公用一些维表 ;






六、度量


数据方体 中的度量 , 可以分为三种不同的类型 :


分布型

代数型

整体型


分布型 度量 :


特点 : 可以累加 ;

示例 : 求和 , 计数 , 求最小值 , 求最大值 ;


代数型 度量 :


特点 : 无法累计 ; 但是可以转换成 分布式 度量 ;

示例 : 求平均值 , 无法累加 , 但是可以转成 先求和 , 然后再计算平均值 的 分布性 度量 ;


整体型 度量 :


特点 : 必须有所有的值才能计算 , 无法累加 ;

示例 : 求中间值 , 求前 K KK 个最大值 , 排名 , 必须统计完整数据 , 才能计算出来 ;


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18472 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
24980 0
三个例子,让你看懂数据仓库多维数据模型的设计
一、概述   多维数据模型是最流行的数据仓库的数据模型,多维数据模型最典型的数据模式包括星型模式、雪花模式和事实星座模式,本文以实例方式展示三者的模式和区别。 二、星型模式(star schema)   星型模式的核心是一个大的中心表(事实表),一组小的附属表(维表)。
1037 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
20207 0
智能物流终端数据库模型
首先创建了一个数据库,然后创建了两个数据表。 create table goods(number integer,name varchar(100),re_name varchar(15),re_addr varchar(100),st_stati...
667 0
从实体和关系角度看 PowerDesigner 设计数据库模型
从实体和关系角度看 PowerDesigner 设计数据库模型 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1397 0
通过已有SQL语句,生成数据库模型PDM
  前提: 我用的是 PowerDesing15.1   步骤如下: 第一步:File->ReverseEnginner->Databases...   第二步:选择适用你SQL文件数据库类型,->点击“确定” 第三步:点击实用“Usingscript files:”选项,然后点击,选中你SQL文件所在位置,然后点击确定,等待所有OK
827 0
DBMS 数据库管理系统 DataBase Management System
将编程看作是一门艺术,而不单单是个技术。 敲打的英文字符是我的黑白琴键, 思维图纸画出的是我编写的五线谱。 当美妙的华章响起,现实通往二进制的大门即将被打开。
1423 0
+关注
韩曙亮
专注 Android 领域
2605
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载