1. 数据立方体与OLAP

1.1 数据仓库和OLAP的基本内容
数据仓库和OLAP工具基于多维数据模型,这种模型将数据看做数据立方体形式。

  • 一种多维数据模型
  • 多维数据模型的模式
  • 维:概念分层的作用
  • 度量的分类和计算
  • 典型的OLAP操作

2 一种多维数据模型

2.1 数据立方体

  • 数据立方体允许以多维对数据建模和观察,它由维和事实定义。
  • 维是一个单位想要记录的透视或实体。
  • 每个维都可以有一个与之相关联的表,该表称为维表,它进一步描述维。
  • 通常,多维数据模型围绕注入销售这样的中心主题组织,主题用事实表表示,事实是数值度量的。
  • 存放最低层汇总的方体称作基本方体(base cuboid),0-D方体存放最高层的汇总,称为顶点方体(apex cuboid),顶点方体通常用all标记。

2.2 数据仓库存储数据的方式

  • 数据仓库存储采用多维数据模型,数据一般是数值类型。
  • 数据立方体是n维的,为了更直观的理解数据立方体和多维数据模型,我们考察3-D数据立方体。

3 多维数据模式

3.1 星形模型

  • 星形模型是由“事实表”以及多个“维表”所组成,它是最常见的模型。
  • “事实表”中存放大量关于企业的事实数据,包含大批数据的但没有冗余的中心表。

3.2 雪花模型

  • 雪花模型对星形模型的维表进一步层次化,原来的各为表为了减少冗余,进一步分解,形成一些局部的“层次”区域。
  • 在上面星形模型的数据中,对“产品表”、“日期表”、“地区表”进行扩展形成雪花模型。

3.3 星网(座)模型

  • 星网模型是将多个星形模型连接起来的网状结构。多个星型模型通过相同的维。如时间维,连接多个事实表

4 概念分层的作用

4.1 概念分层的定义

  • 概念分层定义一个映射序列,将低层概念集映射到较高层、更一般的概念。
  • 形成数据库模式中属性的全序或偏序的概念分层称做模式分层。

5 度量和分类计算

  • 数据立方体空间的多维点可以用维-值对的集合来定义。
  • 数据立方体度量(measure)是一个数值函数,该函数可以对数据立方体空间的每个点求值。
  • 度量根据所用的聚集函数可以分为三类:分布的、代数的和整体的。
  • 分布式的:如果将数据划分为n个集合,将函数用于每一部分,得到n个聚集值。如果将函数用于n个聚集值得到的结果与将函数用于整个数据集得到的结果一样,这该函数可以用分布方式计算。
  • 代数的:一个聚集函数如果能用一个具有M个参数的代数函数计算,而每个参数都可以用一个分布聚集函数求得,则它是代数的。
  • 整体的:一个聚集函数如果描述它的子聚集所需的存储没有一个常数界,则它是整体的。也就是不存在一个具有M个参数的代数函数进行这一计算。

6 典型的OLAP操作

  • 上卷(roll-up):上卷操作(也称为上钻(drill-up)操作)通过沿一个维的概念分层向上攀升或者通过维归约在数据立方体上进行聚集。
  • 下钻(drill-down):下钻是上卷的逆操作,它由不太详细的数据到更详细的数据。下钻可以通过沿维的概念分层向下或引入附加的维来实现。
  • 切片和切块:
  • 切片(slice)操作在给定的立方体的一个维上进行选择,导致一个子立方体。
  • **切块(dice)**操作通过在两个或多个维上进行选择,定义子立方体。
  • 转轴(pivot):转轴(又称旋转(rotate))是一种目视操作,它转动数据的视角,提供数据的替代表示。

7 总结

数据立方体与OLAP

  • 数据仓库和OLAP工具基于多维数据模型,这种模型将数据看做数据立方体形式。
  • 一种多维数据模型:数据立方体
  • 多维数据模型的模式:星形模型、雪花模型、星网模型
  • 维:概念分层的作用:将低层概念集映射到较高层、更一般的概念。
  • 度量的分类和计算:据立方体空间的多维点可以用维-值对的集合来定义
  • 典型的OLAP操作:上卷、下钻、切片、切块和转轴
    模型、星网模型
  • 维:概念分层的作用:将低层概念集映射到较高层、更一般的概念。
  • 度量的分类和计算:据立方体空间的多维点可以用维-值对的集合来定义
  • 典型的OLAP操作:上卷、下钻、切片、切块和转轴

