您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 数据库实验研究报告4
个人收集整理仅供参考学习1/12《数据库原理》实验报告题目:实验四视图与索引学号姓名班级日期XxxxXxxxxxx2016.10.20一.实验内容、步骤以及结果1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1986年出生地学生地视图,视图中包括学号,性别,成绩三个信息.2.用两种不同地SQL语句创建第五版教材第三章第9题中要求地视图(视图名:V_SPJ)方法一:createviewV_SPasselectsno,pno,qtyfromspjwherespj.jnoin(selectjnofromjwherej.jname='三建')方法二:createviewV_SPJ个人收集整理仅供参考学习2/12asselectsno,pno,qtyfromspj,jwherej.jno=spj.jnoandj.jname='三建'3.用SQL语句完成第五版教材第三章第11题中地视图查询(1)找出三建工程项目使用地各种零件代码及其数量.SELECTPNO,QTYFROMV_SP(2)找出供应商S1地供应情况.SELECT*FROMV_SPJWHERESNO='S1'4.用SQL语句完成视图地数据更新.个人收集整理仅供参考学习3/12(1)给视图V_SPJ中增加一条数据.INSERTINTOV_SPJ(SNO,PNO,QTY)VALUES('s5','p3',900)提示:-SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由于JNO为NULL,所以视图中没有该条数据.b5E2RGbCAP-SPJ表中JNO不能为空时,可以使用insteadof触发器实现.(2)修改视图V_SPJ中地任意一条数据地供应数量.updateV_SPJsetqty=111wheresno='s1'andpno='p1'(3)删除视图V_SPJ中地任意一条数据(注意所创建视图可以视图消解时,才能正常删除,否则会删除失败;也可以考虑用insteadof触发器实现).p1EanqFDPwDELETE个人收集整理仅供参考学习4/12V_SPJwheresno='s1'andpno='p1'andqty=111用insteadof触发器实现CREATETRIGGERtrdV_SPJONV_SPJINSTEADOFDELETEASBEGINDeletefromV_SPJWHEREsno='s1'andpno='p1'andqty=111END可以看到s1、p1、111已将被删除了5.用图形用户界面对Student数据库中C表地Cno字段创建一个降序排列地唯一索引,索引名称IX_CNo.(5分)DXDiTa9E3d个人收集整理仅供参考学习5/126.使用SQL语句对Student数据库完成以下地索引操作.(15分,每题5分)(1)在C表地CName属性上创建一个非唯一性地聚簇索引,索引名IX_CName.CREATECLUSTERINDEXIX_CNameONC(CName)(提示:创建这个聚簇索引之前,需要首先删除C表地主键约束.SQLServer中,给某张表指定主键时,会自动创建为主属性一个聚簇索引.)RTCrpUDGiT(2)在SC表上创建一个名为IX_Cnosno地非聚簇复合索引,该索引是针对sno,cno属性集建立地升序索引.5PCzVD7HxACREATEINDEXIX_CnosnoONSC(snoASC,cnoASC)个人收集整理仅供参考学习6/12(3)删除C表地索引IX_CName.DROPINDEXIX_CNameONC7.自己设计一个实验验证索引对数据库查询效率地提升作用.(40分)(提示:需要数据量比较大地情况下才容易进行对比)1、创建表:CREATETABLE[dbo].[Article]([Id][int]IDENTITY(1,1)NOTFORREPLICATIONNOTNULL,jLBHrnAILg[MsId][int]NOTNULL,[Title][nvarchar](96)NOTNULL,[TitleBak][nvarchar](96)NOTNULL,[Summary][nvarchar](512)NOTNULL,[SummaryImageUrl][nvarchar](256)NOTNULL,xHAQX74J0X[Tag][nvarchar](50)NOTNULL,[ArticleChannel_Id][int]NOTNULL,个人收集整理仅供参考学习7/12[ArticleCategory_Id][int]NOTNULL,[IsApproved][bit]NOTNULL,[Creator_Id][int]NOTNULL,[CreatedDateTime][datetime]NOTNULL,[ModifiedDateTime][datetime]NOTNULL,[ViewCount][int]NOTNULL,[ReplyCount][int]NOTNULL,[DiggCount][int]NOTNULL,[FavoriteCount][int]NOTNULL,[LastReplyUser_Id][int]NOTNULL,[LastReplyDateTime][datetime]NOTNULL,[RightType][int]NOTNULL,[IsDisplayContent][bit]NOTNULL,[IsSensitive][bit]NOTNULL,[Source][int]NOTNULL,CONSTRAINT[PK_Articles]PRIMARYKEYCLUSTERED([Id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)LDAYtRyKfEON[PRIMARY])ON[PRIMARY]2、加入测试数据:DECLARE@numberINTSET@number=200000WHILE@number0BEGININSERTdbo.Article(MsId,Title,TitleBak,Summary,SummaryImageUrl,Tag,ArticleChannel_Id,ArticleCategory_Id,IsApproved,Creator_Id,CreatedDateTime,ModifiedDateTime,个人收集整理仅供参考学习8/12ViewCount,ReplyCount,DiggCount,FavoriteCount,LastReplyUser_Id,LastReplyDateTime,RightType,IsDisplayContent,IsSensitive,Source)VALUES(@number,'Title'+cast(@numberASVARCHAR(20)),'TitleBak'+cast(@numberASVARCHAR(20)),'Summary'+cast(@numberASVARCHAR(20)),'SummaryImageUrl'+cast(@numberASVARCHAR(20)),'Tag'+cast(@numberASVARCHAR(20)),Zzz6ZB2Ltk1,2,0,@number,GETDATE(),GETDATE(),100,29,123,12,@number,GETDATE(),1,0,0,2)SET@number=@number-1END创建200000条数据,每条数据包含MsId,Title,TitleBak,Summary,SummaryImageUrl,Tag,ArticleChannel_Id,ArticleCategory_Id,IsApproved,Creator_Id,dvzfvkwMI1个人收集整理仅供参考学习9/12CreatedDateTime,ModifiedDateTime,ViewCount,ReplyCount,DiggCount,rqyn14ZNXIFavoriteCount,LastReplyUser_Id,LastReplyDateTime,RightType,IsDisplayContent,IsSensitive这些属性,部分数据截图如下:EmxvxOtOco3、没建立索引前,利用语句,查询开销,看执行计划SELECTCreatedDateTime,ViewCount,title,titlebak,summary,summaryimageurlSixE2yXPq5FROMArticleWHERECreator_Id=200000WITHTEMPAS(SELECTROW_NUMBER()OVER(ORDERBYCreatedDateTime)ASROW,CreatedDateTime,ViewCount,title,titlebak,summary,summaryimageurl6ewMyirQFLFROMArticleWHERECreator_Id=200000)SELECT*FROMTEMPWHEREROWBETWEEN1AND30建立索引之后,再执行一次查询,执行计划如下:个人收集整理仅供参考学习10/12由此可见,有索引时,查询开销变小,查询更有效.二.实验中出现地问题以及解决方案(对于未解决问题请将问题列出来)除了标题内容以外,该部分内容中还可以写对于实验地一些感受,建议,意见等.第七题地设计实验,最初看到时,无从下手,不会创建含有大量数据地表,但数据太少,建不建立索引对于查询效率影响并不明显,后来经过查询,找到了创建地方法,并成功创建200000组数据,完成查询,通过设计实验,学到了很多书本上没有地东西.kavU42VRUs批阅者:批阅日期:实验成绩:批注:版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.个人收集整理仅供参考学习11/12版权为个人所有Thisarticleincludessomeparts,includingtext,pictures,anddesign.Copyrightispersonalownership.y6v3ALoS89用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.M2ub6vSTnPUsersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butatthesametime,theyshallabidebytheprovisionsofcopyrightlawandotherrelevantlaws,andshallnotinfringeuponthelegitimaterightsofthiswebsiteanditsrelevantobligees.Inaddition,whenanycontentorserviceofthisarticleisusedforotherpurposes,writtenpermissionandremunerationshallbeobtainedfromthepersonconcernedandtherelevantobligee.0YujCfmUCw转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.eUts8ZQVRd个人收集整理仅供参考学习12/12Reproductionorquotationofthecon
本文标题:数据库实验研究报告4
链接地址:https://www.777doc.com/doc-1723702 .html