<table>
<tbody>
<tr>
<td width = 140px align = center><b>课题<br>名称</b></td>
<td >第2章 数据库和表的基本操作</td>
<td> <div style = "vertical-align:top;text-align:center">计划<br>学时</div></td>
<td ><div style = "vertical-align:top;text-align:center">7 课时</div></td>
</tr>
<tr>
<td width = 140px align = center><b>内容<br>分析</b></td>
<td colspan=3>在软件开发中,必不可少会使用到数据库和数据表。学会数据库和数据表的基本操作,可以轻松实现数据的管理。本章将针对数据库和数据表的基本操作进行详细地讲解。</td>
</tr>
<tr>
<td width = 140px align = center ><b>教学目标<br>基本要求</b></td>
<td colspan = 3>
1、 掌握数据库的基本操作,会对数据库进行增删改查操作<br>
2、 掌握数据表的基本操作,会对数据表进行增删改查操作<br>
3、 了解数据类型,学会SQL语句中不同类型数据的表示方式<br>
4、 掌握表的约束,学会使用不同的约束来操作表<br>
5、 掌握索引的作用,会创建和删除索引
</td>
</tr>
<tr>
<td width = 140px align = center><b>教学重点</b></td>
<td colspan = 3>
1、 数据库的基本操作<br>
2、 数据类型<br>
3、 数据表的基本操作<br>
4、 表的约束<br>
5、 索引
</td>
</tr>
<tr>
<td width = 140px align = center><b>难点及措施</b></td>
<td colspan = 3>
1、 表的约束<br>
2、 索引
</td>
<tr>
<td width = 140px align = center><b>教学方式</b></td>
<td colspan = 3>
讲师课堂教学要以PPT讲授为主,并结合多媒体进行教学
</td>
</tr>
<tr>
<td width = 140px align = center><b>教学过程</b></td>
<td colspan = 3>
<div style = "vertical-align:top;text-align:center"><h4><b>第一课时</b></h4></div>
<div style = "vertical-align:top;text-align:center"><h5><b>(数据库基础知识)</b></h5></div>
<div style = vertical-align:top;text-align:left><h5><b>一、创设情境,讲解数据库基础知识</b></h5></div>
<div style= color:black>(1)老师提出需求,引出数据库基础知识</div>
<div style = color:blue> MySQL安装完成后,要想将数据存储到数据库的表中,首先得创建一个数据库。数据库的基本操作包括创建数据库、修改数据库和删除数据库。</div>
<div style= color:black>(2)明确学习目标</div>
<div style = color:blue> 要求学生学会创建数据库、删除数据库以及修改数据库的编码。</div>
<div style = vertical-align:top;text-align:left><h5><b>二、进行重点知识的讲解</b></h5></div>
<div style= color:black>(1)如何创建一个数据库?</div>
<div style = color:blue> 教师首先讲解创建数据库的语法格式,并对语法格式中各个字段所表示的意义进行介绍。然后使用“CREATE DATABASE itcast;”语句,向学生演示创建itcast数据库的过程,当看到执行结果Query OK, 1 row affected (0.08 sec)时,说明数据库创建成功。</div>
<div style= color:black>(2)如何查看数据库?</div>
<div style = color:blue> 为了验证数据库系统中是否创建了名称为itcast的数据库,需要查看数据库。查看数据库分为查看所有数据库和查看某个数据库。教师可以通过操作向学生演示。(可参见教材例2-2、例2-3)<br>
<br>
* SHOW DATABASES;用于查看所有数据库<br>
* SHOW CREATE DATABASE itcast;用于查看刚创建的itcast数据库</div>
<div style=color:black>(3)如何修改数据库的编码?</div>
<div style = color:blue> 教师首先带领学生回忆,在安装数据库时,已经选择了数据库的编码方式,那么可不可以修改数据库的编码呢?数据库的编码是可以修改的, 通过ALTER DATABASE语句可以实现数据库编码的修改。然后讲解ALTER DATABASE语句的语法格式,最后教师通过演示将itcast数据库的编码修改为gbk编码方式,修改完毕,使用SHOW CREATE DATABASE语句查看修改后的数据库编码,验证是否修改成功。(可参见教材例2-4)</div>
<div style= color:black>(4)如何删除数据库?</div>
<div style = color:blue> </div>
<div style = vertical-align:top;text-align:left><h5><b>三、归纳总结,随堂练习,布置作业</b></h5></div>
<div style=color:black>(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。</div>
<div style=color:black>(2)让学生课下动手体验,创建一个数据库、修改数据库字符编码并删除这个数据库。</div>
<div style = "vertical-align:top;text-align:center"><h4><b>第二课时</b></h4></div>
<div style = "vertical-align:top;text-align:center"><h5><b>(数据类型)</b></h5></div>
<div style = vertical-align:top;text-align:left><h5><b>一、回顾上节课内容,继续讲解数据类型</b></h5></div>
<div style = color:black>(1)对上节课留的作业进行答疑。</div>
<div style = color:black>(2)回顾总结上节课的内容,引出本节课主题</div>
<div style = color:blue> 上节课讲解了如何管理MySQL中的数据库,在使用数据库存储数据时,不同的数据类型决定了存储数据方式的不同。为此,MySQL数据库提供了多种数据类型,本节课将重点讲解MySQL中的数据类型。</div>
<div style = color:black>(3)明确学习目标</div>
<div style = color:blue> 使学生掌握各种数据类型所占字节数、取值范围和应用范围。</div>
<div style = vertical-align:top;text-align:left><h5><b>二、进入重点知识点的讲解</b></h5></div>
<div style = color:black>(1)整数类型</div>
<div style = color:blue> 在MySQL数据库中,存储整数数值是最常见的。教师首先向学生介绍MySQL中的5种整数类型,分别是TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。然后通过一张表格,画出这五种整数类型所占的字节数和取值范围(参见教材表2-1)。最后教师教学生如何通过字节数计算取值范围,即2的字节数次方减1,这样可以方便学生记忆数据类型的取值范围。</div>
<div style = color:black>(2)浮点数类型和定点数类型</div>
<div style = color:blue> 教师首先举个例子,比如商品价格一般都是9.9、199.9等。那么数据库中如何存储小数呢?然后教师进行讲解MySQL数据库中,存储的小数使用浮点数和定点数。浮点数类型有两种,单精度浮点数类型(FLOAT)和双精度浮点类型(DOUBLE)。定点数类型有DECIMAL类型。最后教师可以通过一张表格,画出这三种类型所占的字节数和取值范围(参见教材表2-2)。</div>
<div style = color:black>(3)日期与时间类型</div>
<div style = color:blue> 教师首先举个例子,比如要存储用户的登录时间、会员生日等日期时间类的数据,要用YEAR、DATE、TIME、DATETIME和TIMESTAMP类型数据。然后,通过表格列举出这些日期和时间数据类型所对应的字节数、取值范围、日期格式以及零值(参见教材表2-3)。由于日期时间类型数据比较复杂,有不同的表示格式,需要分别进行详细讲解。最后,讲解开发中常用的获取当前系统日期的方法CURRENT_DATE和NOW(),获取当前系统时间的方法CURRENT_TIME和NOW()。</div>
<div style = color:black>(4)字符串与二进制类型</div>
<div style = color:blue> 教师首先举个例子,比如淘宝的数据库就要存储很多图片,优酷的数据库里就要存储很多视频数据。为了存储字符串、图片和声音等数据,MySQL提供了字符串和二进制类型。然后通过一张表列举字符串和二进制类型(参见教材表2-4)。不同数据类型具有不同的特点,所以要针对这些类型分别进行详细讲解:<br>
* CHAR和VARCHAR表示字符串数据,VARCHAR存储可变长度的字符 <br>
* BINARY和VARBINARY类型表示二进制数据<br>
* TEXT类型用于表示大文本数据,其类型分为四种<br>
* BLOB类型表示数据量很大的二进制数据,例如图片、PDF文档等<br>
* ENUM类型称为枚举类型<br>
* SET类型用于表示字符串对象,它的值可以有零个或多个<br>
* BIT类型用于表示二进制数据
</div>
<div style = vertical-align:top;text-align:left><h5><b>三、归纳总结,布置作业</b></h5></div>
<div style = color:black>(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。</div>
<div style = color:black>(2)使用测试题给学生布置作业。</div>
<div style = "vertical-align:top;text-align:center"><h4><b>第三课时</b></h4></div>
<div style = "vertical-align:top;text-align:center"><h5><b>(数据表的基本操作)</b></h5></div>
<div style = vertical-align:top;text-align:left><h5><b>一、回顾上节课内容,继续讲解数据表</b></h5></div>
<div style = color:black>(1)对上节课留的作业进行答疑。</div>
<div style = color:black>(2)回顾总结上节课的内容,引出本节课主题 </div>
<div style = color:blue> 上节课讲解了数据类型,数据是存储在数据表中的,所以想要存储数据,就要先学会数据表的管理。本节将详细讲解数据表的基本操作。</div>
<div style = color:black>(3)明确学习目标 </div>
<div style = color:blue> 使学生学会创建、查看、修改以及删除数据表</div>
<div style = vertical-align:top;text-align:left><h5><b>二、进入重点知识点的讲解</b></h5></div>
<div style = color:black>(1)如何创建数据表?</div>
<div style = color:blue> 教师首先创建一张表,结果抛出“No database selected”错误。让学生记住,在创建表之前一定要指定数据库,语句为“USE 数据库名”。然后讲解创建数据表的语法格式。最后教师向学生演示创建一个用于存储学生成绩的表(可参见教材例2-6)的过程。</div>
<div style = color:black> (2)如何查看表? </div>
<div style = color:blue> 创建完表后,即可以查看表的结构,查看表结构有以下两种方式:
<br> * 使用SHOW CREATE TABLE语句:查看表的定义语句和字符编码
<br> * 使用DESCRIBE语句:查看表的字段名、字段类型等
<br>对于这两种方式的讲解,需要通过查看刚创建的表来演示,让学生直观感受两种查看方法的不同。(可参见教材例2-7、2-8)
</div>
<div style = color:black> (3)如何修改表? </div>
<div style = color:blue> 教师首先让学生讨论,创建完一个表后,在以后的使用中,我们可以修改表的哪些部分。教师总结学生的讨论结果,能够修改的有:表名、字段名、字段的数据类型、添加字段、删除字段、修改字段的排位。然后教师向学生介绍修改表结构的ALTER TABLE语句,并依次通过案例(参见教材例2-9~2-15)演示如何修改这些部分,演示完后让学生整理出修改表名、表字段等SQL语句,这样既方便下课后学生进行练习、又加深了学生对修改表使用的SQL语句的印象。</div>
<div style = color:black> (4)如何删除表? </div>
<div style = color:blue> 删除不需要的数据表比较简单,使用DROP TABLE语句即可。教师演示删除一个数据表(可参见教材例2-16)。</div>
<div style = vertical-align:top;text-align:left><h5><b>三、归纳总结,布置作业</b></h5></div>
<div style = color:black>(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。</div>
<div style = color:black> (2)让学生课下动手体验,创建数据表、修改数据表,最后删除数据表。 </div>
<div style = "vertical-align:top;text-align:center"><h4><b>第四课时</b></h4></div>
<div style = "vertical-align:top;text-align:center"><h5><b>(表的约束)</b></h5></div>
<div style = vertical-align:top;text-align:left><h5><b>一、回顾上节课内容,继续讲解数据表</b></h5></div>
<div style = color:black>(1)对上节课留的作业进行答疑。</div>
<div style = color:black>(2)进入本节课主题,讲解表的约束</div>
<div style = color:blue> 为了防止数据表中插入错误的数据,在MySQL中,定义了一些维护数据库完整性的规则,即表的约束。</div>
<div style = color:black>(3)明确学习目标</div>
<div style = color:blue> 使学生掌握主键约束、非空约束、唯一约束和默认约束的使用</div>
<div style = vertical-align:top;text-align:left><h5><b>二、进入重点知识点的讲解</b></h5></div>
<div style = color:black>(1)如何使用主键约束?</div>
<div style = color:blue> 教师首先举一个例子,每个人都有一个身份证号,身份证号就可以唯一标识一个人,不会像名字可以重复,身高体重可以相同。在数据表中也需要有一个唯一标识,就是主键。设置主键可以快速查找表中的某条信息。<br>
然后讲解,主键约束分为两种 <br>
单字段主键:由一个字段构成的主键
<br> 多字段主键:多个字段组合而成的主键
<br>教师创建一个表,演示如何创建单字段主键和多字段主键(可参见教材
例2-17和例2-18)。最后需要强调一点:每个数据表中最多只能有一个主键约束,定义为PRIMARY KEY的字段不能有重复值且不能为NULL值。
</div>
<div style = color:black>(2)如何使用非空约束?</div>
<div style = color:blue> 教师首先举一个例子,在设计用户登录的数据库时,用户名密码就不能为空。然后讲解非空约束就可以控制字段的值不能为NULL。然后通过将表中的某字段设置为非空约束(可参见教材例2-19),向学生演示非空约束的定义。</div>
<div style = color:black>(3)如何使用唯一约束?</div>
<div style = color:blue> 教师首先举一个例子,我们在注册用户时,如果新注册的用户名与已存在的用户名相同,就不会让新用户使用这个名字,这在数据表中也可以进行限制。然后教师讲解唯一约束用于保证数据表中字段值的唯一性。最后通过将表中某字段设置为唯一约束(可参见教材例2-20),向学生演示唯一约束的定义。</div>
<div style = color:black>(4)如何使用默认约束?</div>
<div style = color:blue> 教师首先举一个例子,开发中经常要记录用户登录的时间,那么又不想每次都获取系统当前时间,此时就可以设置一个默认时间值,当用户登录时系统会自动为该字段添加系统当前时间值。那么如何设置字段的默认值呢?教师通过为表中某个字段设置默认约束(可参见教材例2-21),向学生演示默认约束的定义。</div>
<div style = color:black>(5)如何设置表的字段值自动增加??</div>
<div style = color:blue> 在数据表中,若想为表中插入的新记录自动生成唯一的ID,可以使用AUTO_INCREMENT约束来实现,需要注意的是AUTO_INCREMENT约束的字段只能是任何整数类型。然后教师创建一个表,演示为表中的某字段设置为AUTO_INCREMENT约束字段(可参见教材例2-22)。</div>
<div style = vertical-align:top;text-align:left><h5><b>三、归纳总结,布置作业</b></h5></div>
<div style = color:black> (1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。</div>
<div style = color:black>(2)让学生课下动手体验,为表中字段添加主键约束、非空约束、唯一约束、默认约束以及如何让字段值自动增加的约束设置。</div>
<div style = "vertical-align:top;text-align:center"><h4><b>第五课时</b></h4></div>
<div style = "vertical-align:top;text-align:center"><h5><b>(索引)</b></h5></div>
<div style = vertical-align:top;text-align:left><h5><b>一、回顾上节课内容,继续讲解数据表</b></h5></div>
<div style = color:black> (1)对上节课留的作业进行答疑。</div>
<div style = color:black>(2)教师首先通过现实生活中的例子,引出索引的概念</div>
<div style = color:blue> 在数据库操作中,经常需要查找特定的数据,例如,当执行“select * from student where id=10000”语句时,MySQL数据库必须从第1条记录开始遍历,直到找到id为10000的数据,这样的效率显然非常低。为此,MySQL允许建立索引来加快数据表的查询和排序。本节将针对数据库的索引进行详细讲解。</div>
<div style = color:black>(3) 明确学习目标</div>
<div style = color:blue> 使学生掌握索引的概念,会创建和删除索引</div>
<div style = vertical-align:top;text-align:left><h5><b>二、进入重点知识点的讲解</b></h5></div>
<div style = color:black>(1)什么是索引?</div>
<div style = color:blue> 教师首先举一个例子,大家试想,新华字典如果没有音序表,查一个字要多慢。索引就相当于音序表,它是对数据库表中一列或多列的值进行排序后的一种结构,其作用就是提高表中数据的查询速度。然后教师讲解索引的6种分类:普通索引、唯一性索引、全文索引、单列索引、多列索引,空间索引。</div>
<div style = color:black>(2)如何创建索引?</div>
<div style = color:blue> 索引可以在创建表的过程中创建,也可以在已存在的表中创建索引。教师通过三种创建索引的方式进行讲解,向同学演示6类索引的三种创建方式。(可参见教材例2-23~例2-40),加深学生的理解。</div>
<div style = color:black>(3)如何删除索引?</div>
<div style = color:blue> 首先讲解,为什么要删除索引。由于表中数据的更新,索引会随之变化并且索引会占用一定的磁盘空间。因此,为了避免影响数据库性能,应该及时删除不再使用的索引。然后想学生介绍两种删除索引的方法:
<br>  * 使用ALTER TABLE删除索引
<br>  * 使用DROP INDEX删除索引
教师向学生演示使用以上两种方式删除索引的操作过程。
</div>
<div style = vertical-align:top;text-align:left><h5><b>三、归纳总结,布置作业</b></h5></div>
<div style = color:black>(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。</div>
<div style = color:black>(2)让学生课下动手体验,练习创建索引的三种方式。</div>
<div style = "vertical-align:top;text-align:center"><h4><b>第六课时</b></h4></div>
<div style = "vertical-align:top;text-align:center"><h5><b>(上机练习)</b></h5></div>
<div style = color:blue>上机练习主要针对本章中需要重点掌握的知识点,以及在程序中容易出错的内容进行练习,通过上机练习可以考察同学对知识点的掌握情况,对代码的熟练程度。</div>
<div style = vertical-align:top;text-align:left><h5><b>上机一:(考察知识点为创建和查看数据库、创建数据表、设置表的字段值自动增加)</b></h5></div>
<div style = color:black>请按照以下要求创建数据表tb_student</div>
<div style = color:black>要求如下:</div>
1) 数据表tb_student创建在itcast数据库中<br>
2) 设计数据表的字段结构,字段有id、name(姓名)、age(年龄)、Enrolment date(入学时间)等,请选择适合的 数据类型。<br>
3) 字段id为int型,为主键,可自动增加。
<div style = "vertical-align:top;text-align:center"><h4><b>第七课时</b></h4></div>
<div style = "vertical-align:top;text-align:center"><h5><b>(上机练习)</b></h5></div>
<div style = vertical-align:top;text-align:left><h5><b>上机一:(考察知识点为修改数据表、非空约束、默认约束、索引)</b></h5></div>
<div style = color:black> 请按照以下要求操作数据表tb_student。</div>
<div style = color:black>要求如下:</div>
1) 查看itcast数据库中的数据表tb_student。<br>
2) 向表中增加字段class(班级)。<br>
3) 为name字段添加非空约束。<br>
4) 在id字段上建立索引<br>
5) 给Enrolment date字段添加默认约束,默认值为当前系统时间
要求如下:
1) 查看itcast数据库中的数据表tb_student。
2) 向表中增加字段class(班级)。
3) 为name字段添加非空约束。
4) 在id字段上建立索引
5) 给Enrolment date字段添加默认约束,默认值为当前系统时间
</td>
</tr>
<tr>
<td width = 140px align = center><b>
思考题和习题</b>
</td>
<td colspan = 3>
</td>
</tr>
<tr>
<td width = 140px align = center><b>
教学后记
</b>
</td>
<td colspan = 3></td>
</tr>
</tbody>
</table>