53 lines
1.5 KiB
SQL
53 lines
1.5 KiB
SQL
-- 1.创建 数据库
|
||
CREATE DATABASE 学生管理
|
||
|
||
-- 2.建表
|
||
USE 学生管理;
|
||
-- (1)院系表
|
||
CREATE TABLE 院系表
|
||
(
|
||
院系 smallint PRIMARY KEY,
|
||
名称 varchar(20),
|
||
负责人 varchar(10) not null UNIQUE,
|
||
办公地点 varchar(20)
|
||
);
|
||
-- (2)学生表
|
||
CREATE TABLE 学生表(
|
||
学号 VARCHAR(8) PRIMARY KEY,
|
||
院系编号 SMALLINT,
|
||
姓名 varchar(10) NOT NULL,
|
||
性别 VARCHAR(2) CHECK(性别 IN('男','女')),
|
||
生源地 VARCHAR(6),
|
||
状态 VARCHAR(4),
|
||
FOREIGN KEY(院系编号) REFERENCES 院系表(院系)
|
||
);
|
||
-- (3)教师表
|
||
CREATE TABLE 教师表
|
||
(
|
||
教师编号 VARCHAR(8) PRIMARY KEY,
|
||
院系编号 SMALLINT,
|
||
姓名 VARCHAR(10) NOT NULL,
|
||
性别 VARCHAR(2) CHECK(性别 IN('男','女')),
|
||
职称 VARCHAR(6) CHECK(职称 IN('教授','副教授','讲师','助教')),
|
||
专业 VARCHAR(10),
|
||
FOREIGN KEY (院系编号) REFERENCES 院系表(院系)
|
||
);
|
||
-- (4)课程表
|
||
CREATE TABLE 课程表
|
||
(
|
||
课程编号 VARCHAR(8) PRIMARY KEY,
|
||
课程名称 VARCHAR(20) NOT NULL,
|
||
责任教师 VARCHAR(8),
|
||
学时 SMALLINT,
|
||
课程性质 VARCHAR(10) CHECK(课程性质 IN('公共基础','专业基础','专业选修','任意选修')),
|
||
FOREIGN KEY(责任教师) REFERENCES 教师表(教师编号)
|
||
);
|
||
--(5) 选课表
|
||
CREATE TABLE 选课表(
|
||
学号 VARCHAR(8),
|
||
课程编号 VARCHAR(8),
|
||
成绩 SMALLINT DEFAULT NULL CHECK(成绩 BETWEEN 0 AND 100),
|
||
PRIMARY KEY(学号,课程编号),
|
||
FOREIGN KEY(学号) REFERENCES 学生表(学号),
|
||
FOREIGN KEY(课程编号) REFERENCES 课程表(课程编号)
|
||
); |