1、SQLServer数据库教案SQL Server数据库教案第1章 SQL Server 的安装和配置一、教学目标:1. 了解课程要求。2. 了解SQL Server 的发展和特点。3.了解SQL Server 的安装和配置。4.了解系统数据库和系统表的作用.4.5.了解SQL Server 的9个常用工具。二、教学重点和难点:重点:熟悉企业管理器与查询分析器难点:系统数据库和系统表的作用三、教学方法与手段:注重实例分析,采用一次理论一次实验的教学方式。理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容:1、课程要求简介:共90课时,分为两部分,课堂教学45课时,实验教学45课时;课
2、程培养目标:通过本课程的学习,掌握 SQL Server 环境下进行编程的知识,具备利用 SQL Server 进行数据库应用程序开发的基本能力;考核要求(5分钟) 2、SQL Server的定义:是一个高性能的C/S结构的RDBMS,是为支持高容量的事务处理(如在线订购录入、存货目录、记帐或支付)以及数据仓库和决策支持系统而设计的。3、SQL Server 的发展、特点和新特性。4、SQL Server 的安装和配置。(操作演示一部分安装过程;30分钟)5、了解系统数据库和系统表的作用:主数据库master、msdb、pubs等。演示:打开企业管理器,展开服务器,详细分析各个系统数据库和系统
3、表6、了解SQL Server 的主要管理工具,熟悉企业管理器、查询分析器。(1)讲授SQL Server 的主要管理工具,分别打开九个工具,演示分析企业管理器的功能。演示:打开企业管理器,展开服务器,新建一个数据库sales。注意:可以由教师讲解,同时学生操作演示再创建一个数据库。(2)分析查询分析器的使用方法,演示打开查询分析器的两种方法。例:在查询分析器地命令行窗口中输入如下的SQL语句:use pubsselect * from jobs(3)了解SQL Server 服务管理器的使用方法。(4)掌握创建SQL Server服务器组的方法及注册SQL Server服务器的方法。注意:如
4、果该服务器已成功注册,则显示具有改名称的服务器已存在,如果该服务器不能成功注册,则可能该服务器的服务没有启动,或者是现在的用户没有权限注册该服务器。(5)打开服务器网络实用工具和客户端网络使用工具,分析它们的功能。(6)演示打开联机帮助文档的三种方法。如:SHIFT+F1;选择菜单栏“帮助”等。7、小结8、思考与练习第2章 SQL Server 数据类型一、教学目标:1.掌握各种数据类型的特点和基本用法2.学会创建和删除用户自定义数据类型二、教学重点和难点:教学重点:掌握各种数据类型的用法教学难点:用户自定义数据类型的创建三、教学方法与手段:采用互动式教学方法,理论教学使用多媒体投影室。四、教
5、学课时:3课时五、教学基本内容:1、复习上次课内容,详细分析25个系统数据类型(50分钟)在绝大多数编程环境中,数据类型由系统定义,这类数据类型通常称之为系统数据类型。字符数据的类型:Char,Varchar和Text数值型数据类型:bigint,int,smallint,tinyint,decimal,numeric,float和real货币型数据类型:Money和Smallmoney时间日期数据类型:Datetime和Smalldatetime二进制数据类型:Binary(固定长度)和Varbinary(可变长度)2、创建用户自定义数据类型用户定义的数据类型基于在MicrosoftSQLS
6、erver中提供的数据类型。当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。请看例子例2.1 Use NorthwindExecsp_addtypeuname,Varchar(8), NotNull 例2.2 UseSales Exec sp_addtype telephone,varchar(24) ,Not NullExec sp_addtype fax,varchar(24),Null3、删除用户定义的数据类型sp_droptype注意:当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户
7、定义的数据类型不能删除。4、小结:本章重点介绍了SQL Server 数据类型的分类、使用方法和使用时的注意事项。课本19页表2.1列出了SQL Server常见的数据类型。5、课堂练习:创建一个数据类型,要求其为字符型,最大长度为12,不允许为空。第3章 数据库和数据表一、教学目标:1、了解数据库的两种存储结构,以及文件和文件组的概念。2、掌握创建数据库的三种方法。3、学会修改数据库的属性和删除数据库。2、掌握创建表的两种方法。3、掌握创建、删除和修改约束的方法。二、教学重点和难点:教学重点:设计和创建各种约束教学难点:文件和文件组的概念三、教学方法与手段:注重实例,采用一次理论一次实验的教
8、学方法。理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容:1、复习第二章内容。2、数据库由数据库文件(数据和对象)和事务日志文件(操作日志)组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。主文件.mdf、辅助文件.ndf、事务日志文件.ldf3、创建数据库的过程实际上就是为数据库设计名称、设计所占用的存储空间和存放文件位置的过程等。 演示操作: A使用向导创建数据库 B使用企业管理器创建数据库 C使用Transact-SQL语言创建数据库思考:请学生上讲台完成:使用默认参数用Transact-SQL语言创建数据库。4、修改数据库的方法:重命名、收缩数据库等。如:ex
9、ec sp_renamedb 旧名,新名 5、表是包含数据库中所有数据的数据库对象,用来存储各种各样的信息。(30分钟)演示操作:A、利用企业管理器创建表 实例:创建employees员工表 B、利用Transact-SQL语言创建表 实例:创建goods进货表注意:请学生上讲台完成教材36页sell表的建立。6、约束是SQL Server提供的自动保持数据库完整性的一种方法。分析5种约束类型。分别使用2种方法创建以下约束:(40分钟)主键约束、唯一性约束、检查约束、默认约束、外键约束关键字分别为:primary key、unique、check、default、foreign key。提示:
10、教师讲解结束,请学生为sales数据库的各个表设计并创建各种约束。7、分别使用2种方法增加、删除和修改employees的字段。8、查看表、删除表的演示操作。9、小结10、课后作业 课本50页本章习题16、17、18题。第4章 数据库的查询一、教学目标:1、掌握如何使用update、insert、delete命令操作表中数据。2、掌握使用 Select 语句查询数据的方法。二、教学重点和难点:教学重点:多表联接查询教学难点:嵌套查询的使用三、教学方法与手段:采用互动式教学方法。理论教学使用多媒体投影室。四、教学课时:6课时五、教学基本内容:1、复习上次课内容2、请学生上讲台演示:为t_stud
11、ent输入相应数据,并修改和删除数据。提问思考:如何使用语句命令的方法完成学生演示的数据操作?3、SELECT语句能够从数据库中检索出符合用户需求的数据,并将结果以表格的形式返回,是SQL Server中使用最频繁的语句之一。它功能强大,所以也有较多的子句,包含主要子句的基本语法结构如下:SELECT 列名1 ,列名2 . INTO 新表名 FROM 表名1 ,表名2 . WHERE 条件 GROUP BY 列名列表 HAVING 条件 ORDER BY 列名列表 ASC | DESC 针对student数据库的3个表,举例,详细分析SELECT语句的各个子句。重点分析以下几方面的问题:如何选
12、择表中的列,列的别名,生成新的数据表等;使用ORDER BY子句,进行数据排序;使用比较运算符、逻辑运算符和LIKE、IN、BETWEEN等关键字过滤查询结果;使用聚合函数,例如COUNT、AVG、MAX、MIN、SUN等汇总数据;使用分组子句GROUP BY和HAVING,使用分组计算子句COMPUTE和COMPUTE BY;联接查询的五种类型:内联接、左外联接、右外联接、完全外部联接、交叉联接;使用UNION操作符,掌握联合查询的方法;使用嵌套查询的方法。4、用update、insert、delete命令操作表中数据。提问:A、update语句中没有where会如何? B、insert语句
13、中没有字段名和有字段名的区别? C、delete语句中没有where语句会如何?5、根据查询结果的不同将联接查询分为五种类型:内联接、左外联接、右外联接、完全外部联接、交叉联接。举例详细分析各种类型。6、嵌套查询又叫子查询,嵌套查询是指在一个SELECT语句的WHERE子句或HAVING子句中,又嵌套有另外一个SELECT语句的查询。嵌套查询中上层的SELECT语句块称为父查询或外层查询,下层的SELECT语句块称为子查询或内层查询。例子:SELECT * FROM employees WHERE 编号=ANY (SELECT 进货员工编号 FROM goods)注意:详细分析any和all的
14、区别。7、小结8、课堂练习(50分钟)教材7172页本章习题注意:先由学生做课堂练习,后教师详细讲解第5章 索引与数据完整性一、教学目标:1.了解索引的定义、优点和分类2.掌握创建、修改和删除索引的方法3.理解数据完整性的概念二、教学重点和难点:重点:使用语句创建索引;难点:聚集索引与非聚集索引的理解。三、教学方法与手段:注重实例,理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容: 1、复习。(5分钟)2、数据库中的索引是一个列表,在这个列表中包含了某个表中一列或者若干列值的集合,以及这些值的记录在数据表中的存储位置的物理地址。优点:可以大大加快数据检索速度可以保证数据记录的唯一
15、性等。3、索引的分类:clustered、nonclustered、复合索引、唯一索引注意:举例书本目录,分析聚集索引与非聚集索引的区别4、创建索引的三种方法:A、使用企业管理器创建索引,举例:为employees表创建索引I_电话。B、使用Transact-SQL语句创建索引,实例:在goods表创建索引I_进货时间。C、使用向导创建视图5、查看、修改和删除索引 注意:删除索引时,索引前应注明表名。如drop index t_student.I_number, t_student.I_name6、索引的分析与维护创建索引后,必须对索引进行维护,确保索引的统计信息是的有效的,才能够提高查找速度
16、。随着更新操作不断的执行,数据会变得支离破碎,这些数据碎片会导致额外的页读取,防碍数据的并行扫描。应该定期整理索引清除数据碎片,提高数据读取的性能。7、数据完整性为了维护数据库中的数据和现实世界的一致性,SQL Server提供了确保数据库的完整性的技术。数据完整性是指存储在数据库中的数据的一致性和准确性。数据完整性有3中类型:域完整性、实体完整性和参照完整性。8、小节为什么要使用索引,索引的特点是什么;索引分类的依据是什么,了解各种索引的区别;掌握创建索引的三种方法,在创建索引的过程中如何设定其属性和参数;掌握删除和修改索引的方法;了解数据完整性的概念和分类;了解数据库完整性和约束的关系;掌
17、握实现域完整性、实体完整性和引用完整性的各种方法。9、课堂练习课本84页本章习题第7章 视图一、教学目标:1、了解视图和数据表之间的区别、视图的优点。2、掌握创建、修改和删除视图的方法。3、掌握通过视图修改数据表的方法。二、教学重点和难点:教学重点:使用命令创建视图;教学难点:如何通过视图修改数据表。三、教学方法与手段:采用互动式教学方法。理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容:1、复习:使用命令查询所有男学生的姓名、年龄、选修课程、成绩。(请学生上讲台演示,5分钟)select t_student.s_name 姓名,year(getdate()-year(birth
18、day) 年龄,t_course.c_name 课程名称,t_score.score 成绩 from t_student,t_course,t_scorewhere t_student.s_number=t_score.s_number and t_course.c_number=t_score.c_number如果在以上程序前加命令:CREATE VIEW a AS,则可以生成一个虚拟的表视图。 2、由以上引导出视图的概念:是从一个或者多个数据表或视图中导出的虚表,它的结构和数据是对数据表进行查询的结果。3、视图的优点视点集中、简化操作、定制数据、合并分割数据、安全性4、创建视图的三种方法:
19、A、使用企业管理器创建视图。例如,现在需要建立一个视图,通过该视图能够方便快捷地知道笔记本电脑的销售情况,则可以将sell和goods两张表同时添加到视图中,在表sell中选择“所有列”复选框,同时在表goods中选择“商品名称”字段对应的复选框。B、使用Transact-SQL语句创建视图,例如,创建一个新视图v1,要求基表选择goods,sell,employees,来源字段为sell表中的销售编号、商品编号和数量;goods表中的商品名称;employees表中编号和姓名,要求查询采购部的赵飞燕所采购商品的销售情况C、使用向导创建视图。5、修改和重命名视图6、掌握通过视图修改数据表的方法
20、,使用时应该注意以下几点:修改视图中的数据时每次都只能影响一个基表。不能修改那些通过计算得到的字段。如果视图引用多个表时,无法用DELETE命令删除数据,若使用UPDATE命令则应与INSERT操作一样,被更新的列必须属于同一个表。执行UPDATE、DELETE命令时,所删除与更新的数据必须包含在视图的结果集中。如果在创建视图时指定了WITH CHECK OPTION选项,那么所有使用视图修改数据库信息时,必须保证修改后的数据满足视图定义的范围。7、举例:使用视图查询、修改数据8、小结9、课堂小练习。(10分钟)第7章 Transact-SQL程序设计一、教学目标:1、了解批处理、全局与局部变
21、量的概念。2、掌握常用运算符及其优先级、常用函数的格式及用法。3、掌握流程控制语句的种类及用法。4、掌握游标的使用二、教学重点和难点:重点:流程控制语句的使用难点:打开和使用游标三、教学方法与手段:注重举例,理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容: 1、两个GO之间的SQL语句作为一个批处理。两种类型的注释字符:单行注释:使用两个连在一起的减号“- -”作为注释符多行注释:使用“/* */”作为注释符 2、全局变量与局部变量的区别,定义局部变量的关键字为declare。3、以复习方式提问:运算符及其优先级。4、系统函数、时间日期函数(如:Day( ), getdate(
22、 ), month( ), year( ))、数学函数、转换函数(如:cast、convert)等等。举例:函数GETDATE()可以获得当前的日期和时间,使用YEAR(GETDATE())可以获得当年的年份,使用YEAR(birthday)可以获得学生的出生年份。提问:如何通过出生年月字段求学生年龄?5、流程控制语句使用T-SQL语言编程的时候,常常要利用各种流程控制语句去进行顺序、分支控制转移、循环等操作。T-SQL提供了一组流程控制语句,包括:条件控制语句、无条件控制语句、循环语句和返回状态值给调用例程的语句等。如:BEGINEND语句块、IFELSE语句、WHILE语句、CASE语句、
23、GOTO语句、RETURN语句、WAITFOR语句注意:通过教材例子详细分析流程控制语句6、使用游标通常情况下,关系数据库中的操作总会对整个记录集产生影响,而在实际应用中,应用程序有时只需要每次处理一条或一部分记录。在这种情况下,就需要使用游标在服务器内部处理结果集,游标可视为一种特殊的指针,它不但可以定位在结果集的特定记录上,还可以从结果集的当前位置查询一条或多条记录并对读取到的数据进行处理。使用游标要遵循以下顺序:声明游标打开游标读取数据关闭游标删除游标7、(20分钟)思考与练习:教材141页第6题。学生课堂练习后,教师详细讲解。8、小结9、课后思考题(1)用一条查询语句从下列表中找出所有
24、课程分数大于80分的学生姓名。Name kecheng fenshu 张三 语文 92张三 数学 75王五 语文 80王五 数学 85王五 英语 91李四 语文 100李四 数据 79(2)删除除了自动编号不同以外所有都相同的冗余记录自动编号 学号 姓名 课程编号 分数1 99001 张三 D001 902 99002 李四 D001 893 99001 张三 D001 90第8章 存储过程一、教学目标:1、了解存储过程的优点和分类。2、掌握创建、修改和删除存储过程的方法。3、学会使用存储过程。二、教学重点和难点:教学重点:使用命令创建存储过程教学难点:带参数的存储过程三、教学方法与手段:注重
25、实例,采用一次理论一次实验的教学方法。理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容: 1、复习,分析上次课布置的“课后思考题”。(10分钟) 2、在使用Transact-SQL语言编程的过程中,我们可以将某些需要多次调用的实现某个特定任务的代码段编写成一个过程,将其保存在数据库中,并由SQL Server服务器通过过程名来调用它们,这些过程就叫做存储过程。3、存储过程的分类 A、系统存储过程:sp_help、sp_helptext、sp_dependsB、用户自定义存储过程:简单实例CREATE PROC dbo.Os AS SELECT * FROM t_score WHE
26、RE score 604、创建存储过程的三种方法:A、使用企业管理器创建存储过程,实例:创建一个存储过程pro_emp,用于显示employes表的所有信息。B、使用Transact-SQL语句创建存储过程,实例:创建一个带有输入参数的存储过程proc_goods,查询指定员工所进商品信息。创建和执行存储过程的脚本内容如下:USE SalesGOCREATE PROC proc_goods员工编号 char(6)=1001ASSELECT 商品编号,商品名称,生产厂商,进货价,零售价,数量,进货时间 FROM Goods WHERE 进货员工编号=员工编号课堂练习:创建一个带有输入和输出参数的
27、存储过程proc_GNO,查询指定厂商指定名称的商品所对应的商品编号。C、使用向导创建存储过程。5、执行存储过程。-执行存储过程,查询1001号员工所进的商品的信息EXEC proc_goods 员工编号=default-或EXEC proc_goods 员工编号=10016、执行字符串本例是用EXECUTE语句执行字符串的示例。USE SalesGODECLARE sqlstr VARCHAR(40)SET sqlstr=SELECT * FROM Employees ORDER BY 姓名 EXEC(sqlstr)7、思考:课本131页本章习题8、小结第九章 触发器一、教学目标:1、理解触
28、发器的概念以及分类。2、掌握创建触发器的两种方法以及触发器的使用、修改和删除。二、教学重点和难点:教学重点:根据实际如何选择不同类型的触发器;教学难点:触发器中临时表inserted与deleted的使用。三、教学方法与手段:注重实例,采用一次理论一次实验的教学方法。理论教学使用多媒体投影室。四、教学课时:3课时五、教学基本内容: 1、复习,然后由存储过程的定义与优点引出触发器的定义,触发器与一般存储过程的区别:一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过事件进行触发而被执行。(5分钟)2、触发器的优点:级联修改数据库中相关的表;实现比CHECK约束更为复杂的约束操作;拒绝或回
29、滚违反引用完整性的约束操作;比较表修改前后数据之间的差别,并根据差别采取相应的操作。3、触发器的两种类型(举例,详细分析两者的区别)(1)AFTER触发器:将在数据变动(INSERT、UPDATE和DELETE操作)完成后才被激发。对变动数据进行检查,如果发现错误,将拒绝或回滚变动的数据。(2)INSTEAD OF 触发器:将在数据变动以前被激发。并取代变动数据(INSERT、UPDATE和DELETE操作)的操作,转而去执行触发器定义的操作。4、分别使用两种方法创建一个DELETE类型的触发器。A、使用企业管理器创建触发器,举例:选择Sales数据库的Goods表,在下面的步骤中将在Good
30、s表创建触发器。B、使用Transact-SQL语言创建触发器举例:创建一个简单的触发器,当有人试图更新Sales数据库的商品信息时,利用触发器产生提示信息。-创建触发器USE SalesGOCREATE TRIGGER tri_UpdateGoodsON GoodsFOR UPDATEAS RAISERROR(更新表数据,16,10)-测试触发器UPDATE GoodsSET 数量=8where 商品编号=5结果如下:服务器: 消息 50000,级别 16,状态 10,过程 tri_UpdateGoods,行 5更新表数据5、修改与删除触发器注意:重命名触发器 EXEC sp_rename 原触发器名, 新触发器名6、小结与思考:A、存储过程与触发器有什么不同?B、触发器与约束的区别是什么?C、触发器有几种类型,如何创建?D、什么是嵌套触发器、递归触发器 ? 第10章 用户自定义函数与事务一、
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1