INFS5710 26T2|五周拆表 第七周合回来
📝 课名和内容是两回事
IT Infrastructure for Business Analytics,看着像一门讲工具和平台的课。打开 Week 1,上来是 data vs information、database vs DBMS、entity integrity vs referential integrity,纯概念辨析,一行代码都没有。
这门课在教的是数据从产生到分析的完整管道:关系数据库怎么建、数据仓库怎么搭、大数据怎么处理。管道分三段,每段一套设计原则,每一段的原则都在否定上一段。
💡 三段设计 每段推翻上一段
| 阶段 | 周次 | 核心操作 | 设计原则 |
|---|---|---|---|
| 关系数据库 | Week 1-5 | 拆表、消冗余 | 一个事实只存一处 (Normalisation) |
| 数据仓库 | Week 7 | 合表、加冗余 | 牺牲冗余换查询速度 (De-Normalisation) |
| 大数据 | Week 8-9 | 不定义表结构 | 键值对直接存 (Schema-less) |
前五周在做一件事:把一张大表拆成几张小表,用主键 (PK) 和外键 (FK) 串起来,保证每条数据只存一个地方。从 Week 1 的 ER 建模到 Week 3 的弱实体 (Weak Entity) 和超类子类 (Supertype/Subtype),再到 Week 5 的规范化 (Normalisation),全是在练怎么拆表、怎么用键关联。Week 1 课上那张员工技能表是反面教材:Skill1/Skill2/Skill3 三列重复,考第四项技能时连列都不够用。拆成 EMPLOYEE、SKILL、CERTIFIED 三张表,每多一项认证只加一行数据,表结构不用动。
Week 6 是 Recharge Week,没有课。
Week 7 回来讲数据仓库 (Data Warehouse),用星型模式 (Star Schema) 把前五周拆开的表重新合回来。原因很直接:分析查询跨表 JOIN 太多,表拆太细性能跟不上,不如把维度表压回事实表。这门课在第七周亲手否定了前五周建立的核心原则。
Week 8-9 再翻一次。NoSQL 连固定表结构都不要了,社交媒体和 IoT 传感器产生的数据量太大、形态太杂,关系数据库那套模式套不上去。到这一步,规范化和反规范化都退场了。
三段的节奏:先学怎么拆表,再学把表合回来,最后学在没有表的地方干活。Week 7 那次翻转是真正的难点,前五周建立的拆表直觉要主动放弃。





