《MySQL数据库项目实战教案项目5、6“天意书屋”数据库中程序的设计、“天意书屋”数据库的用户权限和安全.docx》由会员分享,可在线阅读,更多相关《MySQL数据库项目实战教案项目5、6“天意书屋”数据库中程序的设计、“天意书屋”数据库的用户权限和安全.docx(23页珍藏版)》请在课桌文档上搜索。
1、UPDATE和DELTE事件。在MySQL中,定义在触发器中的SQL语句可以关联表中的任意列,但不能直接使用列的名称标识,那会使系统混淆,所以MySQL提供了两个逻辑表NEW和OLD。NEW和OLD的表结构与触发器所在数据表的结构完全一致,当触发器的执行完成之后,这两个表也会被自动删除。NEW表用来存放更新后的记录。对于INSERT语句,NEW表中存放的是要插入的记录;对于UPDATE语句,该表中存放的是要更新的记录。OLD表用来存放更新前的记录。对于UPDATE语句,OLD表中存放的是更新前的记录(更新完后即被删除);对于DELETE语句,该表中存放的是被删除的记录。3 .创建AFTER触发
2、器定义AFTER触发器是指触发器监视的触发事件执行之后,再激活触发器,激活后所执行的操作无法影响触发器所监视的事件。AFTER触发器也可以根据所监视的事件分为三种,分别是INSERT型触发器、UPDATE型触发器和DELETE型触发器。4 .创建AFTER触发器方法语法格式:CREATETRIGGER触发器名称AFTER触发事件ON表名FOREACHROW触发器激活后执行的SQL语句;CREATETRIGGER:表示创建触发器。触发事件可以是INSERT、UPDATE和DELETE。FOREACHROW表示数据表中任意一条记录满足触发事件都会激活触发器。4.查看触发器语法格式:SHOWTRIG
3、GERS;三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第13-14学时(创建BEFORE触发器)知识目标:掌握创建BEFORE触发器的方法,掌握删除触发器的方法。能力目标:具备创建BEFORE触发器、删除触发器的能力。素质目标:遵守规则。一、温故知新,情境导入1 .回顾上节课学习的创建AFTER触发器,引出本节的内容:创建BEFORE触发器。2 .动画引入创建BEFORE触发器,明确学习目标。二、知识讲解,实操演示1 .创建BEFORE触发器定义BEFORE触发器是指触发器在所监视的触发事件执行之前激活,激活后执行的操作先于监视的事件,这样就有机
4、会进行一些判断或修改即将发生的操作。BEFORE触发器可以根据所监视的事件分为三种,分别是INSERT型触发器、UPDATE型触发器和DELETE型触发器。2 .创建BEFORE触发器方法语法格式:CREATETRIGGER触发器名称BEFORE触发事件ON表名FOREACHROW触发器激活后执行的SQL语句;CREATETRIGGER:表示创建触发器。触发事件可以是INSERT、UPDATE和DELETE。FOREACHROW表示数据表中任意一条记录满足触发事件都会激活触发器。3.删除触发器语法格式:DROPTRIGGER数据库名.触发器名称;三、任务评测,汇报展示(1)发布课堂在线测试。(
5、2)学生分小组完成项目需求,并进行汇报展示。第15-16学时(处理事务)知识目标:了解事务的概述,掌握事务的基本操作。能力目标:具备处理事务的能力。素质目标:言必行,行必果。一、温故知新,情境导入1 .回顾上节课学习的创建BEFORE触发器,引出本节的内容:处理事务。2 .动画引入事务的概念,明确学习目标。二、知识讲解,实操演示1 .事务的概述事务是一组有着内在逻辑联系的SQL语句。支持事务的数据库系统要么正确执行事务里的所有SQL语句,要么把它们当做整体全部放弃,也就是说事务永远不会只完成一部分。事务可以由一条非常简单的SQL语句组成,也可以由一组复杂的SQL语句组成。在事务中的操作,要么都
6、执行,要么都不执行,这就是事务的目的,也是事务的重要特征之一。使用事务可以大大提高数据安全性和执行效率。事务有着极其严格的定义,它必须同时满足4个特征(俗称为AClD标准): 原子性(Atomicity) 一致性(ConSiStenCy)隔离性(ISoIatiOn) 持久性(Durability)2 .事务的基本操作在默认情况下,用户执行的每一条SQL语句都会被当成单独的事务自动提交。如果要将一组SQL语句作为一个事务,则需要先显式地开启一个事务。语法格式:3 1步:STARTTRANSACTION;4 2步:SQL语句集;5 3步:COMMIT/ROLLBACK; STARTTRANSACT
7、ION:表示开始事务。 COMMIT:关键字,表示提交事务。ROLLBACK:关键字,表示回滚事务。三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第17-18学时(项目实训)一、需求分析,布置任务1 .教师先进行需求分析,分析学生选课系统项目的视图和索引相关需求。2 .教师发布任务。二、团队合作,任务执行1.学生分为6组,分工合作。2.项目执行过程中,通过团队合作解决问题,最终完成项目。三、汇报展示,考核评价1 .各小组通过抽签方式决定汇报顺序。2 .小组汇报结束后,教师和其他同学可以为该小组成员打分,系统自动生成各成员的成绩。教学反思MySQL数
8、据库项目实战教唆课程名称:XXXXXX授课年级:XXXXX授课学期:XXXXX教师成名:XXXX项目名称项目6“天意书屋”数据库的用户权限和安全已瞿10学时内容导览在前面的项目中,都是通过root(超级用户)登录数据库进行相关的操作。而在实际应用中,若不能保证足够的安全性,这种操作很可能会造成数据的丢失、泄露甚至被破坏后造成无法挽回的损失。因此,在正常的工作环境中,数据库的管理员会对需要操作数据库的人员分配用户名、密码以及可操作的权限范围,让其仅能在自己权限范围内操作。数据库也会遭遇系统管理员在维护数据表时误删部分重要数据的情况,如果不能及时补救会造成极大损失。为了挽回损失,数据库管理人员需要
9、对数据库进行数据备份,在出现操作事故后可以将之前的数据还原。本章将对针对MySQL中的用户权限和数据库备份还原进行详细讲解。学标教目1 .掌握查看用户、创建用户、修改用户、重命名用户、删除用户的两种方式。2 .掌握查看权限、授予权限、回收权限的两种方式,掌握刷新权限的方式。3 .掌握使用navicat进行数据备份的方式,掌握SQL语言备份单个数据库、多个数据库、所有数据库。4 .掌握使用navicat方式和SQL语言进行数据还原的方式。教学重点1 .创建用户、授予权限、回收权限。2 .使用SQL语言备份单个数据库、多个数据库、所有数据库;使用navicat方式和SQL语言进行数据还原的方式。教
10、学难点1 .创建用户、授予权限。2 .使用SQL语言备份单个数据库、多个数据库、所有数据库,使用SQL语言进行数据还原的方式。教学过程第1-2学时(管理用户)知识目标:掌握查看用户、创建用户、修改用户、重命名用户、删除用户的两种方式能力目标:掌握查看用户、创建用户、修改用户、重命名用户、删除用户的两种方式素质目标:培养学生认真仔细的职业精神和动手实践能力一、温故知新,情境导入1.回顾前面项目中学习的数据表操作,引出本节的内容:用户。2.动画引入用户概念,了解学习内容。二、知识讲解,实操演示1 .查看用户除了通过NaViCat图形化界面方式查看用户,也可以使用SQL语句查看。2 .创建用户在My
11、SQL数据库中,只有一个root用户是无法管理众多数据的,因此需要创建多个普通用户来管理不同类型的数据。创建普通用户有两种方式,一种使用NaViCat图形化界面,一种使用SQL语句。(1)使用NaViCat图形化界面方式创建用户(2)使用SQL语句创建用户CREATEUSER账户名IDENTIFIEDBY密码WITH资源控制选项;3 .修改用户创建用户后,可以对用户的相关选项进行修改。修改用户有两种方式,一种使用NaViCat图形化界面,种使用SQL语句。因NaViCat图形化界面的方式不方便修改用户密码,故不作为重点介绍。下面详细介绍使用SQL语句修改用户的方法。ALTERUSER账户名ID
12、ENTIFIEDBY密码WITH资源控制选项;4 .重命名用户创建好用户后,也可以对用户的名字进行重命名。重命名用户名有两种方式,一种使用Navicat图形化界面,一种使用SQL语句。(I)使用NaViCat图形化界面重命名用户名(2)使用SQL语句重命名用户名RENAMEUSER旧账户名1To新账户名1,旧账户名2To新账户名25 .删除用户在InySql中,通常会创建多个用户来管理数据库。在使用过程中如果发现某些用户没有存在的必要了,就可以将该用户删除。删除用户有两种方式,一种使用Navicat图形化界面,一种使用SQL语句。(1)使用NaviCat图形化界面方式删除用户(2)使用SQL语
13、句删除用户DROPUSER账户名,账户名;三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第3-4学时(授予权限)知识目标:掌握查看权限、授予权限、回收权限的两种方式,掌握刷新权限的方式能力目标:掌握查看权限、授予权限、回收权限的两种方式,掌握刷新权限的方式素质目标:培养学生认真仔细的职业精神和动手实践能力一、温故知新,情境导入1 .回顾上节课学习的管理用户的操作,引出本节的内容:管理权限。2 .通过动画引入任务情境,明确学习目标。二、知识讲解,实操演示1 .查看权限MySQL的权限简单的理解就是MySQL允许用户做其权限以内的事情,不可以越界。My
14、SQL中存在4个控制权限的表,分别为USer表,db表,tables_priv表,columns_priv表。一般新创建的用户不允许访问属于其他SQL用户的表,也不能立即创建自己的表,只有用户被授权,才能执行相关操作。用户是否具有相关权限可以通过Navicat图形化界面方式查看,也可以通过SQL语句的方式查看。(1)使用Navicat图形化界面方式查看权限(2)使用SQL语句查看权限SHOWGRANTSFOR账户名;2 .授予权限在MySQL数据库中,为了保证数据的安全性,数据库管理员需要为每个用户赋予不同的权限,以满足不同用户的需求。比如给用户授予SeIeCt的权限,那么该用户就只能执行se
15、lect操作,不能执行其他操作。给用户授予权限有两种方式,一种使用Navicat图形化界面,一种使用SQL语句。(1)使用Navicat图形化界面为用户授予权限(2)使用SQL语句为用户授予权限GRANT权限类型ON数据库.表名TO账户名;3 .回收权限在MySQL中,为了保证数据库的安全性,需要将用户不必要的权限回收。权限收回后,用户账户记录将从db、host、tables_priv和ColUInn_priv表中删除,但是用户账户记录仍然在USer表中保存。回收权限有两种方式,一种使用NaViCat图形化界面,一种使用SQL语句。(1)使用Navicat图形化界面方式回收用户权限(2)使用S
16、QL语句回收用户权限。REVOKE权限类型ON数据库.表名FROM账户名4.刷新权限刷新权限指的是从系统数据库InySqI中的权限表中重新加载用户的特权。执行刷新权限操作的原因在于:CREATEUSERGRANT等操作会将服务器的缓存信息保存到内存中,而REVOKE、DRoPUSER操作并不会同步到内存中,所以在REvOKE、DROPUSER后推荐使用InySql提供的命令,重新加载用户的特权。FLUSHPRIVILEGES;三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第5-6学时(运用备份)知识目标:掌握使用navicat进行数据备份的方式,掌
17、握SQL语言备份单个数据库、多个数据库、所有数据库能力目标:掌握使用navicat进行数据备份的方式,掌握SQL语言备份单个数据库、多个数据库、所有数据库素质目标:培养学生动手实践的能力一、温故知新,情境导入1.回顾前面项目中学习的数据操作,引出本节的内容:备份。2.动画引入备份概念,了解学习内容。二、知识讲解,实操演示数据备份数据库备份有两种方式:一种使用NaViCat图形化界面方式,前面已介绍过,不再赘述。一种使用mysqldump工具。InySqIdUmP工具是MySQL自身提供的一个非常好用的数据备份工具,保存在MySQL安装目录下的bin子目录下。它可以将数据备份为一个文本文件,并且
18、将表的结构和表中的数据转化成SQL语句存储在这个文本文件中,其SQL语句包括CREATE和INSERT语句等。这些SQL语句都可以在还原时使用,还原数据时就可以使用其中的CREATE语句来创建表,使用其中的INSERT语句来还原数据。Inysqldump工具支持备份单个或多个数据库。1、备份单个数据库mysqIdump-U用户名-P密码数据库名称路径fiIename.sql2、备份多个数据库mysqldump-U用户名-P密码一databases数据库名称1数据库名称2,路径filename,sql3、备份所有数据库mysqldump-U用户名-P密码一aldatabases路径filenam
19、e,sql三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第7-8学时(数据还原)知识目标:掌握使用navicat方式和SQL语言进行数据还原的方式能力目标:掌握使用navicat方式和SQL语言进行数据还原的方式素质目标:培养学生认真仔细的职业精神和动手实践能力一、温故知新,情境导入1.回顾上节课学习的数据备份的操作,引出本节的内容:数据还原。2.通过动画引入任务情境,明确学习目标。二、知识讲解,实操演示数据还原当数据丢失或遭到意外破坏时,可以使用数据备份还原数据以减少损失。数据还原有两种方式,一种使用Navicat图形化界面方式进行还原,一种使用
20、SQL语句还原。1、使用NaViCat图形化界面方式进行数据还原2、使用SQL语句进行数据还原mysql-u用户名-P密码数据库名称filename.sql三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第9-10学时(项目实训)一、需求分析,布置任务1 .教师先进行需求分析,分析学生选课系统项目的用户权限和备份还原相关需求。2 .教师发布任务。二、团队合作,任务执行1 .学生分为6组,分工合作。2 .项目执行过程中,通过团队合作解决问题,最终完成项目。三、汇报展示,考核评价1 .各小组通过抽签方式决定汇报顺序。2 .小组汇报结束后,教师和其他同学可以为该小组成员打分,系统自动生成各成员的成绩。教学反思