CREATE DATABASE jwgl026;
USE jwgl026;
CREATE TABLE major026 (
mno VARCHAR(20) PRIMARY KEY,
mname VARCHAR(20),
dept VARCHAR(20)
);
CREATE TABLE student026 (
sno VARCHAR(20) PRIMARY KEY,
sname VARCHAR(20),
sex VARCHAR(2) DEFAULT '男',
sbirth DATE,
sclass VARCHAR(20),
mno VARCHAR(20),
FOREIGN KEY (mno) REFERENCES major026(mno)
ON DELETE SET NULL
ON UPDATE CASCADE
);
CREATE TABLE course026 (
cno VARCHAR(20) PRIMARY KEY,
cname VARCHAR(20),
chours INT
);
CREATE TABLE teacher026 (
tno VARCHAR(20) PRIMARY KEY,
tname VARCHAR(20),
sex VARCHAR(2),
title VARCHAR(20),
dept VARCHAR(20)
);
CREATE TABLE sc026 (
sno VARCHAR(20),
cno VARCHAR(20),
grade DECIMAL(5,1) DEFAULT 0,
PRIMARY KEY (sno, cno),
FOREIGN KEY (sno) REFERENCES student026(sno),
FOREIGN KEY (cno) REFERENCES course026(cno)
);
CREATE TABLE tc026 (
tno VARCHAR(20),
cno VARCHAR(20),
PRIMARY KEY (tno, cno),
FOREIGN KEY (tno) REFERENCES teacher026(tno),
FOREIGN KEY (cno) REFERENCES course026(cno)
);
CREATE TABLE cm026 (
cno VARCHAR(20),
mno VARCHAR(20),
PRIMARY KEY (cno, mno),
FOREIGN KEY (cno) REFERENCES course026(cno),
FOREIGN KEY (mno) REFERENCES major026(mno)
);
INSERT INTO major026 (mno, mname, dept) VALUES
('M001', '计算机科学与技术', '信息学院'),
('M002', '软件工程', '信息学院'),
('M003', '会计学', '经管学院'),
('M004', '汉语言文学', '文学院'),
('M005', '物理学', '理学院');
INSERT INTO course026 (cno, cname, chours) VALUES
('C001', '数据库原理', 48),
('C002', 'Java编程', 64),
('C003', '高级财务会计', 48),
('C004', '古代文学', 64),
('C005', '大学物理', 64);
INSERT INTO teacher026 (tno, tname, sex, title, dept) VALUES
('T001', '张建国', '男', '教授', '信息学院'),
('T002', '李海燕', '女', '副教授', '信息学院'),
('T003', '王晓明', '男', '教授', '经管学院'),
('T004', '赵雅芝', '女', '副教授', '文学院'),
('T005', '孙悟明', '男', '教授', '理学院');
INSERT INTO student026 (sno, sname, sex, sbirth, sclass, mno) VALUES
('2021001026', '张一', '男', '2002-09-01', '计科2101', 'M001'),
('2021002026', '李二', '女', '2003-10-15', '软工2102', 'M002'),
('2021003026', '王三', '男', '2002-08-20', '会计2101', 'M003'),
('2021004026', '赵四', '女', '2003-11-05', '汉本2101', 'M004'),
('2021005026', '孙五', '男', '2002-07-10', '物理2101', 'M005');
INSERT INTO sc026 (sno, cno, grade) VALUES
('2021001026', 'C001', 85.5),
('2021001026', 'C002', 90.0),
('2021002026', 'C002', 88.5),
('2021003026', 'C003', 92.0),
('2021004026', 'C004', 86.0);
INSERT INTO tc026 (tno, cno) VALUES
('T001', 'C001'),
('T002', 'C002'),
('T003', 'C003'),
('T004', 'C004'),
('T005', 'C005');
INSERT INTO cm026 (cno, mno) VALUES
('C001', 'M001'),
('C002', 'M002'),
('C003', 'M003'),
('C004', 'M004'),
('C005', 'M005');