三十四、数据仓库的建模相关推荐

  1. Python编程基础:第三十四节 文件移动Move a File

    第三十四节 文件移动Move a File 前言 实践 前言 当我们需要将一个文件/文件夹移动到另一个指定路径时,就需要用到shutil.move()函数,该函数需要指定两个参数shutil.move ...

  2. 三十四、深入Java中的泛型(上篇)

    @Author:Runsen @Date:2019年10月22日 19:39:21 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件 ...

  3. [Python人工智能] 三十四.Bert模型 (3)keras-bert库构建Bert模型实现微博情感分析

    从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章开启了新的内容--Bert,首先介绍Keras-bert库安装及基础用法及文本分类工作.这篇文章将通过keras- ...

  4. FreeSql (三十四)CodeFirst 迁移说明

    FreeSql 支持 CodeFirst 迁移结构至数据库,这应该是(O/RM)必须标配的一个功能. 与其他(O/RM)不同FreeSql支持更多的数据库特性,而不只是支持基础的数据类型,这既是优点也 ...

  5. c语言三级上机题库,2006年9月全国等级考试三级c语言上机题库(三十四)

    ★☆题目34(无忧id 73,102 素数题) 无忧id 102 题提供了求素数isPrime()函数 程序prog1.c的功能是:选出100以上1000之内所有个位数字与十位数字之和被10除所得余数 ...

  6. 第三十四章 批量印刷书籍

    第三十四章 批量印刷书籍 "不,这次是要必须跪下去的,因为这是对您的敬重,你竟然能够制作出来如此锋利的宝剑,那么我这个长安城的第一铁匠就当的有些太无能了." "哪里无能, ...

  7. 回溯法采用的搜索策略_强化学习基础篇(三十四)基于模拟的搜索算法

    强化学习基础篇(三十四)基于模拟的搜索算法 上一篇Dyna算法是基于真实经验数据和模拟经验数据来解决马尔科夫决策过程的问题.本篇将结合前向搜索和采样法,构建更加高效的搜索规划算法,即基于模拟的搜索算法 ...

  8. 【零基础学Java】—Calendar类(三十四)

    [零基础学Java]-Calendar类(三十四) java.util.Calendar日历类 Calendar类是一个抽象类,里面提供了很多操作日历字段的方法 Calendar类无法直接创建对象,里 ...

  9. JavaScript学习(三十四)—事件委托

    JavaScript学习(三十四)-事件委托 (一).什么是事件委托? 所谓的事件委托就是指将事件添加到祖先元素身上,依据事件冒泡的原理(就是指事件的执行顺序是从当前元素逐步扩展到祖先元素,直到扩展到 ...

  10. 【Visual C++】游戏开发笔记三十四 浅墨DirectX提高班之三 起承转合的艺术:Direct3D渲染五步曲...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8223965 作者:毛星云(浅墨 ...

最新文章

  1. Mybatis学习记录(二)----mybatis开发dao的方法
  2. ant design pro 加载慢_ant design pro项目打包后页面加载缓慢
  3. 一步步教你前端vue项目开发中如何解决跨域问题
  4. 应用开发框架之——根据数据表中的存储的方法名称来调用方法
  5. Burpsuite如何抓取使用了SSL或TLS传输的 IOS App流量
  6. Django:ORM基本操作-CRUD,管理器对象objects,----->查询1(all,values,values_list,order_by)
  7. 在Unity3D的网络游戏中实现资源动态加载
  8. 夜上海音乐播放器 v 1.0
  9. _self.$scopedSlots.default is not a function报错
  10. 山寨笔记本电脑风暴要来了
  11. 总结一下自己脑海里的JavaScript吧(一)--DOM模型
  12. 联想服务器远程管理模块,联想慧眼远程管理模块-Lenovo服务网站.PDF
  13. win7我的计算机无法搜索,win7搜索功能无法正常使用的有效解决方法
  14. html中的abbr有什么作用,html中关于abbr标签的使用以及作用的详解
  15. UGUI源代码之Image-Sliced模式
  16. 设备无法使用、驱动载入异常(39){无法取得路径} 路径 %hs 不存在
  17. Linux PXE无盘工作站
  18. 模拟银行ATM存款存取款的相关功能
  19. win10打开程序响应很慢_【电脑维护宝典】WIN10系统下的电脑维护
  20. 使用Taro小程序框架开发一个学习、刷题、论坛、聊天交流的微信小程序

热门文章

  1. android alertdialog 背景透明,Android Alertdialog弹出框设置半透明背景
  2. Python3有哪几种数据类型?
  3. java错误: 找不到或无法加载主类 HelloWorld
  4. git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚
  5. mysql 逻辑处理_mysql 逻辑查询处理流程
  6. powerbuilder判断复选框是否选中_如何判断基金经理投资风格呢?方法仅供参考
  7. zend framework1.12 没找到php.exe,请加一个zend framework的有关问题
  8. 位运算实现用户留存率
  9. PHP底层运行原理初探
  10. 显示计算机程序的表格如何打开,电脑表格怎么小窗口显示不出来怎么办