数据库编程初步学习教案.pptx
![资源得分’ 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)
《数据库编程初步学习教案.pptx》由会员分享,可在线阅读,更多相关《数据库编程初步学习教案.pptx(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1数据库编程初步数据库编程初步(chb)第一页,共56页。本章本章(bn zhn)学习目标学习目标n n了解(lioji)基于数据库服务器的数据库编程基础;n n掌握Transact-SQL编程的基本语句和流程控制方法;n n理解游标的概念,掌握游标的使用方法;n n理解存储过程的概念,掌握存储过程的创建和调用方法;n n理解触发器的概念,掌握DML触发器的使用方法。第1页/共56页第二页,共56页。本章重点本章重点(zhngdin)和难点和难点n n本章学习的重点是掌握数据库编程的基本方法,要求学生能够理解游标、存储(cn ch)过程和触发器的概念,并能够运用Transact-SQL完
2、成相应的编程。n n本章学习的难点是能够灵活运用游标、存储(cn ch)过程和触发器完成相关的数据库应用开发。第2页/共56页第三页,共56页。4.1 T-SQL简介简介(jin ji)n nSQL Server使用的语言称作(chn zu)Transact-SQL(简称T-SQL),它不仅包括基本SQL操作和查询的内容(第3章介绍的关系数据库标准语言SQL),还有一般程序设计的能力。第3页/共56页第四页,共56页。变量变量(binling)及其说明及其说明n n用DECLARE语句(yj)说明内存变量 n nDECLARE ,.n n注意,变量名前必须有前缀,以便与关系的属性名相区分 第4
3、页/共56页第五页,共56页。变量变量(binling)的赋值的赋值n n对变量赋值的命令是 n nSELECT=,=n n或n nSET=n n或n nSELECT=,=FROM n n前两种格式是直接对变量进行(jnxng)赋值,第三种格式是将SELECT查询的结果赋值给变量。第5页/共56页第六页,共56页。关于关于(guny)数据类型数据类型n n整数 n n非整数数字 n n货币数据类型 n n字符(z f)数据类型 n n日期和时间数据类型 n n二进制数据类型 n n关于Unicode数据类型 n n特殊数据类型 第6页/共56页第七页,共56页。运算符与表达式运算符与表达式 n
4、 n算术(sunsh)运算符 n n位运算符 n n比较运算符 n n逻辑运算符 n n字符串运算符 第7页/共56页第八页,共56页。函数函数(hnsh)(hnsh)n n聚合函数 n n配置函数 n n加密函数 n n游标函数 n n日期(rq)和时间函数 n n数学函数 n元数据函数n行集函数 n安全函数 n字符串函数 n系统(xtng)函数 n系统(xtng)统计函数 第8页/共56页第九页,共56页。语句语句(yj)(yj)n n赋值语句 n nBEGINEND n n条件(tiojin)语句 n n循环语句 n nEXECUTE语句 n nWAITFOR语句 n nPRINT语句
5、n nRETURN语句 第9页/共56页第十页,共56页。思考题思考题 n nnumericnumeric和和floatfloat数数据据类类型型都都是是非非整整数数类类型型,它它们们有有什什么么区区别别?在在使使用用时要注意哪些问题?时要注意哪些问题?n nmoneymoney(或或smallmoneysmallmoney)数数据据类类型型与与numericnumeric和和floatfloat数数据据类类型型有有什什么么区别?区别?n ncharchar和和varcharvarchar都是字符类型,它们在概念和使用上有哪些区别?都是字符类型,它们在概念和使用上有哪些区别?n n什么是什么是
6、UnicodeUnicode数据类型?数据类型?n n讨论讨论T-SQLT-SQL中的运算符与一般程序设计语言中运算符的异同之处。中的运算符与一般程序设计语言中运算符的异同之处。n nPRINTPRINT语语句句只只能能(zh(zh nnnn)输输出出单单个个字字符符型型常常量量或或表表达达式式,如如果果要要输输出出非非字字符符型型表表达达式式应应该该如如何何处处理理?如如果果要要输输出出多多个个表表达达式式应应该该如如何处理?何处理?第10页/共56页第十一页,共56页。游标游标(yubio)(yubio)(CursorCursor)n n什么(shn me)是游标?n n为什么(shn m
7、e)需要游标?nSELECT的查询结果是记录的集合,如果需要交互的处理这些记录、或者需要根据这些记录完成对其他(qt)信息的处理,则需要把查询结果暂时存储、并能够读取和使用这些信息。第11页/共56页第十二页,共56页。游标游标(yubio)的概念的概念n n游标(yubio)是查询结果的临时存储n n定义游标(yubio)n n使用游标(yubio)n n释放游标(yubio)第12页/共56页第十三页,共56页。定义定义(dngy)游标游标n n基本(jbn)格式n n DECLARE CURSOR FOR n n游标可以看作是一个临时存储或临时文件,它的内容就是SELECT查询的结果n
8、n游标定义的更多解释参见教材第13页/共56页第十四页,共56页。游标游标(yubio)的使用的使用n n打开游标n n从游标中读记录n n循环控制遍历游标的所有(suyu)记录n n关闭游标n n释放游标第14页/共56页第十五页,共56页。打开打开(d ki)(d ki)游标游标 n nOPEN 第15页/共56页第十六页,共56页。从游标从游标(yubio)(yubio)中读记录中读记录 n n基本格式(g shi)是 n n FETCH INTO,n n完整格式(g shi)参见教材第16页/共56页第十七页,共56页。循环控制遍历游标的所有循环控制遍历游标的所有(suyu)记录记录n
9、 n全局变量FETCH_STATUS n n一个系统预定义的全局变量、也可以(ky)看作是一个系统函数,取值如下:n n0:FETCH 语句成功;n n-1:FETCH 语句失败或行不在结果集中;n n-2:提取的行不存在。n n循环语句n nWHILE FETCH_STATUS=0 第17页/共56页第十八页,共56页。关闭关闭(gunb)(gunb)游标游标 n nCLOSE 第18页/共56页第十九页,共56页。释放释放(shfng)(shfng)游标游标 n nDEALLOCATE 第19页/共56页第二十页,共56页。游标游标(yubio)概念归纳概念归纳n n与程序设计语言中的文件
10、相对照:n nDECLARE CURSOR相当于说明了一个文件n nOPEN相当于打开文件n nFETCH相当于读一条记录n nCLOSE相当于关闭文件n nDEALLOCATE语句(yj)相当于删除文件。第20页/共56页第二十一页,共56页。游标游标(yubio)(yubio)查询处理举例查询处理举例 n n用游标逐条显示学生(xu sheng)信息说明变量说明游标打开游标从游标中读第一条记录到变量WHILE 读成功(chnggng)BEGIN 输出当前变量(记录)的信息 读下一条记录到变量END关闭和释放游标第21页/共56页第二十二页,共56页。游标游标(yubi(yubio)o)查查
11、询处理询处理举例举例n n用游标显示(xinsh)学生及其选课的信息(嵌套)说明变量说明学生游标打开学生游标从游标中读第一条学生记录到变量WHILE 读成功BEGIN 输出当前(dngqin)变量(记录)的信息 说明当前(dngqin)学生选课游标 打开选课游标 从游标中读第一条选课记录到变量 WHILE 读成功 BEGIN 输出当前(dngqin)变量(记录)的信息 读下一条选课记录到变量 END 关闭和释放选课游标 读下一条学生记录到变量END关闭和释放学生游标注意内外层都使用全局变量FETCH_STATUS第22页/共56页第二十三页,共56页。利用游标进行删除利用游标进行删除(shnc
12、h)(shnch)和和更新操作更新操作 n n使用游标的UPDATE命令的格式(g shi)是 n nUPDATE n nSET=|NULL,nn nWHERE CURRENT OF n n使用游标的DELETE命令的格式(g shi)是 n nDELETE FROM WHERE CURRENT OF n n利用WHERE CURRENT OF 进行的修改或删除只影响表的当前行。第23页/共56页第二十四页,共56页。使用游标进行更新使用游标进行更新(gngxn)(gngxn)的的例子例子 说明变量说明游标打开(d ki)游标从游标中读第一条记录到变量WHILE 读成功BEGIN 如果满足更新
13、条件 UPDATE WHERE CURRENT OF 读下一条记录到变量END关闭和释放游标第24页/共56页第二十五页,共56页。嵌入式嵌入式SQL n n非过程化与过程化n n必须结合(jih)程序才能完成应用,但是就数据查询和数据操作而言还是非过程化的第25页/共56页第二十六页,共56页。如何将如何将SQL嵌入到宿主嵌入到宿主(szh)语言中语言中 n n嵌入识别问题 n n宿主(szh)语言与SQL语言的数据交互问题 n n宿主(szh)语言的单记录与SQL的多记录的问题 第26页/共56页第二十七页,共56页。思考题思考题n n理解游标的概念,讨论游标的使用方法和用途。理解游标的概
14、念,讨论游标的使用方法和用途。n n在在SQL ServerSQL Server中全局变量是如何定义的?全局变量中全局变量是如何定义的?全局变量FETCH_STATUSFETCH_STATUS的用途是什么?再列举的用途是什么?再列举3-43-4个类似的全局个类似的全局变量,并说明它们的用途。变量,并说明它们的用途。n n讨论利用游标进行删除和更新操作的处理机制。讨论利用游标进行删除和更新操作的处理机制。n n为什么为什么SQLSQL有时候需要嵌入在程序设计语言中使用?有时候需要嵌入在程序设计语言中使用?SQLSQL嵌入在程序设计语言中使用时会遇到哪些问题嵌入在程序设计语言中使用时会遇到哪些问题
15、(wnt)(wnt)?这些问题这些问题(wnt)(wnt)是如何解决的?是如何解决的?第27页/共56页第二十八页,共56页。4.3 存储存储(cn ch)过程过程 n n存储过程(Stored Procedure)源于客户/服务器数据库体系结构,它与传统数据库结构的一个很重要的区别是,在传统的数据库中只存放数据,所有(suyu)的应用程序都在用户端,都与用户实际运行的应用程序捆绑在一起;而在客户/服务器结构的数据库中,在数据库中还可以存放程序,因为这种程序以数据库对象的形式存储在数据库中,所以称为存储过程。第28页/共56页第二十九页,共56页。客户客户(k h)/(k h)/服务器体系结构
16、服务器体系结构n n客户/服务器体系结构是一种合理配置客户端和服务器端应用负载(fzi)、充分利用系统资源、使系统服务效率更高的一种应用体系结构。第29页/共56页第三十页,共56页。非客户非客户/服务器应用服务器应用(yngyng)示意示意n n查询查询查询查询(chxn)(chxn)在客户在客户在客户在客户端完成端完成端完成端完成查询(chxn)表格30000条记录的表格第30页/共56页第三十一页,共56页。客户客户(k h)/服务器应用示意服务器应用示意n n查询查询(chxn)在服务在服务器端完器端完成成SQL请求(qngqi)返回一条记录第31页/共56页第三十二页,共56页。存储
17、存储(cn ch)过程的概念过程的概念n n存储在数据库中的程序n nT-SQL语句写的程序n nSQL Server 2005以后(yhu)存储过程还可以是对CLR方法的引用(Microsoft.NET Framework 公共语言运行时)n n在数据库服务器上运行n nSQL Server自身的很多功能也是使用存储过程实现的系统存储过程n n用户可以建立自己的存储过程第32页/共56页第三十三页,共56页。存储存储(cn ch)过程的作用过程的作用n n可以避免在网络上传输(chun sh)大量无用的信息或原始数据,只需要传输(chun sh)调用存储过程的指令和数据库服务器返回的处理结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 编程 初步 学习 教案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内