维度表,事实表的问题

relive_7 2009-09-15 11:01:58
大家好:
我现在要在一个数据库上创建多维数据模型,就是schema文件,xml格式的,我用的是mondrian。
现在我发现维度表和事实表链接的外键关系是2个主键,也就是说维度表的主键是2个字段,而事实表中也包含着两个字段,我看的资料中都没有这种情况。
一般维度表和事实表通过外键项链也就只有一个主键,这种情况我该怎么创建schema文件??

举个例子

维度表 (这里加上消息号是因为消息有很多类型,而事实表也有很多类型,有反应人数的,有反应配置及其信息的等)

(组号 消息号)(主键) 组名称 时间

事实表(反应组内人数的)
(组号 消息号)(主键) 人数

我觉得上述数据库结构用来做olap不太好,所以我认为最坏的情况就是我重新创建一个数据库,然后做etl把原先数据库的数据导入到新数据库中。但是能不改就不该,因为我还是想简单一点的。
请大家指教。
...全文
267 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
无·法 2010-04-23
  • 打赏
  • 举报
回复
我也不知道,顺便帮顶
阿笨--1980 2010-04-20
  • 打赏
  • 举报
回复
找了一下午也没找到解决办法!楼主可找好解决办法了吗?
阿笨--1980 2010-04-20
  • 打赏
  • 举报
回复
顶一下
reallastwinter 2009-09-21
  • 打赏
  • 举报
回复
同问帮顶~
shin_zhong 2009-09-19
  • 打赏
  • 举报
回复
我个人没用过mondrian,所以也不太清楚,希望将来能试着用一用这个东东!
从我对多维数据库的理解,楼主这样设计维表和事实表的思路是对的,只是建议把维表再按不同的大类再细分为两个维表:
一个是:(组号 消息号)(主键) 组名称
这么做的目的是为了以后便于维护和扩充这个维表(比如如果将来需要增加名称类型,所属大类等)
另一个是:(组号 消息号)(主键) 时间
这么做的目的是为了便于将时间维属性分层(大部分设计时间维的都会把时间维设计成:年、季、月、周、日、时、分、秒...)
而事实表中如果还有除了“人数”之外的其它度量,则添加起来比较方便,便于维护。
总体说来这只是一个简单的星型模型多维数据库结构,比较简单。
relive_7 2009-09-15
  • 打赏
  • 举报
回复
没人知道么?

7,388

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