数据库建表的一些操作,包括主键外键约束等等

时间:2022-09-20 08:21:01
create table 成绩
(
学号 char(11) references 学员信息(学号) not null,
课程 int references 课程(编号) not null,
考次 int constraint PK_成绩 primary key(学号,课程,考次) not null,
成绩 decimal(5,2)default(0) not null
)
这是一个建表的SQL语句
题目写得不完整,麻烦解释一下
constraint PK_成绩 primary key(学号,课程,考次)这句的意义
decimal的意思,括号里的(5,2)又是什么?


这条语句的意思是: 
创建表,表名为“成绩”,表中包含4个字段,其中
“学号”字段为char(字符)类型,宽度为11,同时,对该字段建立foreign key(外部键)约束,参照“学员信息”表的“学号”字段,并且不允许空值;

“课程”字段为int(整数)类型,同时,对该字段建立foreign key(外部键)约束,参照“课程”表的“编号”字段,并且不允许空值;

“考次”字段为int(整数)类型,同时,对该字段建立约束名为“PK_成绩”的primary key(主键)约束,该主键是复合主键,同时作用在学号、课程和考次3个字段上,并且不允许空值;

“成绩”字段为decimal(带固定精度和小数位数的数值数据)类型,总宽度为5位,小数位数为2,同时,对该字段建立default(默认)约束,默认值为0,并且不允许空值