资源描述:
《实验4SQLServer视图和索引》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程数据库原理及应用_实验名称SQLServer视图和索引一.实验目的1.熟练掌握使用企业管理器和T-SQL语句创建、查询、更新、修改和删除视图。2.进一步掌握视图与基本表的联系与区别。3.理解索引的概念和作用。4.熟练掌握索引的创建与删除。二.实验内容及要求对CPXS数据库,完成如下任务:1.创建视图(1)启动SSMS,在产品销售数据库CPXS中创建价格小于2000的产品视图VIEW_CP_PRICE2000,要求加密并保证对该视图的更新都要符合价格小于2000这个条件,写出创建过程和对应的T-SQL语句:(2)打开查询分析器,用T-SQL语句创建各客户购买产品的情况VIEW_GMQK视图
2、,包括客户编号、客户名称、产品编号、产品名称、价格,购买日期、购买数量。2.查询视图(1)基于VIEW_CP_PRICE2000视图,查询价格在2000以下产品的产品编号、名称和价格。(2)基于VIEW_GMQK视图,查询各客户在2004年3月18日购买产品的情况。3.更新视图利用T-SQL语句对于视图VIEW_CP_PRICE2000进行以下数据更新。(1)插入一条CP记录('100042','数码相机',1500,2)。(2)将产品编号为’100042’的价格改为1800。(3)删除产品编号为’100042’的产品。4.修改视图将VIEW_CP_PRICE2000视图不加密。5.删除视图
3、将VIEW-GMQK视图删除。6.索引的创建(1)对CP表,在产品名称上定义一个唯一非聚簇的索引ind_cp,降序,填充因子为80%。(2)先创建各客户购买产品的情况VIEW1视图,包括客户编号、客户名称、产品编号、产品名称、价格,购买日期、购买数量,然后在客户编号+产品编号+购买日期定义一个唯一聚簇索引ind_view1。(请注意7个SET选项设置)。7.索引的删除删除ind_view1索引。三.实验过程及结果(实验结果可以是运行画面的抓屏,抓屏图片要尽可能的小。)1.(1)USECPXSGOCREATEVIEWVIEW_CP_PRICE2000WITHencryptionASSELECT
4、FROMdbo.产品WHERE价格<2000(2)USECPXSGOCREATEVIEWVIEW_GMQKASSELECTB.客户编号,B.客户名称,A.产品编号,A.产品名称,A.价格,C.销售日期购买日期,C.数量购买数量FROMdbo.产品A,dbo.客户B,dbo.销售CWHEREA.产品编号=C.产品编号ANDB.客户编号=C.客户编号GROUPBYB.客户编号,B.客户名称,A.产品编号,A.产品名称,A.价格,C.销售日期,C.数量2.(1)USECPXSGOSELECT产品编号,产品名称,价格FROMdbo.VIEW_CP_PRICE2000WHERE价格<2000(2)US
5、ECPXSGOSELECTFROMdbo.VIEW_GMQKWHERE购买日期='2011-10-02'3.(1)USECPXSINSERTINTOdbo.VIEW_CP_PRICE2000(产品编号,产品名称,价格,库存量)VALUES('100042','数码相机',1500,2)(2)USECPXSUPDATEdbo.VIEW_CP_PRICE2000SET价格=1800WHERE产品编号='100042'(3)USECPXSDELETEdbo.VIEW_CP_PRICE2000WHERE产品编号='100042'4.USECPXSGOALTERVIEWVIEW_CP_PRICE200
6、1ASSELECTFROMdbo.产品WHERE价格<20005.USECPXSGODROPVIEWdbo.VIEW_GMQK6.(1)USECPXSGOCREATEUNIQUENONCLUSTEREDINDEXind_cp1ON产品(产品名称DESC)WITHFILLFACTOR=80(2)USECPXSGOCREATEVIEWVIEW1WITHSCHEMABINDINGASSELECTB.客户编号,B.客户名称,A.产品编号,A.产品名称,A.价格,C.销售日期购买日期,C.数量购买数量FROMdbo.产品A,dbo.客户B,dbo.销售CWHEREA.产品编号=C.产品编号ANDB.客
7、户编号=C.客户编号USECPXSGOCREATEUNIQUECLUSTEREDINDEXind_view1ONVIEW1(客户编号,产品编号,购买日期)7.USECPXSGODROPINDEXVIEW1.ind_view1GO一.实验中的问题及心得刚开始第一题就把我难住了,最后通过看书和上网才弄明白,原来是这么加密的,直接用encryption就可以解决了,解密用修改语句解决。其他的就不是那么难了,很好解决