-- 创建学生表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 AND 100); -- 5. 为student表中的“性别”列添加CHECK完整性约束 ALTER TABLE student ADD CONSTRAINT chk_Gender CHECK (性别 IN ('男', '女'));
CREATE TABLE class (
班级编号 CHAR(6) NOT NULL,
班级名称 VARCHAR(20) NOT NULL,
院系 VARCHAR(30) NOT NULL,
年级 INT,
人数 INT,
PRIMARY KEY (班级编号)
);
-- 向班级表class插入数据
INSERT INTO class (班级编号, 班级名称, 院系, 年级, 人数) VALUES ('AC1301', '会计13-1班', '会计学院', 2013, 35), ('AC1302', '会计13-2班', '会计学院', 2013, 35), ('CS1401', '计算机14-1班', '计算机学院', 2014, 35), ('IS1301', '信息系统13-1班', '信息学院', 2013, 35), ('IS1401', '信息系统14-1班','信息学院',2012,34)
INSERT INTO course (课程号, 课程名, 学分, 学时, 学期, 前置课) VALUES ('11003', '管理学', 2, 32, '2', NULL), ('11005', '会计学', 3, 48, '2', NULL), ('21001', '计算机基础', 3, 48, '1', NULL), ('21002', 'Office高级应用', 3, 48, '2', '21001'), ('21004', '程序设计', 4, 64, '2', '21001');
INSERT INTO student (学号, 姓名, 性别, 出生日期, 地区, 民族, 班级编号) VALUES ('2013110101', '李男', '男', '1997-12-11', '山西', '汉', 'AC1301'), ('2013110103', '周琦', '女', '1998-01-01', '河北', '锡伯', 'AC1301'), ('2013110201', '肖虎', '女', '1996-09-17', '内蒙古', '汉', 'AC1302'), ('2013110202', '薛之谦', '男', '1996-01-14', '广西', '壮', 'AC1302'), ('2013310103', '陈伟', '男', '1995-09-30', '河北', '汉', 'IS1301'), ('2013310101', '黄菊', '女', '1995-11-18', '北京', '汉', 'IS1301'), ('2014210101', '林俊杰', '男', '1997-04-03', '湖南', '侗', 'CS1401'), ('2014210102', '郭浩', '男', '1997-02-21', '上海', '汉', 'CS1401'), ('2014310101', '徐杰', '男', '1996-10-09', '河南', '汉', 'IS1401');
INSERT INTO score (学号, 课程号, 成绩) VALUES
('2013110101', '11003', 90),
('2013110101', '21001', 86),
('2013110103', '11003', 89),
('2013110103', '21001', 86),
('2013110201', '11003', 78),
('2013110201', '21001', 92),
('2013110202', '11003', 82),
('2013110202', '21001', 85),
('2013310101', '21004', 83),
('2013310101', '21002', 68);
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 AND 100); -- 5. 为student表中的“性别”列添加CHECK完整性约束 ALTER TABLE student ADD CONSTRAINT chk_Gender CHECK (性别 IN ('男', '女'));
CREATE TABLE class (
班级编号 CHAR(6) NOT NULL,
班级名称 VARCHAR(20) NOT NULL,
院系 VARCHAR(30) NOT NULL,
年级 INT,
人数 INT,
PRIMARY KEY (班级编号)
);
-- 向班级表class插入数据
INSERT INTO class (班级编号, 班级名称, 院系, 年级, 人数) VALUES ('AC1301', '会计13-1班', '会计学院', 2013, 35), ('AC1302', '会计13-2班', '会计学院', 2013, 35), ('CS1401', '计算机14-1班', '计算机学院', 2014, 35), ('IS1301', '信息系统13-1班', '信息学院', 2013, 35), ('IS1401', '信息系统14-1班','信息学院',2012,34)
INSERT INTO course (课程号, 课程名, 学分, 学时, 学期, 前置课) VALUES ('11003', '管理学', 2, 32, '2', NULL), ('11005', '会计学', 3, 48, '2', NULL), ('21001', '计算机基础', 3, 48, '1', NULL), ('21002', 'Office高级应用', 3, 48, '2', '21001'), ('21004', '程序设计', 4, 64, '2', '21001');
INSERT INTO student (学号, 姓名, 性别, 出生日期, 地区, 民族, 班级编号) VALUES ('2013110101', '李男', '男', '1997-12-11', '山西', '汉', 'AC1301'), ('2013110103', '周琦', '女', '1998-01-01', '河北', '锡伯', 'AC1301'), ('2013110201', '肖虎', '女', '1996-09-17', '内蒙古', '汉', 'AC1302'), ('2013110202', '薛之谦', '男', '1996-01-14', '广西', '壮', 'AC1302'), ('2013310103', '陈伟', '男', '1995-09-30', '河北', '汉', 'IS1301'), ('2013310101', '黄菊', '女', '1995-11-18', '北京', '汉', 'IS1301'), ('2014210101', '林俊杰', '男', '1997-04-03', '湖南', '侗', 'CS1401'), ('2014210102', '郭浩', '男', '1997-02-21', '上海', '汉', 'CS1401'), ('2014310101', '徐杰', '男', '1996-10-09', '河南', '汉', 'IS1401');
INSERT INTO score (学号, 课程号, 成绩) VALUES
('2013110101', '11003', 90),
('2013110101', '21001', 86),
('2013110103', '11003', 89),
('2013110103', '21001', 86),
('2013110201', '11003', 78),
('2013110201', '21001', 92),
('2013110202', '11003', 82),
('2013110202', '21001', 85),
('2013310101', '21004', 83),
('2013310101', '21002', 68);