《SQL Server数据库管理》教案.docx

上传人:b****6 文档编号:7105199 上传时间:2023-01-17 格式:DOCX 页数:15 大小:24.56KB
下载 相关 举报
《SQL Server数据库管理》教案.docx_第1页
第1页 / 共15页
《SQL Server数据库管理》教案.docx_第2页
第2页 / 共15页
《SQL Server数据库管理》教案.docx_第3页
第3页 / 共15页
《SQL Server数据库管理》教案.docx_第4页
第4页 / 共15页
《SQL Server数据库管理》教案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

《SQL Server数据库管理》教案.docx

《《SQL Server数据库管理》教案.docx》由会员分享,可在线阅读,更多相关《《SQL Server数据库管理》教案.docx(15页珍藏版)》请在冰豆网上搜索。

《SQL Server数据库管理》教案.docx

SQLServer数据库管理教案数据库管理教案教案课程名称ASP.NET程序设计学时总数48任课教师适用专业软件课次1审批人章节题目绪论审批时间教学目的:

了解什么是数据库,了解数据管理技术的产生和发展过程、数据库系统特点。

教学重点:

熟悉企业管理器与查询分析器。

教学难点:

系统数据库和系统表的作用。

教学过程设计:

1、课程培养目标:

通过本课程的学习,掌握SQLServer环境下进行编程的知识,具备利用SQLServer进行数据库应用程序开发的基本能力。

2、SQLServer的定义:

是一个高性能的C/S结构的RDBMS,是为支持高容量的事务处理(如在线订购录入、存货目录、记帐或支付)以及数据仓库和决策支持系统而设计的。

3、SQLServer的发展、特点和新特性。

4、SQLServer的安装和配置。

5、了解系统数据库和系统表的作用:

主数据库master、msdb、pubs等。

演示:

打开企业管理器,展开服务器,详细分析各个系统数据库和系统表6、了解SQLServer的主要管理工具,熟悉企业管理器、查询分析器。

(1)讲授SQLServer的主要管理工具,分别打开九个工具,演示分析企业管理器的功能。

演示:

打开企业管理器,展开服务器,新建一个数据库sales。

注意:

可以由教师讲解,同时学生操作演示再创建一个数据库。

(2)分析查询分析器的使用方法,演示打开查询分析器的两种方法。

例:

在查询分析器地命令行窗口中输入如下的SQL语句:

usepubsselect*fromjobs(3)了解SQLServer服务管理器的使用方法。

(4)掌握创建SQLServer服务器组的方法及注册SQLServer服务器的方法。

注意:

如果该服务器已成功注册,则显示具有改名称的服务器已存在,如果该服务器不能成功注册,则可能该服务器的服务没有启动,或者是现在的用户没有权限注册该服务器。

(5)打开服务器网络实用工具和客户端网络使用工具,分析它们的功能。

(6)演示打开联机帮助文档的三种方法。

如:

SHIFT+F1;选择菜单栏“帮助”等。

7、小结8、思考与练习课程名称ASP.NET程序设计学时总数48任课教师适用专业软件课次2审批人章节题目任务1创建和管理数据库审批时间教学目的:

了解什么是SQL以及SQL语言的特点,了解三级模式的含义,熟练掌握创建、修改、删除数据库的方法,掌握如何打开数据库、分离和附加数据库,如何收缩数据库,如何进行备份和恢复数据库,了解数据库联机和脱机的作用,并能够熟练导入、导出数据库中数据。

教学重点:

掌握各种数据类型的用法、设计和创建各种约束。

教学难点:

用户自定义数据类型的创建、文件和文件组的概念。

教学过程设计:

1、复习上次课内容,详细分析25个系统数据类型在绝大多数编程环境中,数据类型由系统定义,这类数据类型通常称之为系统数据类型。

字符数据的类型:

Char,Varchar和Text数值型数据类型:

bigint,int,smallint,tinyint,decimal,numeric,float和real货币型数据类型:

Money和Smallmoney时间日期数据类型:

