维度表创建
0
1.客户维度表
id 姓名 职业 学历
1 张三 工人 本科
2 李四 农民 本科
2.客户维度表
id 姓名 职业id 学历id
1 张三 1 1
2 李四 2 1
职业维表
id 职业
1 工人
2 农民
学历维表
id 学历
1 本科
2 专科
上面两种方法来创建客户维度表,那种方式比较好?分别适用那些业务场景?谢谢。
id 姓名 职业 学历
1 张三 工人 本科
2 李四 农民 本科
2.客户维度表
id 姓名 职业id 学历id
1 张三 1 1
2 李四 2 1
职业维表
id 职业
1 工人
2 农民
学历维表
id 学历
1 本科
2 专科
上面两种方法来创建客户维度表,那种方式比较好?分别适用那些业务场景?谢谢。
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
3 个回复
simon_cao - 打酱油 2016-04-08 回答
赞同来自: BAO胖子
其次第二个例子将客户信息维度化。得出一张主表和两张维度表,维度表分别是职业维度与学历维度。
那么接下来我们分别说说两种创建数据模型的好坏:
第一个例子
优点:1. 方便查询,可以直接根据客户id查出客户相关信息,无需关联任何维度表。
缺点:1. 我能想到的缺点也许就是会占用更多的存储空间吧,当然客户数据再多也是有限的,比起OLTP这点存储可以忽略。
第二个例子
优点:1. 维度建模dimension fact,将维度信息抽出单独建表。
2. 省存储,数据模型化
缺点:1. 对于维度建模,前期的数据探查尤为重要,需要分析出能够满足业务需要的维度信息。
2. 需要考虑到代理键逻辑以及是否涉及到维度的维度,例如本科分为一本,二本,三本,专升本等等。数据时代细小的数据对分析也是有重要意义的。
再说说关于建模无论是3F还是维度建模,目的都是更好的满足业务需求,更好的满足系统需要,所以有时要属性下放,有时又不得不为了满足性能去增加冗余。
关于客户信息相关的建模,我想可以根据业务或客户个体去将共有的和共同的属性抽出来作为主表,然后在根据客户个体去抽象几类,然后根据抽象出的客户个体类再去细化不同的维度。
希望可以抛砖引玉,各位大神请指正、补充。
夏尔康 - 通晓各种统计学习方法,熟练使用R语言建模,结合帅气与才智的不明吃瓜群众 2016-03-31 回答
赞同来自:
qjxiaopang - 懒惰是成功的最大绊脚石 2016-03-31 回答
赞同来自: