目录

  • 第1单元    数据库系统导论
    • ● 任务1.1  数据库基本概念
    • ● 任务1.2  设计E—R 图
    • ● 任务1.3   将E-R图转换成关系模型
    • ● 任务1.4   练习与作业
    • ● 教与学参考资源
  • 第2单元   认识SQL SERVER数据库
    • ● 任务2.1 数据库应用场景
    • ● 任务2.3  SQL  Server 数据库安装
    • ● 任务2.4 SQL Server 的管理
    • ● 任务2.5  使用SSMS连接数据库
    • ● 教与学参考资源
  • 第3单元  创建和管理数据库
    • ● 任务3.1 创建数据库
    • ● 任务3.1(2)  命令创建数据库
    • ● 任务3.2 管理数据库
    • ● 任务3.2(2) 查看、收缩数据库
    • ● 教与学参考资源
  • 第4单元 创建和管理数据库表
    • ● 任务4.1 SQL Server常用数据类型
    • ● 任务4.2  创建数据表
    • ● 任务4.3  命令创建表
    • ● 任务4.4 实施完整性约束
    • ● 教与学参考资源
  • 第 5 单元   查询数据表
    • ● 任务5.1 单表数据查询
    • ● 任务5.2 多表数据查询
    • ● 任务5.3 嵌套查询
    • ● 任务5.4 合并查询结果
    • ● 教与学参考资源
  • 第6单元  管理表中数据
    • ● 任务6.1   添加数据
    • ● 任务6.2  修改数据
    • ● 任务6.3  删除数据
    • ● 习题与训练
    • ● 教与学参考资源
  • 第7单元  使用索引和视图
    • ● 任务7.1  使用索引
    • ● 使用T-SQL创建索引
    • ● 任务7.2  使用视图
    • ● 使用T-SQL语句创建视图
    • ● 教与学参考资源
  • 第8单元 Transact-SQL语言编程
    • ● 任务8.1   声明和使用变量
    • ● 任务8.2   流控语句
    • ● 任务8.3   常用系统函数
    • ● 任务8.4   创建自定义函数
    • ● 教与学参考资源
  • 第9单元  事务和锁
    • ● 任务   9.1     事务
    • ● 事务的基本操作
    • ● 任务9.2    锁
    • ● 死锁及避免方法(例)
    • ● 教与学参考资源
  • 第10单元  创建和管理存储过程
    • ● 任务10.1 存储过程及优点
    • ● 任务10.2 创建和执行存储过程
    • ● 任务10.3   存储过程参数和返回值
    • ● 任务10.4 修改、删除、 重新编译存储过程
    • ● 教与学参考资源
  • 第11单元 创建和管理触发器
    • ● 任务1 触发器的作用和分类
    • ● 任务2 触 发器的创建与执行
    • ● 任务3 创建级联触发器
    • ● 任务4 修改、删除触发器
  • 第12单元 创建和使用游标
    • ● 任务1  游标的作用及使用步骤
    • ● 任务2  创建基本游标
    • ● 任务3  使用变量保存游标数据
    • ● 任务4  使用循环环提取游标数据
  • 第13单元 SQL Server用户管理
    • ● 任务1数据库安全管理概述
    • ● 任务2SQL Server 安全机制
    • ● 任务3 账号、角色及权限管理
    • ● 任务4数据库完整性管理
    • ● 任务5 数据库的备份与还原
    • ● 任务6   数据的导入与导出
  • 第14单元  综合应用案例
    • ● 概述
    • ● 需求分析
    • ● 概述设计-逻辑设计- 物理设计
    • ● 编写数据库设计说明书
  • 学生做项目成果展示
    • ● 项目一  设计《我班同学数据库》
    • ● 项目二  设计《(Teaching)教学数据库》
    • ● 项目三  数据库应用系统设计开发项目
    • ● 项目四 《华夏-宿舍管理系统》设计开发
    • ● 项目五   综合实训大作业
    • ● 综合实训团队项目大作业
    • ● 学生完成项目摘录展示
  • 总复习与综合训练
    • ● 总复习
    • ● 综合训练一
    • ● 综合训练二
    • ● 综合训练三
    • ● 综合训练四
    • ● 综合训练五
    • ● 简答综合训练
  • 在线专题测验
    • ● 自检自测一
    • ● 自检自测二
  • 拓展   数据库管理工具平台  Navicat
    • ● 关于Navica
    • ● Navicat 的系统需求
    • ● Navicat 的用户界面
    • ● Navicat 创建数据库对象
    • ● 在Navicat创建的SQL 程序脚本
    • ● 在Navicat创建的SQL  server 脚本(2)
    • ● 综合实训(1)
    • ● 综合实训(2)
  • 技术拓展   (MYSQL)数据库技术与应用
    • ● MYSQL技术
  • 教与学图片剪影
    • ● 教学团队
    • ● 学生学习实训
    • ● 活动与交流
任务7.2  使用视图

(一)视图的基本概念

*视图(View)是一个虚表

*视图(VIEW)是以基表(TABLE)为基础,通过SELECT查询语句定义所形成的一个虚表。

*视图的数据(行和列)来自定义视图的查询所引用的基表(基本表)或其他视图,并且在引用视图时动态生成。

