【说明】
某高校使用教学管理系统管理开课信息,学生信息以及学生选课信息,每位学生可以选多门课程,同一门课程只记录一个成绩。
该系统便用MySQL数据库存储数据,表中各个字段的含义如下:
学生表S(Sno:学号,SN:姓名,Sex:性別,Birthday:出生日期,Dept:系别)
课程表C(Cno:课程号,CN:课程名,CT课时)
选课表SC(SNo:学号,CNo:课程号,Score: 成绩)
数据库表中的部分数据如图3-1所示:
【问题1】
根据题目说明,分析数据库中的表结构和数据,回答
(1)课程表的主键是什么?
(2)选课表的主键是什么?
CN0
SNo和CNo
【问题2】
创建学生表、选课表的SQL语句如下,请写出①~④处的内容。
CREATE TABLE S
(
SNo CHAR(10)___①__,---定义主键
SN CHAR(10) NOT NULL,
Sex CHAR(2) NOT NULL,
Birthday DATE NOT NULL,
100
);
CREATE TABLE SC
(
SNO___②___,
CNO CHAR(4),
Score INT,
......
__③__KEY(SNo)__④____S(SNo),-----定义外键
......
);
PRIMARY KEY
CHAR(10)
FOREIGN
REFERENCES
【问题3】
系统可以为每位学生生成成绩单,如图3-2所示。其中,学分按照“课时/16”进行换算。

MySQL数据库的算术运算符、日期时间函数的使用方法如表3-1、表3-2所示。
YEAR(CURRENT_DATE())-YEAR(BIRTHDAY)
C.CT/16