CREATE TABLE Course( cno char(8) PRIMARY KEY, cname varchar(30) NOT NULL, credit tinyint CHECK( credit BETWEEN 1 AND 8 ), semester tinyint CHECK( semester BETWEEN 1 AND 12 ), ) CREATE TABLE College( coname char(10)PRIMARY KEY, number char (8)NOT NULL, phone char(12), location char(10), ) CREATE TABLE classlocation( tno char(10) NOT NULL, classgrade char(8)NOT NULL, cno char(8)NOT NULL, classnumber char(2)NOT NULL, PRIMARY KEY(cno, tno), FOREIGN KEY(cno)REFERENCES course(cno), FOREIGN KEY(tno)REFERENCES teacher(tno) ) CREATE TABLE teacher ( tno char(10)PRIMARY KEY, tname char(8)NOT NULL, tgender char(2)CHECK( tgender IN ('男','女’)), ttitle char(6) CHECK( ttitle IN('助教','讲师','副教授','教授')), ) CREATE TABLE student( sno char(8)PRIMARY KEY, sname char(8), sgender char(2), sdepart char(20), smajor char(20), ) CREATE TABLE sc ( sno char(8)NOT NULL, cno char(8)NOT NULL, PRIMARY KEY(sno, cno), FOREIGN KEY(sno)REFERENCES student(sno), FOREIGN KEY(cno)REFERENCES course(cno) )改错这段SQL语言
时间: 2023-06-26 07:05:31 浏览: 91
CREATE TABLE Course(
cno char(8) PRIMARY KEY,
cname varchar(30) NOT NULL,
credit tinyint CHECK(credit BETWEEN 1 AND 8),
semester tinyint CHECK(semester BETWEEN 1 AND 12)
);
CREATE TABLE College(
coname char(10) PRIMARY KEY,
number char(8) NOT NULL,
phone char(12),
location char(10)
);
CREATE TABLE classlocation(
tno char(10) NOT NULL,
classgrade char(8) NOT NULL,
cno char(8) NOT NULL,
classnumber char(2) NOT NULL,
PRIMARY KEY(cno, tno),
FOREIGN KEY(cno) REFERENCES Course(cno),
FOREIGN KEY(tno) REFERENCES teacher(tno)
);
CREATE TABLE teacher (
tno char(10) PRIMARY KEY,
tname char(8) NOT NULL,
tgender char(2) CHECK(tgender IN ('男','女')),
ttitle char(6) CHECK(ttitle IN ('助教','讲师','副教授','教授'))
);
CREATE TABLE student(
sno char(8) PRIMARY KEY,
sname char(8),
sgender char(2),
sdepart char(20),
smajor char(20)
);
CREATE TABLE sc (
sno char(8) NOT NULL,
cno char(8) NOT NULL,
PRIMARY KEY(sno, cno),
FOREIGN KEY(sno) REFERENCES student(sno),
FOREIGN KEY(cno) REFERENCES Course(cno)
);
修改的内容包括:
1. 每个 CREATE TABLE 语句需要以分号结束。
2. 在 classlocation 表中,FOREIGN KEY 需要引用 teacher 表中的 tno 字段。
3. 在所有 FOREIGN KEY 引用中,需要将表名 Course 和 teacher 首字母大写。
4. 在 teacher 表中,ttitle 的 CHECK 约束中的单引号需要使用英文状态下的引号。
5. 在 student 表中,sno 字段需要设为 PRIMARY KEY。