《数据库高级应用技术》教案电子教案完整版授课教案整本书教案电子讲义(最新).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《数据库高级应用技术》教案电子教案完整版授课教案整本书教案电子讲义(最新).doc》由会员分享,可在线阅读,更多相关《《数据库高级应用技术》教案电子教案完整版授课教案整本书教案电子讲义(最新).doc(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程教案系 部: 课程代码: 课程名称: 课程组成员: 第一讲教 学 周第1周节次第1、2节章节内容关系数据库范式设计授课方式理论课() 讨论课( ) 实验课( ) 习题课( ) 其他( )主要内容与教学目的:1. 数据库范式的概念2. 数据库范式的作用3. 数据库范式的原理4. 数据库范式的适用范围重点:三大范式的原理标准难点:数据库范式在数据库设计中的运用课堂教学组织:1、数据库范式的概念、作用2、第一范式的标准l 数据库表中的字段都是单一属性,l 字段不可再分l 同一列中不能有多个值3、第二范式的标准l 满足第一范式l 每张表均有主键l 单字段主键l 联合主键4、第三范式的标准l 数据库
2、表满足第二范式l 数据表的非主键字段不存在传递依赖关系l 非主键字段不能决定其它非主键字段5、数据库范式应用举例6、数据库范式错误纠正拟提问题:在进行数据库设计为什么要遵循数据库范式基本原则。课后作业: 完成一个借书模块的数据库设计,需满足数据库三大范式,并符合如下的要求:l 读者人数众多、可借图书众多l 需维护读者的姓名、年龄、职业、学历、地址、电话、是否可借阅等信息l 需维护图书的书名、出版社、ISBN号、出版日期、价格等信息l 需维护出借的日期、到期时间、是否续期等信息注:每两节课(90分钟)为一讲,每讲必须填写此表。第二讲教 学 周第1周节次第3、4节章节内容数据库关系模式(1)授课方
3、式理论课() 讨论课( ) 实验课() 习题课( ) 其他( )主要内容与教学目的:1、关系数据库基本概念2、关系模式定义3、关系模式分解标准重点:关系模式分解标准难点:关系模式分解的函数传递依赖课堂教学组织:1、关系数据库基本概念l 关系(Relation)l 关系模式(Relation Schema)l 元组(Tuple)l 码(Key)l 超码(Super Key)l 候选码(Candidate Key)l 主码(Primary Key)2、关系模式定义关系模式是由5个元素来定义,表示为: R ( U,D,dom,I,F)l R为关系名l U为组成该关系的属性名的集合l D为U中属性的域
4、的集合l dom为属性集U向域集D的映射l I为完整约束集合l F为属性间数据的依赖关系集合3、关系模式分解标准l 分解具有无损连接性。l 分解要保持函数依赖性。l 分解既要保持函数依赖,又要具有无损连接性。拟提问题:关系与关系模式有什么联系与区别?课后作业:完成教材P14页练习题。注:每两节课(90分钟)为一讲,每讲必须填写此表。第三讲教 学 周第2周节次第5、6节章节内容数据库关系模式(2)授课方式理论课() 讨论课( ) 实验课() 习题课( ) 其他( )主要内容与教学目的:1、关系模式分解原理2、关系模式分解算法重点:无损连接分解过程难点:判别多元分解的无损性课堂教学组织:1、关系模
5、式分解原理l 分解过程:规范化过程中将一个关系模式分解为若干个关系模式,应该保证分解后产生的模式和原来的模式等价。将一个关系模式R(U,F)分解为若干个关系模式R1(U1,F1),R2(U2,F2)Rn(Un,Fn)(其中UU1 U2 Un,R1为F在U1上的投影),这意味着相应的将存储在一个二维表r中的数据分散到若干个二维表r1,r2,rn中(其中r1是r在属性组U1上的投影)。l 有损分解将关系r投影为r1,r2,rn时并不会丢失信息,但对r1,r2,rn作自然连接可能会产生一些原来r中没有的元组,从而无法区别那些元组是r中原来有的,即数据库中应该存在的数据,在这个意义上丢失了信息。l 无
6、损分解关系模式R(U,F)分解为关系模式R1(U1,F1),R2(U2,F2)是具有无损连接性的分解的充分必要条件是(U1U2U1-U2)F+,或者(U2U1U2-U1)F+2、关系模式分解算法l 关系模式分解的分解算法中有如下几个重要引理:(1)分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。(2)若要求分解具有无损连接性,那么模式分解一定可以达到4NF。(3)若要求分界保持函数依赖,那么模式分解可以达到3NF,但不一定能达到BCNF。(4)若要求分解既具有无损连接性,又保持函数依赖,则模式分解可以达到3NF,但不一定能达到BCNF。l 判别一个二元分解的无损连接性若F中至少存在如
7、下函数依赖中的一个:(1)(U1U2)U1U2(2)(U1U2)U2U1 则= R1,R2是R的无损分解。反之也成立。 拟提问题:如何判别一个二元分解是否为无损连接分解?课后作业:自己动手,重新操作教材P12-13有损分解与无损分解例子。注:每两节课(90分钟)为一讲,每讲必须填写此表。第四讲教 学 周第2周节次第7、8节章节内容关系数据库事务基本知识(1)授课方式理论课() 讨论课( ) 实验课() 习题课( ) 其他( )主要内容与教学目的:1、ACID特性2、事务模型3、并发事务重点:事务模型难点:并发事务控制课堂教学组织:1、ACID特性l 原子性(Atomicity)l 一致性(Co
8、nsistency)l 隔离性(Isolation)l 持久性(Durability)2、事务模型l 显式事务l 隐式事务l 自动事务3、并发事务当多个用户对同一数据进行操作时,会产生如下问题:l 丢失更新l 脏读l 非重复读l 幻读拟提问题:如何理解数据库事务的ACID特性?课后作业:完成教材P26页练习题(1-6)。注:每两节课(90分钟)为一讲,每讲必须填写此表。第五讲教 学 周第3周节次第9、10节章节内容关系数据库事务基本知识(2)授课方式理论课() 讨论课( ) 实验课() 习题课( ) 其他( )主要内容与教学目的:1、隔离级别2、事务锁重点:事务锁机制难点:合理设置事务隔离级别
9、课堂教学组织:1、隔离级别l 未提交读(read uncommitted)l 提交读(read committed)l 可重复读(Repeatable Read)l 可串行化(Serializable)2、事务锁l 共享锁(S 锁)共享封锁是为读操作设置的一种封锁,所以也称作读锁,或简称S锁目的是想读到一组不变的数据,也就是在读数据的过程中,不允许其他用户对该数据进行任何修改操作。这种封锁可以保证最大的读并发性,任何数量的用户都可以同时对同样的数据施加这种共享锁。已经实施共享锁的表拒绝来自其他事务的独占封锁和更新封锁。l 更新锁(U锁)当需要对一个记录或一组记录进行更新时(不包括插入和删除)使
10、用更新封锁,该封锁的目的是防止其他用户在同一时刻修改同一记录。已经实施更新封锁的记录,拒绝来自其他用户的任何封锁。l 排他锁(X 锁)排他封锁也叫独占封锁,它是为写(修改、增加、删除)操作设置的一种封锁,也称为写封锁,或简称为X锁,这是最严格的一类封锁。当需要对表实施插入、删除或修改操作时,应该使用独占封锁。已经实施独占封锁的表,拒绝来自其他用户的任何封锁。拟提问题:死锁产生的原因与条件?课后作业:完成教材P26练习题(7-12)。注:每两节课(90分钟)为一讲,每讲必须填写此表。第六讲教 学 周第3周节次第11、12节章节内容关系数据库事务操作授课方式理论课() 讨论课( ) 实验课() 习
11、题课( ) 其他( )主要内容与教学目的:1、隔离级别设置2、手动事务控制操作3、自动事务控制操作重点:事务控制操作难点:恰当使用事务维护数据准确性课堂教学组织:1、隔离级别设置查询事务隔离级别l SELECT global.tx_isolation设置事务隔离级别MySQL引擎为:innodb的事务级别设置方法是:l set + 作用域 + transaction isolation level + 隔离级别设置隔离级别为:未提交读lset global transaction isolation level READ UNCOMMITTED 设置隔离级别为:提交读lset global t
12、ransaction isolation level READ COMMITTED设置隔离级别为:可重复读lset global transaction isolation level REPEATABLE READ设置隔离级别为:可串行化lset global transaction isolation level SERIALIZABLE2、事务控制操作语法命令l 开启事务方式一lstart transaction方式二lbeginl 提交事务lcommitl 回滚事务lrollback拟提问题:常用的关系数据库事务操作命令有哪些?课后作业:按要求建立数据库表环境,并用事务命令进行按要求进
13、行事务控制操作。l 建立学生表、课程表、学生选课表 学生表:学号、姓名、年级、专业、入学年份、已修学分等 课程表:课程号、课程名、学分、课程性质(选修、必修)、课程归属专业等 学生选课表:学号、课程号、成绩往以上数据表插入若干条记录l 在数据库命令行带事务(成功/失败)进行以下操作 增加一个学生数据(同时往三张表写入对应数据) 删除一个学生数据(同时删除三张表对应的此学生数据) 修改某门课程的性质,同时修改此门课程对应的学生的成绩。注:每两节课(90分钟)为一讲,每讲必须填写此表。第七讲教 学 周第4周节次第13、14节章节内容存储过程基本语法(1)授课方式理论课() 讨论课( ) 实验课()
14、 习题课( ) 其他( )主要内容与教学目的:1、存储过程的种类2、存储过程创建3、储过程调用重点:存储过程创建难点:存储过程创建语法调试课堂教学组织:1、存储过程的种类l 系统存储过程l 本地存储过程l 临时存储过程l 远程存储过程l 扩展存储过程2、存储过程创建创建语法格式:CREATE PROCEDURE 存储过程名 (过程参数,.)BEGIN过程控制语句(Transaction-SQL)END3、储过程调用调用格式如下:CALL + 存储过程名 + 参数例如: CALL first_proc(100)拟提问题:存储过程与单条SQL语句有什么联系与区别?课后作业:自己动手,在数据库客户端
15、逐一创建、运行本次课PPT讲稿上的每个例子。注:每两节课(90分钟)为一讲,每讲必须填写此表。第八讲教 学 周第4周节次第15、16节章节内容存储过程基本语法(2)授课方式理论课() 讨论课( ) 实验课() 习题课( ) 其他( )主要内容与教学目的:1、IN 输入参数2、OUT 输出参数3、INOUT 输入输出参数重点:全部难点:根据场合灵活选择合适的参数类型课堂教学组织:1、 IN 输入参数表示该参数为输入型参数,只能从外面传值到存储过程内部,反过来则无效,即:在存储过程内部修改该参数值将不会返回到外部。此参数值必须在调用存储过程中指定。l IN参数案例:DELIMITER / CREA
16、TE PROCEDURE demo_in_parameter(IN p_id int, IN p_score_add int)BEGIN update user set score=(score+p_score_add) where user_id=p_id;END; / DELIMITER ;2、OUT 输出参数表示该参数为输出型参数,只能从存储过程内部传值到存储过程外部,反过来则无效,即:该值可在存储过程内部被改变,并可返回。此参数值必须在调用存储调用过程中赋值。l OUT参数案例:DELIMITER / CREATE PROCEDURE demo_out_parameter(OUT p_
17、out int) BEGIN SELECT COUNT(*) INTO p_out FROM user; END / DELIMITER ;3、INOUT 输入输出参数表示该参数为输入输出型参数,同时俱备输入、输出功能,既可从外面传值到存储过程内部,也可以从存储过程内部传值到存储过程外部。l INOUT参数案例:DELIMITER / CREATE PROCEDURE demo_inout_parameter(INOUT p_inout_num int,INOUT p_inout_str varchar(50) BEGIN DECLARE id int default 0; SET id=p_
18、inout_num;UPDATE user SET email=p_inout_str WHERE user_id=id;SELECT score INTO p_inout_num FROM user WHERE user_id=id; SELECT phone INTO p_inout_str FROM user WHERE user_id=id;END / DELIMITER ;拟提问题:存储过程的OUT参数与编程语言中方法的返回值有什么异同?课后作业:写一个存储过程,实现以下功能:2、 把上面USRE表中积分(score)大于60的用户同步到一个VIP_USER表中3、 给积分60以下的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库高级应用技术 数据库 高级 应用技术 教案 电子 完整版 授课 讲义 最新
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内