-- 创建学生表student
CREATE TABLE student (
学号 CHAR(10) NOT NULL,
姓名 CHAR(10) NOT NULL,
性别 CHAR(2) NOT NULL,
出生日期 DATE,
地区 VARCHAR(20),
民族 CHAR(10),
班级编号 CHAR(6),
PRIMARY KEY (学号)
);
-- 创建课程表course
CREATE TABLE course (
课程号 CHAR(6) NOT NULL,
课程名 VARCHAR(20) NOT NULL,
学分 INT NOT NULL,
学时 INT NOT NULL,
学期 CHAR(2),
前置课 CHAR(6),
PRIMARY KEY (课程号)
);
-- 创建成绩表score
CREATE TABLE score (
学号 CHAR(10) NOT NULL,
课程号 CHAR(6) NOT NULL,
成绩 FLOAT(5,2),
PRIMARY KEY (学号, 课程号),
FOREIGN KEY (学号) REFERENCES student(学号),
FOREIGN KEY (课程号) REFERENCES course(课程号)
);
ALTER TABLE score ADD CONSTRAINT chk_Score CHECK (成绩 BETWEEN 0 AND100); -- 5. 为student表中的“性别”列添加CHECK完整性约束 ALTER TABLE student ADD CONSTRAINT chk_Gender CHECK (性别 IN ('男', '女'));
CREATE TABLE class (
班级编号 CHAR(6) NOT NULL,
班级名称 VARCHAR(20) NOTNULL,
院系 VARCHAR(30) NOT NULL,
年级 INT,
人数 INT,
PRIMARY KEY (班级编号)
);
CREATE TABLE student (
学号 CHAR(10) NOT NULL,
姓名 CHAR(10) NOT NULL,
性别 CHAR(2) NOT NULL,
出生日期 DATE,
地区 VARCHAR(20),
民族 CHAR(10),
班级编号 CHAR(6),
PRIMARY KEY (学号)
);
-- 创建课程表course
CREATE TABLE course (
课程号 CHAR(6) NOT NULL,
课程名 VARCHAR(20) NOT NULL,
学分 INT NOT NULL,
学时 INT NOT NULL,
学期 CHAR(2),
前置课 CHAR(6),
PRIMARY KEY (课程号)
);
-- 创建成绩表score
CREATE TABLE score (
学号 CHAR(10) NOT NULL,
课程号 CHAR(6) NOT NULL,
成绩 FLOAT(5,2),
PRIMARY KEY (学号, 课程号),
FOREIGN KEY (学号) REFERENCES student(学号),
FOREIGN KEY (课程号) REFERENCES course(课程号)
);
ALTER TABLE score ADD CONSTRAINT chk_Score CHECK (成绩 BETWEEN 0 AND100); -- 5. 为student表中的“性别”列添加CHECK完整性约束 ALTER TABLE student ADD CONSTRAINT chk_Gender CHECK (性别 IN ('男', '女'));
CREATE TABLE class (
班级编号 CHAR(6) NOT NULL,
班级名称 VARCHAR(20) NOTNULL,
院系 VARCHAR(30) NOT NULL,
年级 INT,
人数 INT,
PRIMARY KEY (班级编号)
);