Datetime和Smalldatetime二进制数据类型:

Binary(固定长度)和Varbinary(可变长度)2、创建用户自定义数据类型用户定义的数据类型基于在MicrosoftSQLServer中提供的数据类型。

当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。

请看例子例1UseNorthwindExecsp_addtypeuname,Varchar(8),NotNull例2UseSalesExecsp_addtypetelephone,varchar(24),NotNullExecsp_addtypefax,varchar(24),Null3、删除用户定义的数据类型sp_droptype注意:

当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户定义的数据类型不能删除。

4、数据库由数据库文件(数据和对象)和事务日志文件(操作日志)组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。

主文件.mdf、辅助文件.ndf、事务日志文件.ldf5、创建数据库的过程实际上就是为数据库设计名称、设计所占用的存储空间和存放文件位置的过程等。

演示操作:

A使用向导创建数据库B使用企业管理器创建数据库C使用Transact-SQL语言创建数据库思考:

请学生上讲台完成:

使用默认参数用Transact-SQL语言创建数据库。

6、修改数据库的方法:

重命名、收缩数据库等。

如:

execsp_renamedb旧名,新名7、小结:

本章重点介绍了SQLServer数据类型的分类,创建、修改、删除数据库的方法,打开数据库,备份和恢复数据库。

8、课堂练习:

创建一个数据类型,要求其为字符型,最大长度为12,不允许为空。

创建一个数据库。

课程名称ASP.NET程序设计学时总数48任课教师适用专业软件课次34审批人章节题目任务2创建和管理表审批时间教学目的:

了解关系数据库理论的产生和发展过程;掌握关系模型的3个组成部分及各部分所包含的内容;掌握关系的3类完整性约束概念;熟练掌握关系代数的各种运算;了解数据库完整性约束条件的分类;掌握DBMS完整性约束条件的三个方面;熟练使用SQL定义关系模式的完整性约束条件。

教学重点:

设计和创建各种约束。

教学难点:

文件和文件组的概念。

教学过程设计:

1、表是包含数据库中所有数据的数据库对象,用来存储各种各样的信息。

演示操作:

A、利用企业管理器创建表实例:

创建employees员工表B、利用Transact-SQL语言创建表实例:

创建goods进货表注意:

请学生上讲台完成sell表的建立。

2、约束是SQLServer提供的自动保持数据库完整性的一种方法。

主键约束、唯一性约束、检查约束、默认约束、外键约束关键字分别为:

primarykey、unique、check、default、foreignkey。

提示:

教师讲解结束,请学生为sales数据库的各个表设计并创建各种约束。

3、分别使用2种方法增加、删除和修改empl4、查看表、删除表的演示操作。

5、小结6、课后作业课程名称ASP.NET程序设计学时总数48任课教师适用专业软件课次59审批人章节题目任务3操作数据审批时间教学目的:

了解SQL特点;熟练使用SQL完成对数据库的查询、插入、删除、更新操作,掌握SQL强大的查询功能。

教学重点:

多表联接查询,使用语句创建索引。

教学难点:

嵌套查询的使用,聚集索引与非聚集索引的理解。

教学过程设计:

1、复习上次课内容2、请学生上讲台演示:

为t_student输入相应数据,并修改和删除数据。

提问思考:

如何使用语句命令的方法完成学生演示的数据操作?

3、SELECT语句能够从数据库中检索出符合用户需求的数据,并将结果以表格的形式返回,是SQLServer中使用最频繁的语句之一。

它功能强大,所以也有较多的子句,包含主要子句的基本语法结构如下:

SELECT列名1,列名2.INTO新表名FROM表名1,表名2.WHERE条件GROUPBY列名列表HAVING条件ORDERBY列名列表ASC|DESC针对student数据库的3个表,举例,详细分析SELECT语句的各个子句。

重点分析以下几方面的问题:

如何选择表中的列,列的别名,生成新的数据表等;使用ORDERBY子句,进行数据排序;使用比较运算符、逻辑运算符和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、索引的分类:

