1、数据库基础Relation Database,视图,主讲: 陈甫电话: 13290082051,学习目标,了解视图的基本概念掌握视图的创建灵活运用视图并能熟练使用视图,视图的概念,视图不是真实存在的基础表,而是一张虚表 通过视图看到的数据只是存放在基本表中的数据 视图是基于用户观点,视图的创建,在SQL Server Enterprise Manager中创建视图 第1步 打开SQL Server Enterprise Manager,在数据库XSCJ上单击鼠标右键,在弹出的快捷菜单上选择“新建”“视图.”第2步 在所出现的窗口的第一个子窗口中单击鼠标右键,将弹出一个“增加表”快捷菜单 第3步
2、 在“增加表”快捷菜单中选择“添加表”功能项,将出现所示的“添加表”对话框。 第4步 在“添加表”对话框中选择与视图相关联的表、视图或函数,可以使用Ctrl或Shift键进行多选,选择完毕后,单击“添加”按钮 第5步 在图4.15所示的窗口的第2个子窗口中选择创建视图所需的字段,可以指定列的别名、排序方式和规则(本例指定“专业名”字段的规则为“计算机”)等 第6步 上一步完成后,单击保存按钮,出现保存视图对话框,在其中输入视图名,并单击“确定“按钮,便完成了视图的创建,视图的创建,使用T-SQL基本语句:CREATE VIEW 视图名 AS查询语句【WITH CHECK OPTION】,视图关
3、键字,注意:查询语句通常不允许含有ORDER BY子句DISTINCT短语,加上该语句是指在以后对该视图的数据修改的时候必须遵循查询语句里面的构建条件,创建视图,示例:【例】创建一个关于商品信息的视图,next,Use jxcGoCreate view sp_info AsSelect * from 商品信息,视图关键字,视图名字,视图内容,创建视图,【例】创建其单位为桶的商品信息的视图sp_info_tong_vw ,要保证对该视图的修改都要符合单位为桶这个条件,next,Use jxcgoCREATE VIEW sp_info_tong_vwASSELECT *FROM 商品信息WHERE
4、 单位桶WITH CHECK OPTION,视图的修改,语法格式:ALTER VIEW 视图名 AS查询语句 WITH CHECK OPTION ,修改视图,【例】 修改关于商品单位的视图sp_info_tong_vw ,使之仅包含商品编号、商品名称和商品进价,示例,Use jxcgoalter VIEW sp_info_tong_vwASSELECT 商品编码,商品名称,进价FROM 商品信息WHERE 单位桶WITH CHECK OPTION,视图重命名,语法格式sp_rename ,,Sp_是指系统的存储过程。Sp_rename用于重命名对象,【例】重命名视图sp_info_tong_v
5、w的名字为vw_tong_sp_info。,Use jxcgoExec sp_rename sp_info_tong_vw , vw_tong_sp_info,旧的视图名字,新的视图名字,视图重命名,视图的删除,语法格式DROP VIEW ,【例】删除视图vw_tong_sp_info,视图重命名,DROP VIEW vw_tong_sp_info,视图的使用,视图与表具有相似的结构当定义视图以后,用户就可以像对基本表进行查询一样对视图进行查询了,使用视图,【例】 从视图sp_info中进价在10元以上的商品编码与商品名称,返回,SELECT商品编码,商品名称FROM sp_info WHER
6、E 进价=10,使用视图,【例】统计sp_info视图中每种商品规格的数量,返回,SELECT规格,商品数量=COUNT(*)FROM sp_infoGROUP BY 规格,使用视图,修改视图数据实质对视图所引用的表(也称基表)执行数据的插入和更新 相关限制在一个语句中,一次不能修改一个以上的视图基表 对视图中所有列的修改必须遵守视图基表中所定义的各种数据约束条件,使用视图、示例,使用视图,【例】通过视图sp_info向商品信息表中中插入一条记录,返回,INSERT INTO sp_info VALUES(20031001002,王勇兵,男),使用视图,【例5-21】通过视图sp_info修改表商品中学号为20031001001的记录,修改其姓名为李婷婷,UPDATE rj031_info_viewSET 姓名=李婷婷WHERE 学号=20031001001,返回,