📣 独立日限时特惠: VIP通行证立减$68
查看: 1317| 回复: 3
跳转到指定楼层
上一主题 下一主题
收起左侧

[找工就业] 请教 Normalization 和 Star 数据库是设计的 区别

全局:

2020(10-12月)-Stat/Biostat硕士+5-10年 | Other| 统计类全职@

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
最近为了准备面试,开始了解data model, 然后了解到一般OLTP要用normalization的准则, OLAP要用Star Schema。 大体了解了下这两种,然后我就觉得,他俩其实差不不大呢,具体来说:1) star schema中的各个dimentional table几乎都是normalization的了
2) 然后star schema与normalization设计的不同之处,只需把其中的一个业务数据的表, star多点measurement的列

所以我觉得貌似区别只有那张业务数据表,star下columns多点,normalization下columns不需要全有, 其他的都一模一样。
请教大家,我理解的对不对,或者我是哪里没整明白。.1point3acres

举例来说比如需要建一个order的数据库:
.--
Star下包含:.1point3acres
1. fact table:order_table :    order_id | cust_id | seller_id | date | product_id | total_dollar_amt | total_units
2. Dimentioanl table:  cust_table:  cust_id | first_name | last_name | address
                                   seller_table: seller_id | seller_name | adress | type
                                   product_table:  product_id | category | seller_id | price. 1point 3 acres
                                   Date_table:  date | time | year | quarter | weekday

Normalization同样包含上面5个table, 不同的地方改就是order_table中不需要包含 total_dollar_amt, 因为可以通过join Product_table自己算出来这样?   

评分

参与人数 1大米 +1 收起 理由
armu + 1 赞一个

查看全部评分


上一篇:Google2021 Summer Intern (PhD) project match求打捞
下一篇:请问面试相关帖子中的Google API是什么意思
🔗
djewssw 2020-12-31 23:28:48 来自APP | 只看该作者
全局:
oltp用的normalization一般是用3NF或者BCNF把schema拆成很多小的表,来减少数据的冗余性。olap中的dimension table一般可能符合这些范式,但是fact table一般是把很多oltp中的表连接到一起,可能有几十或者几百个column。
回复

使用道具 举报

🔗
 楼主| RacoonYY 2020-12-31 23:42:43 | 只看该作者
全局:
本帖最后由 RacoonYY 于 2021-1-1 00:02 编辑 ..
djewssw 发表于 2020-12-31 23:28.1point3acres
oltp用的normalization一般是用3NF或者BCNF把schema拆成很多小的表,来减少数据的冗余性。olap中的dimensio ...

谢谢您的解答! 我理解是,当数据足够复杂的时候,normalization标准下,为了减少redundancy会拆分很多的小table, 但是比如上面这种面试中会遇到的例子,因为足够简单,所以体现不出来normalization和star的区别,几乎是一样的,不知道这么理解对不对?
举例说,比如Product_table 下, 如果还有sub_categroy, 在norm标准下,就会新建标有两列,category和subcategory, 但是在star schema下,subcategory会直接放在product table里,增加了冗余,减少了join
回复

使用道具 举报

🔗
djewssw 2021-1-1 00:59:53 | 只看该作者
全局:
RacoonYY 发表于 2020-12-31 23:42
谢谢您的解答! 我理解是,当数据足够复杂的时候,normalization标准下,为了减少redundancy会拆分很多的 ...
.
应该是的,OLAP的dimension table一般要相对比较小,在设计fact table的时候也可以将一些dimension table直接嵌到里面去
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表