第一大题:
创建数据库S-T
创建教师表Teacher,其中字段有
Eno NUMERIC(4) ,
Ename Char(10) ,
Job CHAR(8),
Sal Numeric(7,2),
Deduct Numeric(7,2),
Deptno NUMERIC(2),
完成以下各题:
1、Eno为主键;
2、Ename 取唯一值;
3、约定Sal+Deduct不少于3000;
4、创建一个触发器Insert_Sal,当插入某个教师时,若其job为副教授且工资sal<4000时,自动修正为4000;
5、验证创建的触发器Insert_Sal是否成功。
第二大题
在Mysql中运行下列命令
创建学生表Student
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20));
创建课程表Course
CREATE TABLE Course
(Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40),
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno));
创建选课表SC
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY (Sno,Cno),
FOREIGN KEY (Sno) REFERENCES student(Sno),
FOREIGN KEY (Cno) REFERENCES course(Cno));
插入记录student
insert into student
values('200215121','李勇','男',20,'CS'),
('200215122','刘晨','女',19,'CS');
插入记录course
insert into course
values('2','数学',null,2),
('6','数据处理',null,2);
插入记录SC
insert into sc
values('200215121','1',92),
('200215122','2',90);
完成下面习题:
1、创建一个触发器s_delete,当删除学生表student中某个学生的信息时,同时将选课表sc中与该学生有关的数据全部删除。
2、用删除学生表中学号sno='200215122'的记录来验证创建的触发器。
3、删除创建的触发器s_delete;