视图创建后不能修改,如果需要修改必须删除后再重新创建。()
视图创建后不能修改,如果需要修改必须删除后再重新创建。()
视图创建后不能修改,如果需要修改必须删除后再重新创建。()
实验十一:视图的建立与使用 一、实验目的 理解视图的定义、视图的优点与视图的工作原理。掌握在企业管理器和查询分析器中创建、修改及删除视图。能够熟练掌握利用视图向表中插入、删除和修改数据。 二、实验原理 利用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岁。
A.创建新的立面的方式为“视图-创建-立面”
B.移动立面符号的时候直接鼠标左键拖拽立面符号即可,不影响立面显示
C.更改立面方向直接选中需要修改的立面,在需要的方向打勾即可
D.删除立面的同时,也会删除项目浏览器里边的对应立面视图
三.实验内容 1.创建视图。 (1)创建视图V_BookSell,使其包含图书销量情况。要求显示图书代码(BookCode)、图书名称(BookName)、作者(Author)、出版社名称(Publisher)以及数量(Amount)。 (2)创建视图V_CustomerBookOrderDetail。要求显示订单号(OrderCode)、客户名(Name)、客户等级(VIPClass)、书名(BookName)、单价(Price)、数量(Amount)、折扣(Discount)以及总价(TotalPrice=Price*Amount*Discount)。 (3)创建视图V_CustomerVIPABTotalOrder,汇总客户订单信息。使其包含用户等级为“A”和“B”、且不姓“郭”和“刘”的客户订单信息,要求显示客户姓名(Name)以及所订图书总金额,并按所订图书总金额降序排列。 2.创建存储过程 (1)创建存储过程proc_SearchBook,查询指定书名的图书信息。 (2)创建存储过程proc_FuzzySearchBook,实现按书名(全名或部分书名)模糊查询图书信息。 (3)创建存储过程proc_SearchCustomerMoney,查询指定客户在某一年之前的购书总金额(已知客户号和年份,输出总金额)。 (4)创建存储过程proc_UpdateVIPClass,修改指定客户(CustomerCode)的用户等级(VIPClass)。 (5)创建存储过程proc_InsertOrderDetail,向OrderDetail表添加一条记录。 3.创建触发器 (1)创建触发器tri_OrderDetailInsertUpdate,当在OrderDetail表中增加或修改订单细节时,计算Order表中相关订单的总价格TotalPrice。 (2)创建触发器tri_CustomerEvaluationInsertUpdate,当CustomerEvaluation表发生Insert、Update操作时,以当前时间修改被更新记录的EvaluateDate值。 (3)创建触发器tri_UpdateOrderStatus,当将Order表中记录的订单状态改为“结单”时,自动计算CustomerEvaluation中该用户的客户等级。 (4)创建触发器tri_BookOrderDel,当从Order表删除记录时,检查订单状态如果不是“待处理”状态,报告“结单或已发货,订单不能被删除”,否则先删除OrderDetail表中的相关数据。
A.如果视图引用多个表时,可以用delete命令删除数据
B.通过修改视图可以影响基表中的数据
C.修改基表中的数据不能影响视图
D.可以修改那些通过计算得到的字段,例如年龄
A.视图的数据和对应表的数据单独存储
B.视图只能在存储过程中使用
C.使用WITHCHECKOPTION可以保证通过视图修改数据不会改变表视图的记录数
D.如果表不存在不能创建视图
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!