1.以最简单的方式创建一个数据库,数据库的名称自定义。
create database 教学管理系统
2.在自己创建的数据库中用t_sql语言创建,班级表,学生表,课程表,成绩表 其中有关字段的名称和数据类型如下: 班级表:(班号为主键,班级人数必须大于20) 班号 char(20) 专业 char(20) 所在系 char(20) 人数 smallint create table 班级表 (
班号 char(20) primary key, 专业 char(20), 所在系 char(20),
人数 smallint check(人数>20)
)
学生表:(学号为主键,班号为外键)
学号 char(20) 姓名 char(20) 性别 char(20) 籍贯 char(20) 出生日期 smalldatetime 班号 char(20)
create table 学生表 (
学号 char(20) primary key, 姓名 char(20),
性别 char(20), 籍贯 char(20),
出生日期 smalldatetime,
班号 char(20) references 班级表(班号) on delete cascade on update cascade )
课程表:(课程号为主键)
课程号 char(20) 课程名 char(20) 教材 char(20) 课时 smallint create table 课程表
(
课程号 char(20) primary key, 课程名 char(20), 教材 char(20), 课时 smallint
)
成绩表:(学号和课号为主键)
学号 char(10) 课号 char (10) 成绩 int create table 成绩表 (
学号 char(10) ,
课号 char(100),
成绩 int,
constraint cjb_zj primary key(学号,课号) )
3.用t_sql语言为每个表做修改
1) --为学生表增加一个字段“年龄”,数据类型为smallint alter table 学生表 add 年龄 smallint
2) --为成绩表中字段学号和课号添加非空约束 alter table 成绩表
add constraint xuehao_kehao_nonull check (学号 is not null and 课号 is not null) 3) --为成绩表添加外键约束 alter table 成绩表
add constraint cj_wj foreign key (学号) references 学生表(学号) on delete cascade
on update cascade alter table 成绩表
add constraint cj_wj1 foreign key (课号) references 课程表(课程号) on delete cascade
on update cascade
4) --为成绩表成绩添加约束,成绩必须在0到100分之间 alter table 成绩表
add constraint cj_check check(成绩>=0 and 成绩<=100)
5) --为学生表年龄添加约束,年龄必须小于40,(思考:加入对现有违反约束的数据不检查怎么写?)
alter table 学生表 with nocheck
add constraint nl_check check(年龄<40) 6) --删除学生表年龄的check约束
alter table 学生表 drop constraint nl_check 7) --删除成绩表中字段“课程”的外键 alter table 成绩表 drop constraint cj_wj1
8) --删除学生表年龄字段 alter table 学生表 drop column 年龄