微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

一个公司中不同业务的一个或多个事实表?

如何解决一个公司中不同业务的一个或多个事实表?

我是数据库设计的新手。 我正在尝试为汽车共享公司设计数据模型。 他们有不止一种商业模式,例如汽车共享,踏板车共享,交付。

这是我的两难选择,我应该选择哪个选择:

  1. 数据库仓库总线体系结构) 我应该为不同的业务创建多个事实表吗? 不同的事实表代表一种业务模型并共享一些一致的维度?

  2. 一个星型模式) 还是应该在一个维度表中将不同的公司名称(汽车共享,代步车,送货)存储为产品?

谢谢!!!!

解决方法

我要解决的方式如下:

  1. 列出所有事实及其相关维度
  2. 确定所有事实的维度共有水平

如果所有事实的维数大致相同,则您 可以 将它们全部放入一个事实表中。对此没有硬性规定,但我要说,如果一个事实的维度超过约2个,而其他事实未使用(或其他事实却未使用此事实),则它必须处于它自己的事实表。

如果您决定可以在一个事实表中放置多个事实,那么它将成为一个判断调用。做出决定时要考虑的事情包括(显然不是确定的清单):

  • 您是否想在同一查询中同时查询不同的事实?如果是这样,那么将它们放在1个事实表中将使其变得更容易,例如按日期按事实类型计数
  • 您的数据量是否太大(或将来可能很大),以至于只有一个事实表会引起问题?如果是这样,那么在开始时就拥有单独的事实表,而不必在将来进行拆分就很有意义
  • 安全性:您是否需要将对不同事实的访问权限限制为不同的人群。如果是这样,那么拥有独立的事实表可能会使此事变得容易

我个人的喜好是,假设不是同时查询不同的事实(上面的第一个要点)不是主要要求,那就是使用单独的事实表。尽管涉及到更多的ELT,但它并不重要-一旦为第一个事实表建立了逻辑,则所有其他信息都应“复制粘贴”并进行少量编辑。使用不同的事实表更灵活,将来可能会减少您的问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。