这是为了回答这一部分:

我试图了解维表是否可以是事实表   还是不?

简短的回答(INMO)为否。这是因为创建两种类型的表的原因不同。 但是,从数据库设计的角度来看,维表可以有一个父表,而事实表总是有一个维表(或更多)作为父表。 同样,事实表可以汇总,而维表不汇总。 另一个原因是事实表不应被适当地更新,而维度表在某些情况下可以被适当地更新。

更多细节:

事实和维度表以通常所说的星型图出现。 星型模式的主要目的是简化一组复杂的标准化表并将数据(可能来自不同系统)合并为一个数据库结构,可以非常有效地对其进行查询。

它以最简单的形式包含一个事实表(例如:StoreSales)和一个或多个维表。 每个维条目都有与之关联的0.1个或多个事实表(维表示例:地理位置,项目,供应商,客户,时间等)。 尺寸具有父级也是有效的,在这种情况下,模型的类型为“雪花”。 但是,设计人员试图避免这种设计,因为它会导致更多的联接,从而降低性能。 在StoreSales的示例中,“地理位置”维度可以由列(GeoID,ContenentName,CountryName,StateProvName,CityName,StartDate,EndDate)组成

在Snowflakes模型中,您可以具有2个用于地理信息的标准化表,即:内容表,国家/地区表。

您可以在Star Schema上找到很多示例。 另外,请查看此内容以查看星型模式Inmon与Kimball的替代视图。 Kimbal有一个不错的论坛,您可能也想在这里查看:Kimball论坛。

编辑:要回答有关4NF示例的评论:

违反4NF的事实表的示例:

销售事实(ID,BranchID,SalesPersonID,ItemID,Amount,TimeID)

事实表不违反4NF的示例:

汇总销售(BranchID,TotalAmount)

这里的关系在4NF

最后一个例子很少见。

事实表 的指标 维度表_数据库-事实表和维度表之间的区别?相关推荐

  1. mysql数据库的行级锁有几种_数据库行级锁和表锁区别

    MyISAM和InnoDB MyISAM MyISAM使用B+tree作为索引结构,叶节点存放的是数据地址. MyISAM不支持事务和外键. MyISAM是表锁,对数据库写操作时会锁住整个表,效率低. ...

  2. mysql联表查询多记录显示_数据库:MySQL(多表的表记录的查询)(三)

    一.外键约束 1.创建外键 ---每一个班主任会对应多个学生 , 而每个学生只能对应一个班主任----主表 CREATE TABLE ClassCharger( id TINYINT PRIMARY ...

  3. oracle表结构修改回滚,87.Oracle数据库SQL开发之 修改表内存——数据库事务的提交和回滚...

    87.Oracle数据库SQL开发之 修改表内存--数据库事务的提交和回滚 数据库事务(transaction)就是一组SQL语句,这组SQL语句时一个逻辑工作单元. 要永久性的记录事务中SQL语句的 ...

  4. linux如何把mysql表名换成小写_让 MySQL 在 Linux 下表名不区分大小写(实为表名全小写)...

    把 Windows 下的应用部署到 Linux 下,使用到了 Quartz 集群的特性,所以建了 MySql 的中间表,一启动看到报错: Invocation of init method faile ...

  5. mysql 两个数据库指定表同步_mysql从2个数据库中同步两个表

    我无法相信你没有找到合适的脚本来做到这一点.根据服务器到服务器的带宽和连接以及表数据大小,您可以: >直接转移整个表: mysqldump [options] sourcedatabase ta ...

  6. linux系统中mysql表中能添加中文_数据库学习之数据库增删改查(另外解决Mysql在linux下不能插入中文的问题)(二)...

    数据库增删改查 增加 首先我们创建一个数据库user,然后创建一张表employee create table employee( id int primary key auto_increment, ...

  7. 怎么在mysql创建数据库怎么加入学号_数据库怎么创建学生信息表

    语音内容: 大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 数据库创建学生信息表的方法是: 1.新建表:单击数据库"studentDb"前图标,然后右键&qu ...

  8. mysql实验三单表和多表查询_数据库实验三(单表查询)

    实验三: select sno,sname from student;//(1)查询全体学生的学号和姓名 select * from student;//(2)查询全体学生的详细记录 select s ...

  9. mysql建表时建外键约束_数据库建表时一定要设置外键约束关系吗?

    如果被引用的表需要做分库分表,那么无法建立外键约束. 使用外键会降低数据库性能,这个说法并不细致.需要详细分析. 建立外键,那么一般引用字段上需要建立索引.如果不建立索引,被引用的表上删除数据,会全表 ...

  10. Hibernate_3_客户实例_数据库中自动生成主从表

    1)新建一个客户类: public class User {private Integer id;private String name;// 属性为集合类型,生命并实例化,实例化后,在其它类中就可以 ...

最新文章

  1. 学python可以做什么产品-学了 Python,能用来做什么?实际应用场景有哪些??...
  2. 数据科学家十年后彻底消失?25年行业元老:无稽之谈!
  3. 机器学习基础 --- numpy的基本使用
  4. oracle product文件,快速修复Oracle参数文件的另类方法
  5. ajax 上传读取excel
  6. 软件项目风险评估报告00
  7. 边缘化搭建DotNet Core 2.1 自动化构建和部署环境
  8. 面试官 | 说一下数据库如何分库分表?
  9. exchange无法收发邮件_SpringBoot2.x系列教程69--SpringBoot中整合Mail实现邮件发送
  10. LeetCode Rearrange String k Distance Apart
  11. numpy 中的 broadcasting(广播)机制
  12. python语言开发环境搭建_Python开发环境搭建-Go语言中文社区
  13. 书剑中医电子处方软件 V16.0
  14. Iperf测试WIFI
  15. php时间戳求时间差,php中计算时间差的几种方法
  16. 如何给电脑安装双系统,电脑安装双系统教程
  17. debian 有用的源
  18. ARM指令——跳转指令
  19. css调整标签内背景图片的大小和位置
  20. 【入门指南】Hello World, I‘m Mo

热门文章

  1. Oracle临时表详解
  2. 电力安全防护的十六字安全方针
  3. 简单快速的UG编程入门操作
  4. python监听键盘事件pyhook用法_python 监听键盘事件pyHook
  5. matlab车牌匹配时读取,基于matlab+模板匹配的车牌识别(程序+照片+论文)
  6. 初步认识ADRC(自抗扰控制)与应用
  7. R| 混合效应模型,lme4
  8. java毕业设计物流跟踪系统mybatis+源码+调试部署+系统+数据库+lw
  9. linux开机禁用vga设备,用vga_switcheroo在Linux下(开启KMS)彻底关闭某一可切换显卡的简单教程...
  10. 【Oracle】Oracle insert 语句用法