《数据库原理及应用(MySQL版) 实验教案 第4次课(上机)数据完整性.docx》由会员分享,可在线阅读,更多相关《数据库原理及应用(MySQL版) 实验教案 第4次课(上机)数据完整性.docx(3页珍藏版)》请在第一文库网上搜索。
1、教案首页(以2课时为单元)课 序授课日期授课班次授课教师批准人4课题实验四数据完整性目的要求1 .掌握使用SQL语句CREATETABLE定义约束的方法。2 .掌握使用SQL语句ALTER TABLE增加或删除约束的方法。3 . 了解约束的各种类型。4 .掌握使用SQL语句Createtrigger创建触发器的方法。5 .掌握引发触发器的方法。6 .掌握使用SQL语句DROP TRIGGER删除触发器的方法。教学内容1.SQL语句Createtable定义约束的方法。2. SQL语句ALTER TABLE增加或删除约束的方法。3. SQL语句Createtrigger创建触发器的方法。4. S
2、QL语句DROP TRIGGER删除触发器的方法。重点难点建表、修改表时约束的创建、修改及删除SQL语句,触发器的创建和删除。教学方法手 段教学方法:实验教学法手 段:机器演示教学步骤1 .内容讲解2 .上机练习3 .针对问题进一步讲解复习 提问题作业题目完成实验指导书中要求的上机作业预习内容课时分配(以分钟计算)教学环节复习提问新课讲解课堂实践每课小结布置作业时间分配3070课堂组织教学内容一、上机内容1.创建StUdentS数据库,在该数据库下创建表stu,并同时创建约束,表结构及 约束要求如表1所示。表1 Stu的表结构字段类型是否为空约束学号char(4)否主键姓名char(8)是性别
3、char(2)是出生日期date是2.创建表sc,并同时创建约身Q,表结构及约束要求如表2所示。表2 sc的表结构字段类型是否为空约束学号char(4)否外键参照StU表的学号列(约束名fk_sno)课号char(4)否成绩decimal(5,2)是OW成绩WloO设置(学号,课号)为主键。3.创建表CoUrSe,并同时创建约束,表结构及约束要求如表3所示。表3 course的表结构字段类型是否为空约束课号char(4)否课名char(20)是唯一约束(约束名uq_cname)学分int是4.在COUrSe表的课号列建立主键约束。5.在SC表的课号列建立外键约束fk_cno,参照COUrSe表
4、的课号列的取值,要求实现级联更新。6 .在Stu表的姓名列建立唯约束名uq-sname(7 .在CoUrSe表的学分列建立检查约束ck_xf,检查条件为学分0。8 .删除sc表的外键约束fk_cno, fk_snoo9 .删除StU表的主键约束。10 .删除course表的唯一约束uq_cnameo11 .创建测试表test,包含一个字段date_time,字段类型varchar(50);创建触发器test_trig,实现在Stu表中每插入条学生记录后,则自动在test 表中追加条插入成功时的日期时间。SYSDATE()函数用来获取当前的日期和时 间。为StU表插入一条记录引发触发器,查看test表的内容。12 .在course表上创建触发器del_trig,当course表上删除一门课程时,级联删 除SC表该课程的记录。删除course表的条记录,查看SC表相应记录是否被自动删除。二、实验思考1 .请说明唯一约束和主键约束之间的联系和区别。2 .在course表中插入-条学分值小于0的记录,该记录能插入成功吗?3 .建立外键约束所参照的父表的列必须建立成主键吗?4 .可以建立几种类型的触发器?