第5章数据库的高级应用摘要

上传人:小** 文档编号:54586499 上传时间:2018-09-15 格式:PPT 页数:69 大小:1.02MB
返回 下载 相关 举报
第5章数据库的高级应用摘要_第1页
第1页 / 共69页
第5章数据库的高级应用摘要_第2页
第2页 / 共69页
第5章数据库的高级应用摘要_第3页
第3页 / 共69页
第5章数据库的高级应用摘要_第4页
第4页 / 共69页
第5章数据库的高级应用摘要_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《第5章数据库的高级应用摘要》由会员分享,可在线阅读,更多相关《第5章数据库的高级应用摘要(69页珍藏版)》请在金锄头文库上搜索。

1、任课人:cws,第5章 数据库的高级应用,章节内容,5.1架构 5.2 索引 5.3 视图 5.4 Transact-SQL编程基础 5.5 存储过程 5.6 触发器 5.7 事务 5.8 锁,2,数据库的高级应用,学习目标: 了解索引、视图、游标、存储过程、触发器及事务的作用 掌握索引、视图、游标、存储过程、触发器及事务的创建方法 掌握索引、视图、游标、存储过程、触发器及事务的修改及删除方法,5.3 视 图,【课堂任务】 本节要理解视图的作用及使用。 视图的概念及作用 视图的创建、修改和删除,5.3.1 视图概述,视图(虚拟表) 是从一个或者几个基本表或者视图中导出的虚拟表,是从现有基表中抽

2、取若干子集组成用户的“专用表”,这种构造方式必须使用SQL中的SELECT语句来实现。 在定义一个视图时,只是把其定义存放在数据库中,并不直接存储视图对应的数据,直到用户使用视图时才去查找对应的数据。,5.3.1 视图概述,使用视图具有如下优点: (1) 简化对数据的操作 (2) 自定义数据 (3) 数据集中显示 (4) 导入和导出数据 (5) 合并分割数据 (6) 安全机制,5.3.2 视图的创建,视图创建方法 1. 使用SSMS创建视图(演示) 2. 使用Transact-SQL语句创建视图,CREATE VIEW view_name (Column ,n) WITH ENCRYPTION

3、 AS select_statement WITH CHECK OPTION,5.3.2 视图的创建,命令中的参数含义如下: Column:声明视图中使用的列名。如果省略,就使用基表的列名作为视图的列名,也可在Select_statement语句中指定列名。 WITH ENCRYPTION:给系统表syscomments中视图定义的SELECT命令加密。这个选项可用于提高SQL Server系统的安全性。 AS:说明视图要完成的操作。,5.3.2 视图的创建,命令中的参数含义如下: Select_statement:定义视图的SELECT命令。 注意:视图中的SELECT命令不能包括INTO、

4、ORDER BY等子句。临时表也不能在查询中引用。 WITH CHECK OPTION:强制所有通过视图修改的数据满足Select_statement语句中指定的选择条件。视图创建成功后,可以在SSMS视图窗口中看到新定义的视图名称。视图可以由一个或多个表或视图来定义。,5.3.2 视图的创建,【例5-2】 有条件的视图定义。定义视图v_student,查询所有选修数据库课程的学生的学号(sno)、姓名(sname)、课程名称(cname)和成绩(degree)。 该视图的定义涉及了student表、course表和sc表。视图定义后,可以像基本表一样进行查询。 例:若要查询以上定义的视图v_

5、student,可以使用命令:SELECT * FROM v_student,CREATE VIEW v_studentAS SELECT A.sno,sname,cname,degree FROM student A,course B,sc C WHERE A.sno=C.sno AND B.cno=C.cno AND cname=数据库,5.3.3 视图的使用,视图的使用 主要包括视图的检索、通过视图对基表进行插入、修改、删除操作。 视图的检索几乎没有什么限制:同基本表 对通过视图实现表的插入、修改、删除操作则有一定的限制条件。,5.3.3 视图的使用,【例5-3】 利用视图向表stude

6、nt中插入一条数据 创建视图 CREATE VIEW V1_student AS SELECT sno,sname, speciality FROM student 向表中插入一条数据,脚本如下: INSERT INTO V1_student VALUES(20050203,王小龙,计算机应用) 通过基本表,查询是否插入了该条记录: SELECT * FROM student WHERE sname=王小龙,5.3.3 视图的使用,如果视图以下属性,则插入、更新或删除基表将失败: (1) 视图定义中的FROM子句包含两个或多个表,且SELECT选择列表达式中的列包含来自多个表的列。 (2) 视

7、图的列是从集合函数派生的。(3) 视图中的SELECT语句包含GROUP BY子句或DISTINCT选项。(4) 视图的列是从常量或表达式派生的。,5.3.4 视图的修改,1、使用SSMS修改视图(鼠标右键选择修改) 2、使用T-SQL语句修改视图 ALTER VIEW view_name (Column,n) WITH ENCRYPTION AS select_statement WITH CHECK OPTION 提示:如果在创建视图时使用了WITH ENCRYPTION选项和WITH CHECK OPTION选项,则在使用ALTER VIEW命令时,也必须包括这些选项。,5.3.4 视图

8、的修改,【例5-5】 修改例5-3中的视图V1_student。,ALTER VIEW V1_student AS SELECT sno,sname FROM student,5.3.5 视图的删除,1.使用SSMS删除视图2.使用Transact-SQL语句删除视图 DROP VIEW view ,n 提示:DROP VIEW命令可以删除多个视图,各视图名之间用逗号分隔。,5.3.5 视图的删除,【例5-6】 删除视图V1_student。 DROP VIEW V1_student提示: 删除视图时,将从系统目录中删除视图的定义和有关视图的其他信息,还将删除视图的所有权限。 使用DROP T

