实验三 视图与数据更新

【实验目的】

1、掌握创建视图的方法;

2、能够对视图进行修改;

3、学会应用视图修改数据;

4、掌握向表中添加数据的方法;

5、掌握更新表中多行数据的方法;

6、学会如何删除表中的数据。

 

【实验内容】

  以附件的形式上传实验报告,报告要求:按顺序在每一小题后添上sql语句+查询结果截图,图片请适当裁剪,不要全屏图片贴进去。

 

1、 视图

① 创建视图

² 在S表中,为上海的供应商建立视图V_CityShanghai,要保证对该视图的修改都要符合供应商为上海这个条件。

² 为北京的供应商提供的零件创建V_CityBeijing_Pname视图,包括零件的编号、名称。

 

② 查询视图

² 查找北京的供应商提供的零件的信息

 

③ 更新视图

² 向V_CityShanghai插入一条记录('S6','三毛',20,'上海')

 注:

1)当视图所依赖的基本表有多个时,不能向该视图插入数据.;

2)向可更新的分区视图中插入数据时,系统会按照插入记录的键值所属的范围,将数据插入到其键值所属的基本表中;

3)当加了“with check option”子句时,要添加的数据一定要满足视图定义时的条件,如本例中的供应商为“上海”,试着运行如下语句:

insert into V_CityShanghai values('S6','三毛',20,NULL) 

² 将上海的供应商的“状态编码(Status)”更改为10

注:

可更新视图满足以下条件:

A)创建视图的SELECT语句中没有聚合函数,且没有TOP、GROUP BY、UNION子句及DISTINCT关键字。

B)创建视图的SELECT语句中不包含从基本表列通过计算所得的列。

C)创建视图的SELECT语句的FROM子句中至少要包含一个基本表。

² 删除上海的供应商记录(注意:不是删除视图)

 

④ 修改视图定义

² 将V_CityShanghai修改成只包含上海供应商的编号和名称

 

⑤ 删除视图

² 删除V_CityShanghai视图

2、 索引

① 1.对SPJ表的QTY列建立聚簇索引Index_Weight。

 

3、 数据更新:INSERT(插入)

① 首先检查表结构(分别运行试试):

sp_help s;

sp_help p;

sp_help j;

sp_help spj;

② 单条语句插入,往s表中插入如下信息:

SNO SNAME STATUS CITY

S9 匠心 20 广州

 

③ 批量插入数据(先建立示例表Stemp,然后将s表中的数据批量插入Stemp表)

 

4、 UPDATE(更新)

① 基本更新:

² 将“P3”零件更新为“红”色

² 在s表中,更新“S1”供应商的状态为15,城市为‘上海’

② 带有子查询的更新:

² 将上海供应商供应的零件更新为“红”色

 

5、 DELETE(删除)

① 基本删除:

² 删除S9供应商信息

② 带有子查询的删除:

² 删除SPJ表中上海供应商的供应情况