数据库原理与应用 电子教案48学时李荟娆(1-12周 4学时每周).docx
《数据库原理与应用 电子教案48学时李荟娆(1-12周 4学时每周).docx》由会员分享,可在线阅读,更多相关《数据库原理与应用 电子教案48学时李荟娆(1-12周 4学时每周).docx(113页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、青岛理工大学琴岛学院2020-2021学年 第二学期教案教师姓名李荟,所属系部计算机工程系课程名称数据库原理及应用专业班级2019级计应编写时间2021.3在E-R图完成后,将其转换为DBMS支持的数据模型(如关系模型),完成实体、属性 和联系的转换。遵循一些规范化理论,尽量防止出现大量冗余、插入异常、删除异常等问题。物理数据库设计。确定数据库的存储结构、文件类型等。 DBMS为了保证其独立性与可移植性,承当了大局部任务。数据库设计人员只需要考虑硬件、操作系统的特性,为数据表选择合适的存储引擎, 为字段选择合适的数据类型等,以及评估磁盘空间需求等工作。数据库实施。使用SQL语句创立数据库、数据
2、表。编写与调试应用程序。数据库运行和维护。在数据库系统正式投入运行后,进行一些维护、调整、备份、升级等工作。2.数据库设计范式(难点) 范式与范式的级别。范式:数据库设计要满足一定的规范化要求。 最常用的有第一范式(1NF)、第二范式(2NF)和第三范式(3NF)o 一般来说,数据库设计只需满足第三范式(3NF)就可以了。 第一范式(1NF)。第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能 有多个值,即实体中的某个属性不能有多个值,或不能有重复的属性。特点:遵从原子性,属性不可再分。通过用户和用户联系方式表的设计举例说明不满足第一范式存在的问题,如何通过符 合第一
3、范式的方式设计数据表。 第二范式(2NF)o前提条件:必须先满足第一范式。第二范式要求实体的属性完全依赖于主键,不能仅依赖主键的一局部(对于复合主键 而言)。特点:遵从唯一性,非主键字段需完全依赖主键。 利用游标检索数据,用MySQL提供的FETCH检索SELECT结果集中的数据。每访问一次FETCH语句就获取一行记录,获取数据后游标的内部指针就会向前移动指 向下一条记录,保证了每次获取的数据都不同。 FETCH NEXT FROM游标名称INTO变量名f变量名 FETCH语句根据指定的游标名称将检索出来的数据存放到对应的变量中。变量名的个数必须与声明游标时通过SELECT语句查询的结果集的字
4、段个数保持一致。检索所有数据,通常情况下使用FETCH语句与REPEAT循环语句配合。 FETCH语句从游标中检索出最后一条记录后,再次执行FETCH语句,将产生“ERROR 1329(02000):No data to FETCH”错误信息。因此,在使用游标时通常利用DECLARE HANDLER处理该错误,从而结束游标的循环遍历。 关闭游标,释放游标占用的MySQL服务器的内存资源。语法:CLOSE游标名称。利用CLOSE关闭游标后,假设再次需要利用游标检索数据时,仅需使用OPEN翻开游标 即可,不需要再次重新定义游标。如果没有利用CLOSE关闭游标,它也会在到达程序最后的END语句的地方
5、自动关闭。4 .通过案例演示游标的具体使用。5 .回顾如何在增、删、改数据时,能够自动执行指定的操作?使用MySQL提供的触发器。6 .触发器的作用,以及触发器与存储过程的关系。 触发器可以看作是一种特殊类型的存储过程。 与存储过程的区别在于,存储过程使用时需要调用,而触发器是在预先定义好的事件 (如INSERT、DELETE等操作)发生时,才会被MySQL自动调用。 创立触发器时需要与数据表相关联。 触发器的优缺点。A优点:触发器可以通过数据库中的相关表实现级联无痕更改操作。保证数据平安,进行平安校验。缺点:触发器的使用会影响数据库的结构,同时增加了维护的复杂程度。触发器的无痕操作会造成数据
6、在程序(如PHP、Java等)层面不可控。7 .触发器的基本操作。 创立触发器语法:CREATE TRIGGER触发器名字触发时机触发事件ON表FOR EACH ROW触发顺序BEGIN操作的内容END触发器操作的数据表不能是临时表或试图。翻开手册或展示图表,详细讲解触发器语法中各组成局部。对于每张数据表来说,每个触发事件只允许创立一个触发器。 一张数据表根据触发时机的不同最多支持6个触发器。通过案例演示触发器的创立。补充讲解:old关键字和new关键字的使用。 查看触发器 SHOW TRIGGERS FROM | IN)数据库名称LIKE,匹配模式WHERE条件表达式利用SELECT直接查看
7、information_schema数据库下的triggers数据表中的数据。以SHOW TRIGGERS为例演示触发涔的查看以及查看结果个字段的含义。 触发器的触发在触发器触发前,查看建立触发器的数据表中的数据 对创立触发器的数据表执行的操作(INSERT、UPDATE或DELETE)。再次查看建立触发器的数据表中数据的变化。 删除触发器 语法:DROP TRIGGER IF EXISTS数据库.触发器名称通过案例演示触发器的删除。小结:游标可以从结果集读取多行数据并处理,区别于普通变量,而触发器时将一段SQL语句封装 到一起,自动触发执行的程序块。青岛理工大学琴岛学院教师课题纸课题第6章存
8、储过程与事务总课时数48累计课时第39-40课时授课时间2021年5月7日第10周星期五第34节教学目的1 .理解事务的概念和4个基本特性2 .掌握事务的开启、提交和回滚操作3 .掌握事务的4种隔离级别教学重点事务的基本操作、修改隔离级别、MySQL的4种隔离级别教学难点MySQL的4种隔离级别课型上机课教具计算机课后小结事物机制基本可以了解掌握,具体事物处理过程需进一步加深板书设计第9章存储过程与事务 事务教学进程回顾注释导入新课 讲授新课 正题:一、小结 作业(事务处理)一、提出需求,导入学习任务(1)通过银行转账的经典案例引出本节课的内容:事务处理。(2)明确学习方向。【知识点】事务的概
9、念事务的基本操作事务的保存点【能力点】了解事务的作用及4个基本特性掌握事务的基本操作二、明确目标,完成任务实现16.事务的概述举例:现实生活中,人们经常会进行转账操作,转账可以分为两局部来完成,转入和 转出,只有这两个局部都完成才认为转账成功。在数据库中,这个过程是使用两条SQL 语句来完成的,如果其中任意一条语句出现异常没有执行,那么会导致两个账户的金额 不同步,造成错误。 概念:事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组成,且每个 SQL语句是相互依赖的。只要在程序执行过程中有一条SQL语句执行失败或发生错误, 那么其他语句都不会执行。 特性:事务必须满足A、C、I、D这
10、4个基本特性。 A表示原子性(Atomicity): 一个事务必须被视为一个不可分割的最小工作单元。 C表示一致性(Consistency):在事务处理时,无论执行成功还是失败,都要保证数据 库系统处于一致的状态。 I表示隔离性(Isolation):当一个事务在执行时,不会受到其他事务的影响。 D表示持久性(Durability):事务一旦提交,其对数据库的修改就是永久性的。17 .事务的基本操作 开启事务。 默认情况下,用户执行的每一条SQL语句都会被当成单独的事务自动提交。 如果要将一组SQL语句作为一个事务,那么需要先执行START TRANSACTION显式地开启 一个事务。 在事务
11、中执行SQL语句操作,但是每一条SQL语句不再自动提交。 提交事务或回滚事务。提交事务:COMMIT; 回滚事务:ROLLBACK; ROLLBACK只能针对未提交的事务回滚,已提交的事务无法回滚。当执行COMMIT或ROLLBACK后,当前事务就会自动结束。 通过银行转账的案例演示事务的基本操作。补充讲解:事务不允许嵌套、事务处理的应用、支持事务的存储引擎、开启事务的另外一 种方式以及如何修改SQL语句的自动提交。18 .事务的保存点 保存点的介绍概念:保存点指的是在事务中用户自定义个一个标识。作用:可用于回滚事务的局部操作。特点:一个事务中可以创立多个保存点,在提交事务后,事务中的保存点就
12、会被删除。 另外,在回滚到某个保存点后,在该保存点之后创立过的保存点也会消失。 保存点的相关语法定义语法:SAVEPOINT保存点名; 使用语法:ROLLBACK TO SAVEPOINT保存点名;删除语法:RELEASE SAVEPOINT保存点名; 通过银行转账的案例演示事务的保存点的使用。补充讲解:如何控制事务提交(COMMIT)或回滚(ROLLBACK)后的行为。三、归纳总结,布置课后作业(1)回顾上课前的学习目标,对本节课知识点进行总结。(2)练习中教材中所学的SQL语法及案例。(3)使用博学谷系统下发课后作业。(事务隔离级别)一、提出需求,导入学习任务(1)回顾事务的基本操作,引出
13、本节课讲解的内容:事务隔离级别。(2)明确学习方向。【知识点】查看隔离级别修改隔离级别MySQL的4种隔离级别【能力点】了解事务隔离级别的作用掌握隔离基本的修改及隔离级别的特点二、明确目标,完成任务实现1 .回顾事务的基本操作,引出事务隔离级别事务的基本操作:开启事务、在事务内执行SQL语句(此时可设置保存点,用于回滚 局部操作)、提交事务或回滚事务。数据库是一个多用户的共享资源,MySQL允许多线程并发访问,因此用户可以通过不 同的线程执行不同的事务。为了保证这些事务之间不受影响,对事务设置隔离级是十 分必要的。2 .查看隔离级别 全局隔离级 影响的是所有连接MySQL的用户 SELECT
14、global.transaction_isolation; 当前会话中的隔离级 只影响当前正在登录MySQL服务器的用户,不会影响其他用户 SELECT session.transaction_isolation; 下一个事务的隔离级 仅对当前用户的下一个事务操作有影响。 SELECT transactionjsolation; MySQL的隔离级别 REPEATABLE-READ (可重复读):默认值。 READ UNCOMMITTED (读取未提交) READ COMMITTED (读取提交) SERIALIZABLE (可串行化)3.修改隔离级别 SET修改隔离级别 SET SESSIO
15、N | GLOBAL TRANSACTION ISOLATION LEVEL 参数值 详细讲解修改隔离级别语法各组成局部的含义。 通过案例演示如何修改事务的隔离级别的使用。补充讲解:设置事务隔离级别的同时如何设置事务的访问模式:只读或读/写模式。4. MySQL的4种隔离级别 READUNCOMMITIED (读取未提交)。 事务中最低的级别。 特点:在该事务的隔离级别下会出现脏读(Dirty Read)。 脏读:是指一个事务读取了另外一个事务未提交的数据。 解决方法:提高事务的隔离级别,如READ COMMITTED。 通过案例演示脏读及解决方法。 脏读在实际应用中会带来很多问题,除非用户有
16、很好的理由,否那么,为了保证数据的 一致性,在实际应用中几乎不会使用这个隔离级别。 READ COMMITIED (读取提交)。 是大多数DBMS (如SQLServer、Oracle)的默认隔离级,但不包括MySQL。 特点:在该事务的隔离级别下可防止脏读,但会出现不可重复读(NON-REPEATABLE READ)的问题。 不可重复读:是指在一个事务中屡次查询的结果不一致,原因是查询的过程中数据发 生了改变。 解决方法:提高事务的隔离级别,如REPEATABLE READ。A通过案例演示不可重复读及解决方法。 REPEATABLE READ (可重复读)。 MySQL的默认事务隔离级。 特
17、点:在该事务的隔离级别下可防止脏读和不可重复读,但在理论上会出现幻读(PHANTOM READ)的现象。幻读又被称为虚读,是指在一个事务内两次查询中数据条数不一致。幻读与不可重复读的异同点,相同点是同样发生在两次查询过程中。不同的是,幻读 是由于其他事务做了插入记录的操作,导致记录数有所增加。解决方法:MySQL的InnoDB存储引擎通过多版本并发控制机制解决了幻读的问题。通过案例演示幻读及解决方法。 SERIALIZABLE (可串行化)。事务中最高级别的隔离级。特点:在该事务的隔离级别下可防止脏读、不可重复读和幻读的问题,但是由于此隔 离级别会在每个读的数据行上加锁(使之不会发生冲突)可能
18、导致超时(Timeout) 和锁竞争(Lock Contention)现象,因此SERIALIZABLE也是性能最低的一种隔离级。使用意见:除非为了数据的稳定性,需要强制减少并发的情况时,才会选择此种隔离 级,通常情况下不会使用这种隔离级别。通过案例演示可串行化及其带来的锁等待、超时的问题。三、归纳总结,布置课后作业(I)回顾上课前的学习目标,对本节课知识点进行总结。事务机制中的提交和回滚是重点内容,需要学生在理解数据库的数据处理过程基础上进一步理 解事务机制,这样才能更好的实现具体数据库功能。(2)练习中教材中所学的SQL语法及案例。青岛理工大学琴岛学院教师课题纸课题第7章索引、视图总课时数
19、48累计课时第41-42课时授课时间2021年5月13日第11周星期四第34节教学目的掌握索引的操作及使用原那么教学重点索引的基本操作、索引的使用原那么教学难点索引的基本操作课型理论课教具计算机课后小结索引是一种特殊的数据结构,可以看做是利用MySQL提供的语法将数据表 中的某个或某些字段与记录的位置建立一个对应的关系,并按照一定的顺序排 序好,类似于书籍中的目录。掌握索引分类及管理。板书设计第7章索引和视图 索引教学进程回顾注释导入新课 讲授新课 正题:一、小结 作业(索引)一、提出需求,导入学习任务(1)给出情景,引出本节课的内容:索引。(2)明确学习方向。【知识点】索引的概述索引的基本操
20、作索引的使用原那么【能力点】掌握索引的基本操作掌握索引的使用原那么二、明确目标,完成任务实现1 .情景引入:现实生活中,为方便快速在书籍中找到待查找的内容,都会在书籍的开始 添加一个目录,让用户可根据目录的内容与指定的页数快速定位到要查看的内容。那 么在数据库中如何从大量的数据中快速的查找数据?2 .索引的作用索引是一种特殊的数据结构,可以看做是利用MySQL提供的语法将数据表中的某个或 某些字段与记录的位置建立一个对应的关系,并按照一定的顺序排序好,类似于书籍 中的目录。目的:就是为了快速定位指定数据的位置。3.索引的分类 根据实现语法的不同。 普通索引:使用KEY或INDEX定义。 唯一性
21、索引:使用UNIQUE INDEX定义。 主键索引:由PRIMARY KEY定义。 全文索引:由FULLTEXT INDEX定义。 空间索引:由SPATIAUNDEX定义。补充讲解:什么是聚簇索引。假设在InnoDB表中数据保存的顺序与主键索引字段的顺序一致时,可将这种主键索引称为通过用户和订单表的设计举例说明不满足第二范式存在的问题,如何通过符合第二范式的方式设计数据表。 第三范式(3NF)。(难点)前提条件:必须先满足第二范式。第三范式要求一个数据表中每一列数据都和主键直接相关,而不能间接相关。特点:非主键字段不能相互依赖。通过用户表和折扣表的设计举例说明不满足第三范式存在的问题,如何通过
22、符合第三 范式的方式设计数据表。补充讲解:什么函数依赖,函数依赖的分类,什么是反范式,何时使用反范式。3 .数据建模工具 常用建模工具:ERwin Data Modeler、Power Designer、MySQL Workbench 等。 MySQL Workbench由MySQL官方出品,具有开源和商业两个版本,支持Windows和Linux系统。 MySQL Workbench 的使用。翻开后的面板介绍。 EER图是指增强版的E-R图,更加适合专业人员进行数据建模,在绘制完成后可以直 接转换成SQL。为学生演示EER图的创立以及如何生成对应的SQL语句。三、课后小结数据库设计环节:需求分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理与应用 电子教案 48学时李荟娆1-12周 4学时每周 数据库 原理 应用 电子 教案 48 学时 李荟娆 12 每周
限制150内