create table 院系
(编号 SMALLINT primary key,
名称 varchar(20) unique not null,
负责人 varchar(10),
办公地点 varchar (20) )
drop TABLE 学生
CREATE TABLE 学生 (
学号 CHAR(8) PRIMARY KEY,
院系 SMALLINT ,
姓名 VARCHAR(10) NOT NULL,
性别 CHAR(2) check (性别 like'男' or 性别 like'女'),
生源 VARCHAR(6) ,
状态 VARCHAR(4) ,
CONSTRAINT 学生_院系__院系_编号 FOREIGN KEY (院系) REFERENCES 院系(编号)
)
drop TABLE 教师
create table 教师
(
教师编号 CHAR(8) primary key,
院系 smallint ,
姓名 VARCHAR(10) not null,
性别 CHAR(2) check (性别 like'男' or 性别 like'女'),
职称 varchar (6) check (职称 like '教授' or 职称 like '副教授' or 职称 like'讲师' or 职称 like'助教'),
专业 varchar (10),
CONSTRAINT 教师_院系__院系_编号 FOREIGN KEY (院系) REFERENCES 院系(编号)
)
create table 课程
(
课程编号 char (8) primary key,
课程名称 varchar (20) not null,
责任教师 varchar (8) ,
学时 smallint not null,
课程性质 char (10) check(课程性质 like '公共基础' or 课程性质 like '专业基础' or 课程性质 like'专业选修' or 课程性质 like '任意选修'),
CONSTRAINT 课程_责任教师__教师_教师编号 FOREIGN KEY (责任教师) REFERENCES 教师(教师编号)
)
create table 选课
(
学号 char (8) ,
课程编号 char (8) ,
成绩 smallint check (成绩>=0 and 成绩<=100) default null,
primary key(学号,课程编号),
CONSTRAINT 选课_学号__学生_学号 FOREIGN KEY (学号) REFERENCES 学生(学号),
CONSTRAINT 选课_课程编号__课程_课程编号 FOREIGN KEY (课程编号) REFERENCES 课程(课程编号)
)
alter table 学生
add 平均成绩 smallint default null
alter table 课程
add check (学时 / 8 =0)
alter table 院系 alter column 名称 varchar(30)_xxx
alter table 院系 modify column 名称 varchar(30)
alter table 教师
add 工资 numeric(5,2)
CREATE INDEX 教师_姓名_升序
ON 教师 (姓名 ASC )
CREATE UNIQUE INDEX 课程_课程名称
ON 课程 (课程名称)
create CLUSTERED index 学生_姓名 on 学生(姓名);
part_gauss for mysql
最新推荐文章于 2024-10-09 18:19:09 发布