9、ABLE删除的表上的任何视图都必须用DROP VIEW命令删除。,5.4 Transact-SQL编程基础,【课堂任务】 本节要熟悉Transact-SQL语言。 Transact-SQL的语法规范 Transact-SQL的语言基础 常用函数 游标的基本操作,5.4 Transact-SQL编程基础,1、常量与变量 常量,也称为文字值或标量值,是指程序运行中值始终不改的量。在Transact-SQL程序设计过程中,定义常量的格式取决于它所表示的值的数据类型。,5.4 Transact-SQL编程基础,1、常量与变量 变量,就是在程序执行过程中,其值是可以改变的量。可以利用变量存储程序执行过程

10、中涉及的数据。 变量由变量名和变量值构成,其类型与常量一样。变量名不能与命令和函数名相同 在SQL Server 2008系统中,存在两种类型的变量:一种是系统定义和维护的全局变量;另一种是用户定义用来保存中间结果的局部变量。,1、常量与变量,1) 系统全局变量 通常将系统全局变量的值赋给局部变量以便保存和处理。全局变量以两个符号开头。 例如:error,rowcount等等。 用户可以通过全局变量来检测系统的参数值。 例:SELECT version:记录当前版本信息。,1、常量与变量,2) 局部变量 局部变量是作用域局限在一定范围内的Transact-SQL对象。 局部变量被引用时要在其名

11、称前加上标志,而且必须先用DECLARE命令定义后才可以使用。,1、常量与变量,2) 局部变量 声明局部变量 ,其语法如下: DECLARE 变量名 变量类型 ,变量名 变量类型 给变量赋值,其语法如下: Set 变量名称=表达式 Select 变量名称=表达式,n 其中,变量名称是除cursor、text、ntext、image外的任何类型变量名。例: DECLARE hello char(20) Set hello=hello,China!,1、常量与变量,2) 局部变量 提示: SELECT语句给局部变量赋值,可以一次给多个变量赋值;而SET 一次只能给一个变量赋值。 局部变量的输出可以

12、使用PRINT。 声明一个变量后,该变量将被初始化为NULL。,1、常量与变量,【例】 USE grademanager GODECLARE sex char(2) SET sex=女SELECT sno,sname,sdept FROM student WHERE ssex=sex,1、常量与变量,Go命令 GO不是sql语句,是sqlcmd和osql实用工具及SSMS编译器可识别的命令; 作用:是将当前批的sql语句信号;当前批处理由上一个GO命令后所有语句组成; 批处理:指多条语句放在一起依次执行,批处理语句之间用GO隔开; GO命令不能和SQL语句同一行中,但可包含注释;,5.4 Tr

13、ansact-SQL编程基础,2. 表达式 在Transact-SQL语言中,表达式由变量、常量、运算符、函数等元素组成。表达式可以在查询语句中的任何位置使用。 例如,检索数据的条件,指定数据的值等。,5.4 Transact-SQL编程基础,【例】,5.4 Transact-SQL编程基础,3. Transact-SQL流程控制 结构化程序设计语言的基本结构是顺序结构、条件分支结构和循环结构。 在Transact-SQL语言中,流程控制语句就是用来控制程序执行流程的语句,也称流控制语句或控制流语句。,3. Transact-SQL流程控制,1) BEGINEND语句块 BEGINEND可以定

14、义Transact-SQL语句块,这些语句块作为一组语句执行,允许语句嵌套。关键字BEGIN定义Transact-SQL语句的起始位置,END定义同一块Transact-SQL语句的结尾。 它的语法格式如下。 BEGIN sql_statement|statement_block END,3. Transact-SQL流程控制,2) IFELSE条件语句 用于指定Transact-SQL语句的执行条件。如果条件为真,则执行条件表达式后面的Transact-SQL语句。当条件为假时,可以用ELSE关键字指定要执行的Transact-SQL语句。 它的语法格式如下。 IF Boolean_expr

15、essionsql_statement|statement_block ELSEsql_statement|statement_block ,3. Transact-SQL流程控制,例如,使用IFELSE条件语句查询李勇同学的家庭住址,如果空,则显示“家庭地址不详”,否则显示其家庭地址。 USE grademanager GO IF (SELECT saddress FROM student WHERE sname=李勇) IS NULL BEGINPRINT 家庭地址不详 END ELSESELECT saddress FROM student WHERE sname=李勇,3. Trans

16、act-SQL流程控制,3) CASE分支语句 CASE关键字可根据表达式的真假来确定是否返回某个值,可以允许使用表达式的任何位置使用这一关键字。使用CASE语句可以进行多个分支的选择。 CASE语句具有如下两种格式。 简单格式:将某个表达式与一组简单表达式进行比较以确定结果。 搜索格式:计算一组布尔表达式以确定结果。,3. Transact-SQL流程控制,3) CASE分支语句(1) 简单CASE格式的语法如下。 CASE WHEN THEN WHEN THEN ELSE END 简单CASE格式将某个表达式与一组简单表达式进行比较以确定结果,3. Transact-SQL流程控制,3) CASE分支语句(2) 搜索CASE格式的语法如下。 CASE WHEN THEN WHEN THEN END CASE 搜索格式计算一组布尔表达式以确定结果。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 宣传企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号