拆完怎么知道没拆错
拆完三张表之后,验收的办法是【0】。
阅读更多 →
拆表的第一步是什么
要把一张宽表拆开,第一步是【0】。
阅读更多 →
自己写:三条范式各违反一次,各数一个数
这一节的收官:三样各量一次——一格塞一串时模糊匹配多算了几个、宽表里"课程决定老师"的组合数、宽表里同一门课的老师有几种。输出三个数(用 / 隔开)。 enroll_flat(一张
阅读更多 →
自己写:找出宽表里"跟着别人走"的那一列
宽表里,老师和教室其实是跟着"课程"走的,不是跟着"学生+课程"走的。验证一下:数出不同的课程数、以及"课程+老师+教室"的不同组合数,两者
阅读更多 →
自己写:把一格里的一串拆成多行
把违反第一范式的那张表拆成"一行一门课"。输出两个数:拆完有几行、选了"数学"(精确匹配)的有几人(用 / 隔开)。
阅读更多 →
⚠️ 拆开之后,格子反而更多了
数一数宽表和拆开后三张表各占多少个"格子"(行数 × 列数)。输出两个数(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student phone co
阅读更多 →
⚠️ 一格塞一串:加一门课就多算一个
把选课写成一格 "数学,英语",用模糊匹配数"选了数学的有几人"。然后再加一位学生选了高等数学,同样再数一次。输出两次的结果(用 / 隔开)。 import s
阅读更多 →
范式是不是越高越好
把一份设计一路规范化到很高的范式,代价是【0】。
阅读更多 →
第二、第三范式在管什么
第二范式和第三范式管的都是【0】。
阅读更多 →
第一范式要求什么
第一范式最基本的一条要求是【0】。
阅读更多 →