什么时候才该故意留冗余
明知道会产生重复,却故意留一份冗余。合理的理由是【0】。
留了冗余之后,多出来的责任是什么
在课程表上冗余一列"选课人数"。从此以后你必须【0】。
算一次要连几张表
"每门课有几个人选"这个数,规范化之后要连表算。输出两个数:这个查询要扫中间表几行、三门课各几人(连起来)(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student phone cours
⚠️ 冗余那一列忘了同步
在课程表上冗余一列"选课人数"并填好,然后插一条新的选课记录、但忘了同步那一列。输出两个数:冗余列写的人数、真实算出来的人数(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student pho
自己写:把冗余列同步回来
上一题那个不一致,写一条语句把冗余列重新算一遍。输出两个数:修好之后冗余列写的人数、真实人数(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student phone course teacher room
自己写:给冗余列加一道自查
写一条查询,找出所有"冗余列和真实值对不上"的课。输出两个数:对不上的有几门、其中数学的两个数差多少(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student phone course
自己写:把两种做法的代价摆出来
对比两种做法:每次都连表现算 vs 直接读冗余列。用计数函数数出各自要过多少行。输出两个数(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student phone course teacher room 阿
自己写:把这笔账算完整
这一节的收官:把反规范化的两面一起量出来。输出四样:现算要过几行、读冗余列要过几行、插一条新选课之后冗余列对不对、重算之后对不对(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student phone cour
一份 schema 交付前该自查什么
把设计好的建表语句交出去之前,最该自查的是【0】。
设计做到什么程度算够
一份小系统的 schema,做到什么程度就该收手?【0】