实验十一:视图的建立与使用 一、实验目的 理解视图的定...
实验十一:视图的建立与使用 一、实验目的 理解视图的定义、视图的优点与视图的工作原理。掌握在企业管理器和查询分析器中创建、修改及删除视图。能够熟练掌握利用视图向表中插入、删除和修改数据。 二、实验原理 利用CREATE VIEW、ALTER VIEW 、DROP VIEW语句创建、修改及删除视图。由于视图是虚表,通过视图向表中添加数据时必须满足一定的条件。如果视图引用了多个数据表,那么在通过视图向数据表中添加数据时,这个语句只能指定同一个表中的字段。如果通过一个引用了多个数据表的视图向这些数据表中添加数据时,必须书写多个INSERT语句。通过使用多个表的视图对数据表进行更新也需要书写多个UPDATE语句,另外适用于INSERT操作的许多限制同UPDATE操作。使用DELETE语句可以通过视图将数据表中的数据删除。但如果视图应用了两个或两个以上的数据表,则不允许删除视图中的数据。另外,通过视图删除的记录,不能违背视图定义的WHERE子句中的条件限制。 三、实验环境 安装有SQL SERVER 2012的计算机。 四、实验示例 1、创建视图emp_view,该视图中包含女员工的编号、姓名和薪水。 create view emp_view as select emp_no,emp_name,salary from employee where sex='女' 2、创建视图sale_item_view,该视图中包含订单编号、订货日期、图书编号及数量。然后利用该视图向表中插入数据。 create view sale_item_view as select sales.order_no,sales.order_date,book_no,qty from sales,sale_item where sales.order_no=sale_item.order_no 五、实验内容 以下操作中,有些在实现过程中可能会报错,请分析错误原因。 l 针对bookshop数据库: 1、创建一个视图cust_view,该视图只含收件人姓张的客户信息。 2、利用cust_view视图分别添加一条姓张的和不姓张的顾客数据。(注意:分别查看customer表和该视图的结果。) 3、创建一个视图cust_view1,该视图只含收件人姓张的客户信息,带with check option 4、利用cust_view1视图分别添加一条姓张的和不姓张的顾客数据。(注意:分别查看customer表和该视图的结果。) 5、通过视图cust_view删除所有张的名字为2个汉字的客户数据。如果出错,写出出错原因。 6、通过视图cust_view修改表内某一客户的姓名。 7、有两个基本表employee和sales,创建一个视图,该视图包含业务员的编号、姓名、订单号、销售总金额。 8、将上述视图中E0017业务员的销售总金额改为6000元。能成功吗?如果失败说明原因。 9、删除上述所有已经创建的视图。 l 针对S_T数据库: 1、创建计算机系所有学生的信息视图。 2、创建计算机系年龄在20岁以上的学生的信息视图。 3、创建所有课程的平均分视图包括(课程号,平均成绩) 4、创建所有课程的平均分视图包括(课程号,课程名、平均成绩) 5、在实验4的基础上查询平均分在80分以上的课程信息。 6、在实验4的基础上找出平均分最高的课程信息。 7、在实验1的基础上添加一个计算机系学生的信息。 8、在实验1的基础上将计算机系所有学生的年龄增加1岁。