*视图(View)的特点

*视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。

*视图的建立和删除不影响表。

*对视图内容的修改(插入、删除和更新)直接影响基本表。

*视图来自多个基本表时,不允许插入和删除数据行。


(二)视图的作用

*简化用户的操作

*简化用户对数据的理解,简化用户的操作。

*被经常使用的查询可以被定义为视图,使得用户不必为以后的操作每次都指定全部的条件。

*提高安全性

*应用视图,用户只能查询和修改他们所能见到的数据,并能限制到某些数据行,而其他数据既看不见也取不到。

*虽然数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库表的特定行上。

*提高逻辑数据独立性

*视图可以使应用程序和数据库表在一定程度上独立。

*如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而使程序与数据库表被视图分隔开来。

      

      视图也可以作为一种安全机制,以便使用户只能通过视图来访问数据,而不给其访问基表的权限。具体来讲,使用视图具有以下一些优点:

(1)聚焦特定的数据。视图使用户只能看到和操纵与他们有关的数据,不需要了解和使用的数据不加入视图,这样可以提高数据的安全性。

(2)简化数据操作。通过将复杂查询(如多表的连接查询)定义为视图,可以简化操作,不必在每次需要数据时都要提供所需的条件、限制等。

(3)定制用户数据。视图可以让使用同一数据库的不同用户看到不同的数据。

(4)导入/导出数据。可以使用视图将数据导出到其他应用程序,也可以将数据文件中的数据导入到视图中。

(5)合并分离的数据。使用UNION关键字可以将两个或更多基于不同表的查询结果合并为一个单独的结果集,可以将这样的结果集创建为一个视图,让用户看起来就像一个单独的表一样。

(6)屏蔽数据库的复杂性(隔离变化)。用户不必了解复杂的数据库中的表结构,并且数据库表的更改也不影响用户对数据库的使用。

(7)简化用户权限的管理。只需授予用户使用视图的权限,而不必指定用户只能使用表的特定列,也增加了安全性。

(8)便于数据共享。各用户不必都定义和存储自己所需的数据,可共享数据库的数据,这样同样的数据只需存储一次。


视图类型

      SQL Server 中,可以把视图分为三种类型,即标准视图、索引视图和分区视图。

1.标准视图

     通常情况下的视图都是标准视图,它是一种逻辑对象,是从一个或几个基本表中导出的表,是一种虚拟表,不占用物理存储空间。

2.索引视图

    索引视图和索引计算列将结果存储在数据库中供日后引用。只有当所有引用索引视图或索引计算列的连接可生成与创建索引的连接相同的结果集时,存储的这些结果才有效。如果要确保存储结果能得到正确地维护并返回一致的结果,则必须满足下列情况。

     在执行create view命令时,必须将ansi_nullsquoted_identifier选项设置为on状态。

在使用create table命令创建索引所引用的基础表时,ansi_nulls选项应设置为on

该视图所引用的对象仅包括基础表而不包括其他的视图。

视图所引用的基础表必须与视图同属于同一数据库且有相同的所有者。

在创建视图时必须使用schemabinding选项。

如果视图引用了用户自定义函数,那么在创建这些用户自定义函数时也必须使用    schemabinding选项。

视图必须以owner.objectname的形式来使所引用的表或用户自定义函数。

视图所引用的函数必须是确定性的。

    3.分区视图

分区视图在一台或多台服务器间水平连接一组成员表中的分区数据,使数据看起来就像来自一个表。SQL Server 2008可以区分本地分区视图和分布式分区视图。在本地分区视图中,所有参与表和视图都位于同一个SQL Server实例上。在分布式分区视图中,至少有一个参与表位于不同的(远程)服务器上。另外,SQL Server 2008还可以区分可更新分区视图和作为基础表只读副本的视图。


任务    创建视图

用户在数据库中创建了一个或多个表后,为了方便查询其中的数据,就可以为其创建相应的视图,用以代替表来完成从表中查询、插入、更新和删除数据的操作。创建视图可以使用SSMS和使用T-SQL语句。

创建视图的原则

在开始创建视图前,非常有必要先了解一些创建视图的指导性原则

(1)只有在当前数据库中才能创建视图。

(2)视图的命名必须遵循标识符命名规则,不能与表同名,且对每个用户视图名必须是唯一的,即多不同用户,即使定义相同的视图,也必须使用不同的名字。

(3)不能把规则、默认值定义绑定在视图之上,不能将触发器与视图相关联。

(4)不能在视图上建立任何索引,包括全文索引。

(5) 一个视图最多可以引用1024个列。

(6)可以将视图建立在其他视图或者引用视图的过程之上。

(7)定义视图的查询语句中不能包括ORDER BYCOMPUTECOMPUTE BY子句或是INTO等关键词。

(8)不能创建临时视图,也不能在临时视图上创建视图。

(9)不能对视图进行全文查询,尽管基表上可能有全文索引而使用全文查询。

(10)默认状态下,视图中的列继承它们在基表中的名称。存在以下情况时,在创建视图时需要明确给出每一列的名称。

使用SSMS创建视图

在了解了视图的概念和分类后,现在开始创建视图,首先介绍如何使用图形工具来创建视图。














*