clustered、nonclustered、复合索引、唯一索引注意:

举例书本目录,分析聚集索引与非聚集索引的区别9、创建索引的三种方法:

A、使用企业管理器创建索引,举例:

为employees表创建索引I_电话。

B、使用Transact-SQL语句创建索引,实例:

在goods表创建索引I_进货时间。

C、使用向导创建视图10、查看、修改和删除索引注意:

删除索引时,索引前应注明表名。

如dropindext_student.I_number,t_student.I_name11、索引的分析与维护创建索引后,必须对索引进行维护,确保索引的统计信息是的有效的,才能够提高查找速度。

随着更新操作不断的执行,数据会变得支离破碎,这些数据碎片会导致额外的页读取,防碍数据的并行扫描。

应该定期整理索引清除数据碎片,提高数据读取的性能。

12、数据完整性为了维护数据库中的数据和现实世界的一致性,SQLServer提供了确保数据库的完整性的技术。

数据完整性是指存储在数据库中的数据的一致性和准确性。

数据完整性有3中类型:

域完整性、实体完整性和参照完整性。

13、小节14、课堂练习课程名称ASP.NET程序设计学时总数48任课教师适用专业软件课次10审批人章节题目任务4视图审批时间教学目的:

了解视图的用法和用途,并熟练使用视图。

教学重点:

使用命令创建视图。

教学难点:

如何通过视图修改数据表。

教学过程设计:

1、复习:

使用命令查询所有男学生的姓名、年龄、选修课程、成绩。

