拆完怎么知道没拆错

拆完怎么知道没拆错

拆完三张表之后,验收的办法是【0】。

阅读更多 →
拆表的第一步是什么

拆表的第一步是什么

要把一张宽表拆开,第一步是【0】。

阅读更多 →
自己写:三条范式各违反一次,各数一个数

自己写:三条范式各违反一次,各数一个数

这一节的收官:三样各量一次——一格塞一串时模糊匹配多算了几个、宽表里"课程决定老师"的组合数、宽表里同一门课的老师有几种。输出三个数(用 / 隔开)。 enroll_flat(一张

阅读更多 →
自己写:找出宽表里

自己写:找出宽表里"跟着别人走"的那一列

宽表里,老师和教室其实是跟着"课程"走的,不是跟着"学生+课程"走的。验证一下:数出不同的课程数、以及"课程+老师+教室"的不同组合数,两者

阅读更多 →
自己写:把一格里的一串拆成多行

自己写:把一格里的一串拆成多行

把违反第一范式的那张表拆成"一行一门课"。输出两个数:拆完有几行、选了"数学"(精确匹配)的有几人(用 / 隔开)。

阅读更多 →
⚠️ 拆开之后,格子反而更多了

⚠️ 拆开之后,格子反而更多了

数一数宽表和拆开后三张表各占多少个"格子"(行数 × 列数)。输出两个数(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student phone co

阅读更多 →
⚠️ 一格塞一串:加一门课就多算一个

⚠️ 一格塞一串:加一门课就多算一个

把选课写成一格 "数学,英语",用模糊匹配数"选了数学的有几人"。然后再加一位学生选了高等数学,同样再数一次。输出两次的结果(用 / 隔开)。 import s

阅读更多 →
范式是不是越高越好

范式是不是越高越好

把一份设计一路规范化到很高的范式,代价是【0】。

阅读更多 →
第二、第三范式在管什么

第二、第三范式在管什么

第二范式和第三范式管的都是【0】。

阅读更多 →
第一范式要求什么

第一范式要求什么

第一范式最基本的一条要求是【0】。

阅读更多 →