将Student表中的Sno属性定义为码
(1)在列级定义主码
CREAT TABLE Student
(
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) NOT NULL, //char
Ssex CHAR(2) ,
Sage SMALLINT 空格 CHECK( Sage IN ('18','19','20') ),
Sdept CHAR(20)
);
(2)在表级定义主码
Sno CHAR(9), //9位学号
Sname CHAR(20) NOT NULL,
Ssex CHAR(2) ,
Sage SMALLINT,
Sdept CHAR(20),
PRIMARY KEY(Sno,Cno)
);
CREATE TABLE SC //创建TABLE SC表
(
Sno CHAR(9) NOT NULL, //sno不允许有空值
Sno CHAR(4) NOT NULL,
Grade SMALLINT, //有范围无符号,短整形
)
PRIMART KEY(Sno,Cno), //主键
FOREIGN KEY(Sno) REFERENCES Student(Sno), //外键 reference加s
FOREIGN KEY(Sno) references Course(Cno) //sc表参照 student表
); 参照完整性
列值 属性非空值
属性值 唯一
检查是否满足条件
CHECK(Ssex='女' OR Sname NOT LIKE 'Ms.%')