1《SQLServer数据库》教案第1章SQLServer的安装和配置一、教学目标:1.了解课程要求。2.了解SQLServer的发展和特点。3.了解SQLServer的安装和配置。4.了解系统数据库和系统表的作用.5.了解SQLServer的9个常用工具。二、教学重点和难点:重点:熟悉企业管理器与查询分析器难点:系统数据库和系统表的作用三、教学方法与手段:注重实例分析,采用一次理论一次实验的教学方式。理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容:1、课程要求简介:共60课时,分为两部分,课堂教学30课时,实验教学30课时;课程培养目标:通过本课程的学习,掌握SQLServer环境下进行编程的知识,具备利用SQLServer进行数据库应用程序开发的基本能力;考核要求……(5分钟)2、SQLServer的定义:是一个高性能的C/S结构的RDBMS,是为支持高容量的事务处理(如在线订购录入、存货目录、记帐或支付)以及数据仓库和决策支持系统而设计的。3、SQLServer的发展、特点和新特性。4、SQLServer的安装和配置。(操作演示一部分安装过程;30分钟)5、了解系统数据库和系统表的作用:主数据库master、msdb、pubs等。2演示:打开企业管理器,展开服务器,详细分析各个系统数据库和系统表6、了解SQLServer的主要管理工具,熟悉企业管理器、查询分析器。(1)讲授SQLServer的主要管理工具,分别打开九个工具,演示分析企业管理器的功能。演示:打开企业管理器,展开服务器,新建一个数据库sales。注意:可以由教师讲解,同时学生操作演示再创建一个数据库。(2)分析查询分析器的使用方法,演示打开查询分析器的两种方法。例:在查询分析器地命令行窗口中输入如下的SQL语句:usepubsselect*fromjobs(3)了解SQLServer服务管理器的使用方法。(4)掌握创建SQLServer服务器组的方法及注册SQLServer服务器的方法。注意:如果该服务器已成功注册,则显示具有改名称的服务器已存在,如果该服务器不能成功注册,则可能该服务器的服务没有启动,或者是现在的用户没有权限注册该服务器。(5)打开服务器网络实用工具和客户端网络使用工具,分析它们的功能。(6)演示打开联机帮助文档的三种方法。如:SHIFT+F1;选择菜单栏“帮助”等。7、小结8、思考与练习3第2章SQLServer数据类型一、教学目标:1.掌握各种数据类型的特点和基本用法2.学会创建和删除用户自定义数据类型二、教学重点和难点:教学重点:掌握各种数据类型的用法教学难点:用户自定义数据类型的创建三、教学方法与手段:采用互动式教学方法,理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容:1、复习上次课内容,详细分析25个系统数据类型(50分钟)在绝大多数编程环境中,数据类型由系统定义,这类数据类型通常称之为系统数据类型。字符数据的类型:Char,Varchar和Text数值型数据类型:bigint,int,smallint,tinyint,decimal,numeric,float和real货币型数据类型:Money和Smallmoney时间/日期数据类型:Datetime和Smalldatetime二进制数据类型:Binary(固定长度)和Varbinary(可变长度)2、创建用户自定义数据类型用户定义的数据类型基于在MicrosoftSQLServer中提供的数据类型。当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。请看例子例2.1UseNorthwindExecsp_addtypeuname,'Varchar(8)','NotNull'例2.2UseSalesExecsp_addtypetelephone,'varchar(24)','NotNull'4Execsp_addtypefax,'varchar(24)','Null'3、删除用户定义的数据类型sp_droptype注意:当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户定义的数据类型不能删除。4、小结:本章重点介绍了SQLServer数据类型的分类、使用方法和使用时的注意事项。课本19页表2.1列出了SQLServer常见的数据类型。5、课堂练习:创建一个数据类型,要求其为字符型,最大长度为12,不允许为空。5第3章数据库和数据表一、教学目标:1、了解数据库的两种存储结构,以及文件和文件组的概念。2、掌握创建数据库的三种方法。3、学会修改数据库的属性和删除数据库。2、掌握创建表的两种方法。3、掌握创建、删除和修改约束的方法。二、教学重点和难点:教学重点:设计和创建各种约束教学难点:文件和文件组的概念三、教学方法与手段:注重实例,采用一次理论一次实验的教学方法。理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容:1、复习第二章内容。2、数据库由数据库文件(数据和对象)和事务日志文件(操作日志)组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。主文件.mdf辅助文件.ndf事务日志文件.ldf3、创建数据库的过程实际上就是为数据库设计名称、设计所占用的存储空间和存放文件位置的过程等。演示操作:A.使用向导创建数据库B.使用企业管理器创建数据库C.使用Transact-SQL语言创建数据库思考:请学生上讲台完成:使用默认参数用Transact-SQL语言创建数据库。4、修改数据库的方法:重命名、收缩数据库等。如:execsp_renamedb旧名,新名5、表是包含数据库中所有数据的数据库对象,用来存储各种各样的信息。(30分钟)演示操作:利用企业管理器创建表6实例:创建employees员工表…B、利用Transact-SQL语言创建表实例:创建goods进货表…注意:请学生上讲台完成sell表的建立。6、约束是SQLServer提供的自动保持数据库完整性的一种方法。分析5种约束类型。分别使用2种方法创建以下约束:(40分钟)主主键键约约束束、、唯唯一一性性约约束束检检查查约约束束默默认认约约束束外外键键约约束束关关键键字字分分别别为为::pprriimmaarryykkeeyy、、uunniiqquuee、、cchheecckk、、ddeeffaauulltt、、ffoorreeiiggnnkkeeyy。。提示:教师讲解结束,请学生为sales数据库的各个表设计并创建各种约束。7、分别使用2种方法增加、删除和修改employees的字段。8、查看表、删除表的演示操作。9、小结10、课后作业7第4章数据库的查询一、教学目标:1、掌握如何使用update、insert、delete命令操作表中数据。2、掌握使用Select语句查询数据的方法。二、教学重点和难点:教学重点:多表联接查询教学难点:嵌套查询的使用三、教学方法与手段:采用互动式教学方法。理论教学使用多媒体投影室。四、教学课时:6课时五、教学基本内容:1、复习上次课内容2、请学生上讲台演示:为t_student输入相应数据,并修改和删除数据。提问思考:如何使用语句命令的方法完成学生演示的数据操作?3、SELECT语句能够从数据库中检索出符合用户需求的数据,并将结果以表格的形式返回,是SQLServer中使用最频繁的语句之一。它功能强大,所以也有较多的子句,包含主要子句的基本语法结构如下:SELECT列名1[,列名2]...[INTO新表名]FROM表名1[,表名2]...[WHERE条件][GROUPBY列名列表][HAVING条件][ORDERBY列名列表[ASC|DESC]]针对student数据库的3个表,举例,详细分析SELECT语句的各个子句。重点分析以下几方面的问题:如何选择表中的列,列的别名,生成新的数据表等;使用ORDERBY子句,进行数据排序;8使用比较运算符、逻辑运算符和LIKE、IN、BETWEEN等关键字过滤查询结果;使用聚合函数,例如COUNT、AVG、MAX、MIN、SUN等汇总数据;使用分组子句GROUPBY和HAVING,使用分组计算子句COMPUTE和COMPUTEBY;联接查询的五种类型:内联接、左外联接、右外联接、完全外部联接、交叉联接;使用UNION操作符,掌握联合查询的方法;使用嵌套查询的方法。4、用update、insert、delete命令操作表中数据。提问:A、update语句中没有where会如何?B、insert语句中没有字段名和有字段名的区别?C、delete语句中没有where语句会如何?5、根据查询结果的不同将联接查询分为五种类型:内联接、左外联接、右外联接、完全外部联接、交叉联接。举例详细分析各种类型。6、嵌套查询又叫子查询,嵌套查询是指在一个SELECT语句的WHERE子句或HAVING子句中,又嵌套有另外一个SELECT语句的查询。嵌套查询中上层的SELECT语句块称为父查询或外层查询,下层的SELECT语句块称为子查询或内层查询。例子:SELECT*FROMemployeesWHERE编号=ANY(SELECT进货员工编号FROMgoods)注意:详细分析any和all的区别。7、小结8、课堂练习(50分钟)注意:先由学生做课堂练习,后教师详细讲解9第5章索引与数据完整性一、教学目标:1.了解索引的定义、优点和分类2.掌握创建、修改和删除索引的方法3.理解数据完整性的概念二、教学重点和难点:重点:使用语句创建索引;难点:聚集索引与非聚集索引的理解。三、教学方法与手段:注重实例,理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容:1、复习。(5分钟)2、数据库中的索引是一个列表,在这个列表中包含了某个表中一列或者若干列值的集合,以及这些值的记录在数据表中的存储位置的物理地址。优点:可以大大加快数据检索速度可以保证数据记录的唯一性等。3、索引的分类:clusterednonclustered复合索引唯一索引注意:举例书本目录,分析聚集索引与非聚集索引的区别创建索引的三种方法:A、使用企业管理器创建索引,举例:为employees表创建索引I_电话。B、使用Transact-SQL语句创建索引,实例:在goods表创建索引I_进货时间。C、使用向导创建视图查看、修改和删除索引6、索引的分析与维护创建索引后,必须对索引进行维护,确保索引的统计信息是的有效的,才能够提高查找速度。随着更新操作不断的执行,数据会变得支离破碎,这些数据碎片会导致额外的页读取,防碍数据的并行扫描。应该定期整理索引清除数据碎片,提高数据读取的性能。7、数据完整性10为了维护数据库中的数据和现实世界的一致性,SQLServer提供了确保数据库的完整性的技术。数据完整性是指存储在数据库中的数据的一致性和准确性。数据完整性有3中类型:域完整性、实体完整性和参照完整性。8、小节为什么要使用索引,索引的特点是什么;索引分类的依据是什么,了解各种索引的区别;掌握创建索引的三种方法,在创建索引的过程中如何设定其属性和参数;掌握删除和修改索引的方法;了解数据完整性的概念和分类;了解数据库完整性和约束的关系;掌握实现域完整性、实体完整性和引用完整性的各种方法。9、课堂练习11第7章视图一、教学目标:1、了解视图和数据表之间的区别、视图的优点。2、掌握创建、修改和删除视图的方法。3、掌握通过视图修改数据表的方法。二、教学重点和难点:教学重点:使用命令创建视图;教学难点:如何通过视图修改数据表。三、教学方法与手段:采用互动式教学方法。理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容:1、复习:使用命令查询所有男学生的姓名、年龄、选修课程、成绩。(请学生上讲台演示,5分钟)selectt_student.s_name姓名,year(getdate())-year(birthday)年龄,t_cours