1.创建 students 数据库,在该数据库下创建stu表,并同时创建约束,表结构及约束要求如表A-7所示。
表A-7stu 表的结构
字 段 类 型 是否为空 约 東
学号 CHAR(4) 否 主键
姓名 CHAR(8) 是
性别 CHAR(2) 是
出生日期 DATE 是
2.创建表sc,并同时创建约束,表结构及约束要求如表A-8所示。
表A-8sc表的结构
字段 类 型 是否为空 约 東
学号 CHAR(4) 否 外键参照stu表中的学号列(约束名为fk_sno)
课号 CHAR(4) 否
成绩 DECIMAL(5,2) 是 0≤成绩≤100
设置(学号、课号)为主键。
3.创建表course,并同时创建约束,表结构及约束要求如表A-9所示
字段 类型 是否为空 约束
课号 CHAR(4) 否
课名 CHAR(20) 是 唯一约束(约束名为up_cname
学分 INT 是
4.在course 表的课号列上建立主键约束。
5.在sc表的课号列上建立外键约束fk_cno,参照 course 表中课号列的取值,要求实现级联更新。
6.在stu 表的姓名列上建立唯一约束名uq_sname。
7.在course表的学分列上建立检查约束ck_xf,检查条件为学分>0。
8.删除sc 表的外键约束fk_cno、fk_sno。
9.删除stu表的主键约束。
10.删除course表的唯一约束uq_cname。
11.创建测试表test,它包含一个字段date_time,字段类型为VARCHAR(50)
创建触发器test_trig,实现在stu表中每插入一条学生记录自动在test表中追加一条插入成功时的日期时间。SYSDATE()函数用来获取当前的日期和时间。
为stu表插人一条记录引发触发器,查看test表中的内容。
12.在course 表上创建触发器del_ trig,当course 表上删除一门课程时,级联删除sc表中该课程的记录。