Selectt_student.s_name姓名,year(getdate()-year(birthday)年龄,t_course.c_name课程名称,t_score.score成绩fromt_student,t_course,t_scorewheret_student.s_number=t_score.s_numberandt_course.c_number=t_score.c_number如果在以上程序前加命令:

CREATEVIEWaAS,则可以生成一个虚拟的表视图。

2、由以上引导出视图的概念:

是从一个或者多个数据表或视图中导出的虚表,它的结构和数据是对数据表进行查询的结果。

3、视图的优点视点集中、简化操作、定制数据、合并分割数据、安全性4、创建视图的三种方法:

A、使用企业管理器创建视图。

例如,现在需要建立一个视图,通过该视图能够方便快捷地知道笔记本电脑的销售情况,则可以将sell和goods两张表同时添加到视图中,在表sell中选择“所有列”复选框,同时在表goods中选择“商品名称”字段对应的复选框。

B、使用Transact-SQL语句创建视图,例如,创建一个新视图v1,要求基表选择goods,sell,employees,来源字段为sell表中的销售编号、商品编号和数量;goods表中的商品名称;employees表中编号和姓名,要求查询采购部的赵飞燕所采购商品的销售情况C、使用向导创建视图。

5、修改和重命名视图6、掌握通过视图修改数据表的方法,使用时应该注意以下几点:

修改视图中的数据时每次都只能影响一个基表。

不能修改那些通过计算得到的字段。

如果视图引用多个表时,无法用DELETE命令删除数据,若使用UPDATE命令则应与INSERT操作一样,被更新的列必须属于同一个表。

执行UPDATE、DELETE命令时,所删除与更新的数据必须包含在视图的结果集中。

如果在创建视图时指定了WITHCHECKOPTION选项,那么所有使用视图修改数据库信息时,必须保证修改后的数据满足视图定义的范围。

7、举例:

使用视图查询、修改数据8、小结9、课堂小练习。

课程名称ASP.NET程序设计学时总数48任课教师适用专业软件课次1112审批人章节题目任务5T-SQL程序设计、任务9游标审批时间教学目的:

理解常量、变量与数据类型的用法;掌握流程控制语句的运用。

教学重点:

流程控制语句的使用。

教学难点:

打开和使用游标。

教学过程设计:

1、两个GO之间的SQL语句作为一个批处理。

两种类型的注释字符:

单行注释:

使用两个连在一起的减号“-”作为注释符多行注释:

使用“/*/”作为注释符2、全局变量与局部变量的区别,定义局部变量的关键字为declare。

3、以复习方式提问:

运算符及其优先级。

4、系统函数、时间日期函数(如:

Day(),getdate(),month(),year())、数学函数、转换函数(如:

cast、convert)等等。

举例:

函数GETDATE()可以获得当前的日期和时间,使用YEAR(GETDATE())可以获得当年的年份,使用YEAR(birthday)可以获得学生的出生年份。

提问:

如何通过出生年月字段求学生年龄?

5、流程控制语句使用T-SQL语言编程的时候,常常要利用各种流程控制语句去进行顺序、分支控制转移、循环等操作。

T-SQL提供了一组流程控制语句,包括:

条件控制语句、无条件控制语句、循环语句和返回状态值给调用例程的语句等。

如:

BEGINEND语句块、IFELSE语句、WHILE语句、CASE语句、GOTO语句、RETURN语句、WAITFOR语句注意:

通过教材例子详细分析流程控制语句6、使用游标通常情况下,关系数据库中的操作总会对整个记录集产生影响,而在实际应用中,应用程序有时只需要每次处理一条或一部分记录。

在这种情况下,就需要使用游标在服务器内部处理结果集,游标可视为一种特殊的指针,它不但可以定位在结果集的特定记录上,还可以从结果集的当前位置查询一条或多条记录并对读取到的数据进行处理。

使用游标要遵循以下顺序:

声明游标打开游标读取数据关闭游标删除游标7、思考与练习:

学生课堂练习后,教师详细讲解。

8、小结9、课后思考题

(1)用一条查询语句从下列表中找出所有课程分数大于80分的学生姓名。

Namekechengfenshu张三语文92张三数学75王五语文80王五数学85王五英语91李四语文100李四数据79

(2)删除除了自动编号不同以外所有都相同的冗余记录自动编号学号姓名课程编号分数199001张三D00190299002李四D00189399001张三D00190课程名称ASP.NET程序设计学时总数48任课教师适用专业软件课次13审批人章节题目任务6存储过程审批时间教学目的:

理解存储过程基本概念;了解用户存储过程的创建、删除、修改和执行方法。

教学重点:

使用命令创建存储过程。

教学难点:

带参数的存储过程。

教学过程设计:

1、复习,分析上次课布置的“课后思考题”。

2、在使用Transact-SQL语言编程的过程中,我们可以将某些需要多次调用的实现某个特定任务的代码段编写成一个过程,将其保存在数据库中,并由SQLServer服务器通过过程名来调用它们,这些过程就叫做存储过程。

3、存储过程的分类A、系统存储过程:

sp_help、sp_helptext、sp_dependsB、用户自定义存储过程:

简单实例CREATEPROCdbo.OsASSELECT*FROMt_scoreWHEREscore604、创建存储过程的三种方法:

A、使用企业管理器创建存储过程,实例:

创建一个存储过程pro_emp,用于显示employes表的所有信息。

B、使用Transact-SQL语句创建存储过程,实例:

创建一个带有输入参数的存储过程proc_goods,查询指定员工所进商品信息。

创建和执行存储过程的脚本内容如下:

USESalesGOCREATEPROCproc_goods员工编号char(6)=1001ASSELECT商品编号,商品名称,生产厂商,进货价,零售价,数量,进货时间FROMGoodsWHERE进货员工编号=员工编号课堂练习:

创建一个带有输入和输出参数的存储过程proc_GNO,查询指定厂商指定名称的商品所对应的商品编号。

C、使用向导创建存储过程。

5、执行存储过程。

-执行存储过程,查询1001号员工所进的商品的信息EXECproc_goods员工编号=default-或EXECproc_goods员工编号=10016、执行字符串本例是用EXECUTE语句执行字符串的示例。

USESalesGODECLAREsqlstrVARCHAR(40)SETsqlstr=SELECT*FROMEmployeesORDERBY姓名EXEC(sqlstr)7、思考:

8、小结课程名称ASP.NET程序设计学时总数48任课教师适用专业软件课次14审批人章节题目任务7函数审批时间教学目的:

熟练使用常用函数,包括字符串函数、日期时间函数、数学函数、类型转换函数、聚合函数;能够创建、删除、修改自定义函数。

教学重点:

创建用户自定义函数的方法。

教学难点:

函数的应用。

教学过程设计1、复习存储过程。

2、函数的概念,用户自定义函数简介3、创建用户自定义函数有两种方法:

一种是使用企业管理器,另一种是使用查询分析器。

4、小结5、作业课程名称ASP.NET程序设计学时总数48任课教师适用专业软件课次15审批人章节题目任务8触发器审批时间教学目的:

了解触发器的用法和用途,熟练使用两个临时表实现复杂的完整性约束。

教学重点:

根据实际如何选择不同类型的触发器。

教学难点:

触发器中临时表inserted与deleted的使用。

教学过程设计1、复习,然后由存储过程的定义与优点引出触发器的定义,触发器与一般存储过程的区别:

一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过事件进行触发而被执行。

2、触发器的优点:

级联修改数据库中相关的表;实现比CHECK约束更为复杂的约束操作;拒绝或回滚违反引用完整性的约束操作;比较表修改前后数据之间的差别,并根据差别采取相应的操作。

3、触发器的两种类型(举例,详细分析两者的区别)

(1)AFTER触发器:

将在数据变动(INSERT、UPDATE和DELETE操作)完成后才被激发。

对变动数据进行检查,如果发现错误,将拒绝或回滚变动的数据。

(2)INSTEADOF触发器:

将在数据变动以前被激发。

并取代变动数据(INSERT、UPDATE和DELETE操作)的操作,转而去执行触发器定义的操作。

4、分别使用两种方法创建一个DELETE类型的触发器。

A、使用企业管理器创建触发器,举例:

选择Sales数据库的Goods表,在下面的步骤中将在Goods表创建触发器。

B、使用Transact-SQL语言创建触发器举例:

创建一个简单的触发器,当有人试图更新Sales数据库的商品信息时,利用触发器产生提示信息。

-创建触发器USESalesGOCREATETRIGGERtri_UpdateGoodsONGoodsFORUPDATEASRAISERROR(更新表数据,16,10)-测试触发器UPDATEGoodsSET数量=8where商品编号=5结果如下:

服务器:

消息50000,级别16,状态10,过程tri_UpdateGoods,行5更新表数据5、修改与删除触发器注意:

重命名触发器EXECsp_rename原触发器名,新触发器名6、小结与思考:

A、存储过程与触发器有什么不同?

B、触发器与约束的区别是什么?

C、触发器有几种类型,如何创建?

D、什么是嵌套触发器、递归触发器?

课程名称ASP.NET程序设计学时总数48任课教师适用专业软件课次16审批人章节题目任务10事务审批时间教学目的:

了解事务的基本概念和事务的ACID性质,掌握事务的用途用法。

教学重点:

理解事务处理与锁的概念。

教学难点:

理解事务处理与锁的理解。

教学过程设计1、复习函数。

2、事务简介事务是一个逻辑工作单元,其中包括了一系列的操作,这些操作要么全部执行,要么都不执行。

典型的事务实例是两个银行之间的转账,账号A转出1000元至账号B,这笔转账业务可分解为:

(1)账号A减去1000元;

(2)账号B增加1000元。

当然,要求这两项操作要么同时成功(转账成功),要么同时失败(转账失败)。

只有其中一项操作成功则是不可接受的事情。

如果确实发生了只有其中一项操作成功的话,那么应该撤消所做的操作(回滚事务),就好象什么操作都没有发生一样。

事务具有4个属性:

原子性、一致性、隔离性、持久性。

简称为ACID属性。

3、锁的概念锁作为一种安全机制,用于控制多个用户的并发操作,防止用户读取正在由其他用户更改的数据或者多个用户同时修改同一数据,确保事务的完整性和数据库的一致性。

4、死锁及其排除5、小结6、作业

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1