自己写:建一张带外键的表
重新建一张选课表,这次带上外键约束,再插同样那条指向 99 号学生的记录。输出两样:违反了哪一条、新表里有几行(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student
阅读更多 →
自己写:往选课表里插一个不存在的学生
选课表里插一条指向"不存在的学生编号 99"的记录。⚠️ 这份 schema 没有写外键约束,所以它会插进去。输出两个数:插入之后选课表几行、其中能连回学生表的有几行(用 / 隔开
阅读更多 →
自己写:给宽表挑一个主键
宽表 enroll_flat 没有主键。数一数:哪两列合起来才能唯一确定一行?程序会分别数出"学生列各不相同的个数"、"学生+课程两列组合各不相同的个数"、和总
阅读更多 →
中间表的主键挡住了什么
往选课表里插一条已经存在的选课记录,看会发生什么。输出两样:违反了哪一条约束、表里还剩几行(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student phone cou
阅读更多 →
外键让数据库替你管住什么
给课程表的老师编号加上外键约束之后,数据库会替你管住【0】。
阅读更多 →
外键该建在哪一边
一位老师带好几门课(一对多)。这条关系的外键应该建在【0】。
阅读更多 →
中间表的主键怎么定
选课这张中间表只有"学生编号"和"课程编号"两列。它的主键最合理是【0】。
阅读更多 →
主键该挑什么样的列
给学生表挑主键,最稳的是【0】。
阅读更多 →
自己写:把课程也对一次
同样的办法把课程也对一次。输出三个数:宽表里不同的课程数、课程表行数、是否一致(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student phone course t
阅读更多 →
自己写:把宽表里的不同学生数出来
从宽表里数出一共有几个不同的学生,再数一下拆开后的学生表有几行,两者对一次。输出两个数和是否一致(用 / 隔开)。 enroll_flat(一张宽表,什么都塞在里面) student phone
阅读更多 →