数据库——实验6 视图的创建与使用

1. 视图的定义

视图是根据需要以一个表或多个表为基础,选择满足一定条件的行或列数据的静态定义。它是一种逻辑对象,是一种虚拟表。视图并不生成行或列的永久副本,并不占用存储空 间,也就是说,视图就是保存在数据库中的 SELECT  查询,视图定义后,可以像表一样访问它。

视图为应用程序提供了一种重新组织数据的方法,可以用视图方式来获得一些复杂报表的数据。

2. 视图的优点

使用视图有很多优点,主要表现在:

(1)为用户集中数据,简化用户的数据查询和处理,使得分散在多个表中的数据,通过视图定义在一起。

(2)简化操作,屏蔽了数据库的复杂性。

(3)重新定制数据,使得数据便于共享。

(4)合并分割数据,有利于数据输出到应用程序中。

(5)简化了用户权限的管理,增加了安全性。

3. 视图的使用范围

视图通常用来集中、简化和自定义每个用户对数据库的不同认识。通常在以下情况下将使用视图;

(1)着重于特定数据。

(2)简化数据操作。

(3)自定义数据。

(4)数据的导入与导出。

(5)跨服务器组合分区数据库。

4. 创建视图应考虑的因素

(1)在 CREATE   VIEW 语句中,不能包括 ORDER BY 、COMPUTE 或 COMPUTE BY 子句,也不能出现INTO关键字。

(2)创建视图的列最多为1024列。

(3)创建视图不能参考临时表。

(4)在一个批处理语句中,CREATE  VIEW 语句不能和其他SQL 语句混合使用。

(5)尽量避免使用外连接创建视图。

5. 创建视图的步骤

(1)编写用于创建视图的 SELECT 语句。

(2)对 SELECT  语句进行测试。

(3)检查测试结果是否正确,是否和预期的一样。

(4)创建视图。

6. 使用 SQL 语句创建和管理视图

创建视图是数据库应用中的常见需求,可以使用SQL Server 管理平台创建和管理视图,也可以使用SQL 语言创建和管理视图。

(1)使用 SQL 语句创建视图是根据对基本表的查询定义的,其命令格式如下:

CREATE VIEW < 视 图 名 > AS <SELECT-查询块>

① 从单个表派生出的视图

例:创建视图 view_ 1, 从“学生管理”数据库的“学生”表中,查询出所在院系为计算机系的,学生的学号和姓名资料,其中“学生”表结构如图所示。

8dc372642d74442f8ae4c2cdb9ce50a4.png

CREATE VIEW view_1 AS

SELECT 学号,姓名

FROM  学生

WHERE 所在院系='计算机系'

基于视图 view_ 1 进行查询: 

SELECT * FROM  view_1

② 从多个表派生出的视图

例:创建视图 view_2, 从“学生管理”数据库的“学生”表和“成绩”表中查询出学生的学号、姓名、分数资料,其中“学生”表和“成绩”表结构如图所示。

8dc372642d74442f8ae4c2cdb9ce50a4.png

CREATE VIEW view_2 AS

SELECT 学号,姓名,分数

FROM 学生,成绩

WHERE 学生.学号=成绩.学号

对用户就好像有一个如图1-27 所示的 view_2表。

d58f51ef7c554958a27920f53d0a1c72.png

 ( 2 ) 对视图修改操作,使 用 ALTER  VIEW语句。

例 :修改view_ 1视图,从“学生管理”数据库的“学生”表中,查询出所在院系为计算机系的,女学生的学号和姓名资料,其中“学生”表结构如图1-20 所示。

ALTER VIEW view_ 1 AS

SELECT 学号,姓名

FROM 学生

WHERE 所在院系='计算机系’

AND 性别='女’

(3)对视图更新时,DBMS 将转换为对基本表的更新,同样使用基本表的更新语句 UPDATE 语句。

例:将学生视图 view_2中学号为“102001”的学生姓名改为“赵南”。

UPDATE view_2

SET 姓名='赵南'

WHERE 学号='102001’

(4)对视图的删除操作,使用DROP VIEW语句,命令格式为:

DROP VIEW < 视 图 名 >

 

 

  • 19
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库中的视图和索引是非常重要的概念,它们可以提高数据库的查询效率和数据的管理性。以下是我对视图和索引创建实验的总结: 1. 视图创建实验 视图是一种虚拟的表,它由 SQL 查询语句定义,不存储实际的数据。视图可以简化复杂的查询,隐藏数据的细节,并提高查询的效率。 在创建视图时,需要注意以下几点: - 视图的查询语句必须是合法的 SELECT 语句。 - 视图的名称必须是唯一的。 - 视图的查询语句不能包含 ORDER BY 子句,因为视图本身并不存储数据,无法排序。 - 视图的查询语句不能包含聚合函数,因为视图本身也不存储数据。 创建视图的语法如下: ``` CREATE VIEW view_name AS select_statement; ``` 2. 索引创建实验 索引是一种数据结构,用于提高数据库的查询效率。它可以加速数据的查找和排序,减少数据库的 I/O 操作。索引可以在表的某个列上创建,也可以在多个列上创建。 在创建索引时,需要注意以下几点: - 索引会占用一定的存储空间,因此不要为所有列都创建索引。 - 索引的数量也不宜过多,否则会影响数据库的性能。 - 索引的选择应该根据实际的查询需求,选择经常被查询的列。 创建索引的语法如下: ``` CREATE INDEX index_name ON table_name (column_name); ``` 综上所述,视图和索引是数据库中非常重要的概念,它们可以提高数据库的查询效率和数据的管理性。在创建视图和索引时,需要遵循一定的规则和注意事项,才能确保数据库的性能和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值