create database 学生
on
(name=student,
filename='D:\student.mdf',
size=10,
maxsize=50,
filegrowth=5)
log on
(name=student_log,
filename='D:\student.ldf',
size=5MB,
maxsize=25MB,
filegrowth=5MB)
use 学生
create table 院系
(编号 tinyint primary key,
名称 char(30) unique not null,
负责人 char(10),
办公地点 char(40)
)
create table 学生
(学号 char(8) primary key,
院系 as convert(tinyint,substring(学号,3,4))persisted not null
foreign key references 院系(编号),
姓名 char(10) not null,
性别 char(2) check(性别='男' or 性别='女'),
生源 char(6),
状态 char(4) check(状态 in('正常','留级','休学','退学'))
)
create table 教师
(教师编号 char(6) primary key,
院系 as convert(tinyint,substring(教师编号,1,2))persisted not null
foreign key references 院系(编号),
姓名 char(10) not null,
性别 char(2)check(性别='男' or 性别='女'),
职称 char(6) check(职称 in ('教授','副教授','讲师','助教')),
专业 char(16)
)
create table 课程
(课程编号 char(6) primary key,
课程名称 char(24) not null,
责任教师 char(6) constraint duty_teacher
foreign key references 教师(教师编号),
学时 tinyint not null,
课程性质 char(8) check(课程性质 in('公共基础','专业基础','专业选修','任意选修'))
)
create table 选课
(学号 char(8) foreign key references 学生,
课程编号 char(6) foreign key references 课程,
考试成绩 tinyint check(考试成绩 between 0 and 100) default null
primary key(学号,课程编号)
)
on
(name=student,
filename='D:\student.mdf',
size=10,
maxsize=50,
filegrowth=5)
log on
(name=student_log,
filename='D:\student.ldf',
size=5MB,
maxsize=25MB,
filegrowth=5MB)
use 学生
create table 院系
(编号 tinyint primary key,
名称 char(30) unique not null,
负责人 char(10),
办公地点 char(40)
)
create table 学生
(学号 char(8) primary key,
院系 as convert(tinyint,substring(学号,3,4))persisted not null
foreign key references 院系(编号),
姓名 char(10) not null,
性别 char(2) check(性别='男' or 性别='女'),
生源 char(6),
状态 char(4) check(状态 in('正常','留级','休学','退学'))
)
create table 教师
(教师编号 char(6) primary key,
院系 as convert(tinyint,substring(教师编号,1,2))persisted not null
foreign key references 院系(编号),
姓名 char(10) not null,
性别 char(2)check(性别='男' or 性别='女'),
职称 char(6) check(职称 in ('教授','副教授','讲师','助教')),
专业 char(16)
)
create table 课程
(课程编号 char(6) primary key,
课程名称 char(24) not null,
责任教师 char(6) constraint duty_teacher
foreign key references 教师(教师编号),
学时 tinyint not null,
课程性质 char(8) check(课程性质 in('公共基础','专业基础','专业选修','任意选修'))
)
create table 选课
(学号 char(8) foreign key references 学生,
课程编号 char(6) foreign key references 课程,
考试成绩 tinyint check(考试成绩 between 0 and 100) default null
primary key(学号,课程编号)
)