自己写:建一张带外键的表

自己写:建一张带外键的表

重新建一张选课表,这次带上外键约束,再插同样那条指向 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

阅读更多 →