学生选课表 SC 的 SQL 建表语句还挺经典的,结构清晰、约束也定义得规范。表的主键用的是 Sno
和 Cno
的组合,算是挺常见的一种多字段主键形式。嗯,像这种学生选课系统里,一个学生选多门课、一门课被多个学生选,用联合主键刚刚好。
外键也没落下,Sno
关联 Student
表,Cno
关联 Course
表,完整性约束做得到位。SQL 语句写得比较规范,适合新手练习,也方便你直接拿来做课程设计用。
顺带说一句,表的建立语句是这样的:
CREATE TABLE SC (
Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY (Sno, Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno)
);
如果你对 SQL 外键、多表关联、主外键约束 这些东西还不太熟,下面这几篇文章也可以看看,都是干货:
- SQL 外键约束详解,对概念讲得比较透
- Oracle 建表加外键的完整例子,能直接套用
- MySQL 怎么加外键,实操性强
- 学生在线选课系统,想做系统的可以参考
哦对了,如果你只是想练练手或者搞课程作业,直接用这张 SC 表 挺方便的。结构不复杂,扩展性也还不错,自己加字段或者联表查询都挺灵活。