数据库实验分析报告 ()_第1页
数据库实验分析报告 ()_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE6/NUMPAGES6数据库实验分析报告()数据库实验报告(4)

————————————————————————————————:————————————————————————————————日期:

2

一实验题目

1.索引的建立和删除操作

2.视图的创建、修改、更新和查询操作

二实验目的

1.掌握数据库索引建立与删除操作,掌握数据库索引的分类,并了解建立数据库索引的意义、作用。

2.掌握视图的创建和查询操作,理解视图的使用,理解实图在数据库安全性中的作用。

三实验内容

1.索引的建立和删除操作

(1)在S表中,建立按照sno升序的惟一性索引snoIDX。

(2)在SC表中,建立按照学号升序和课程号降序的唯一性索引scIDX。

(3)在S表中,按照生日建立一个非聚簇索引birthdayIDX。

(4)在C表中,建立一个按照课程名升序的聚簇索引cnameIDX。

(5)删除索引cnameIDX。

2.视图的创建、修改、更新和查询操作

(1)建立一个关于所有女生信息的视图S_GIRL。

(2)将各系学生人数,平均年龄定义为视图V_NUM_AVG

(3)建立一个视图反映学生所选课程的总学分情况TOTAL_CREDIT。

(4)建立一个所有学生课程成绩的视图S_GRADE,包括基本学生信息,课程信息和成绩。

(5)在视图S_GRADE基础之上,建立一个两门课以上成绩不及格的学生情况视图FAIL_GRADE。

(6)建立一个至少选修了4门课及4门课以上的学生信息的视图SC_FOUR。

(7)修改视图S_GIRL,要求只显示1997年以前出生的女生信息。

(8)在视图FAIL_GRADE查询不及格超过2门课的学生信息。

(9)删除视图S_GRADE。

(10)通过视图S_GIRL,将“王丹”的名字修改为“汪丹”,并查询结果。

(11)通过视图S_GIRL,新增一个学生信息(“刘兰兰”,“女”,“计算机学院”,1996-8-8),并查询

结果。

(12)通过视图S_GIRL,删除1995年出生的女生信息,并查询结果。

(13)通过视图S_GRADE,将“汪丹”的名字修改为“王丹”,是否可以实现,请说明原因。

(14)通过视图COMPUTE_AVG_GRADE,将“4121090301”学生的平均分改为90分,是否可以实

现,请说明原因。

四实验要求

1.要求掌握索引的类型,以及创建索引时的注意事项,例如每个表只能创建一个聚集索引,可以创建非聚集索引最多为249个,等等。

2.理解创建视图的目的和意义。掌握创建视图时需要考虑的原则:只能在当前数据库中创建视图、视图名不得与该用户的表名相同、可在视图上建立视图、定义视图不能包括ORDERBY等关键字、

不能建立临时视图,等等。

3.报告中由同学写明具体的操作意图(文字描述)、操作命令(SQL语句)、和执行结果(文字

描述+适当截图)。

4.对于重要的运行界面和结果窗口,可以用Alt+PrintScreen来截取当前窗口,并粘贴到实验报告中。

五实验步骤:

1.索引的建立和删除操作

2.在S表中,建立按照sno升序的惟一性索引snoIDX。createuniqueindexsnoIDXonS(Snoasc);运行结果:

结果显示如图1:

图表1建立索引snoIDX

3.在SC表中,建立按照学号升序和课程号降序的唯一性索引scIDX。代码:createindexscIDXonSC(Snoasc,Cnodesc);运行结果:

结果显示如图2:

图表2在SC表建立索引scIDX。

4.在S表中,按照生日建立一个非聚簇索引birthdayIDX。

代码:createNONCLUSTEREDindexbirthdayIDXonS(Sbirthdayasc);运行结果:

显示结果如图3所示

命令已成功

命令已成功

命令已成功

图表3建立索引birthdayIDX

5.在C表中,建立一个按照课程名升序的聚簇索引cnameIDX。代码:createCLUSTEREDindexcnameIDXonC(Cnoasc);

运行结果:

显示结果如图4:

图表4按照课程名升序的聚簇索引cnameIDX。

6.删除索引cnameIDX。

代码:dropindexhttp://./doc/8416cfd853e79b89680203d8ce2f0066f53364f0.htmlameIDX

运行结果:

显示结果如图5,无索引,被删除:

图表5

7.视图的创建、修改、更新和查询操作

命令已成功

命令已成功

8.建立一个关于所有女生信息的视图S_GIRL。

createviewS_GIRL

as

select*fromSwhereS.Ssex='女';

运行结果:

服务器:消息170,级别15,状态1,

删除“;”

代码:

createviewS_GIRL

as

select*fromSwhereSsex='女'

运行结果:

命令已成功

查询显示结果:select*fromS_GIRL

符合条件的结果如下图6所示:

图表6

9.将各系学生人数,平均年龄定义为视图V_NUM_AVG

代码:createviewV_NUM_AVGasselectcount(Sno),avg(Sage),Sdept

fromS

groupbySdept

运行结果:

服务器:消息4511,级别16,状态1,过程

正确代码:

createviewV_NUM_AVGasselectcount(Sno)DeptNum,avg(Sage)Dept,Sdept

fromS

groupbySdept

运行结果:

命令已成功

显示结果

select*fromV_NUM_AVG

如图7所示DeptNum为各系学生人数,Dep为平均年龄

图表7

10.建立一个视图反映学生所选课程的总学分情况TOTAL_CREDIT。

代码:createviewTOTAL_CREDITasselectSno,sum(Ccredit)astotal_credit

fromSCjoinConhttp://./doc/8416cfd853e79b89680203d8ce2f0066f53364f0.htmlo=http://./doc/8416cfd853e79b89680203d8ce2f0066f53364f0.htmlo

groupbySno

运行结果:

命令已成功

显示结果如图8所示TOTAL_CREDIT为学生所选课程的总学分情况:

图表8

11.建立一个所有学生课程成绩的视图S_GRADE,包括基本学生信息,课程信息和成绩。

createviewS_GRADEasselectS.Sno,S.Sname,http://./doc/8416cfd853e79b89680203d8ce2f0066f53364f0.htmlame,http://./doc/8416cfd853e79b89680203d8ce2f0066f53364f0.htmlredit,SC.Grade

fromSC,C,S

whereS.Sno=SC.Snoandhttp://./doc/8416cfd853e79b89680203d8ce2f0066f53364f0.htmlo=http://./doc/8416cfd853e79b89680203d8ce2f0066f53364f0.htmlo

运行结果:

命令已成功

显示结果:

select*fromS_GRADE

结果如图9所示:基本信息,课程信息和成绩

图表9

12.在视图S_GRADE基础之上,建立一个两门课以上成绩不及格的学生情况视图FAIL_GRADE。代码:createviewFAIL_GRADE

as

selectSno,count(*)SnoNumfromS_GRADEwhereGrade=2

运行结果:

查询视图符合条件的结果:select*fromFAIL_GRADE

如下图所示,没有符合选修两门且不及格的学生信息

图表10

13.建立一个至少选修了2门课及2门课以上的学生信息的视图SC_FOUR。

代码:createviewSC_FOUR

as

selectSno,count(*)CnoNumfromSC

groupbySnohavingcount(*)>=2

运行结果:

查询视图符合条件的结果:select*fromSC_FOUR

显示结果如下图11:学号为0001得学生选修3门,0002学生和0003学生选修了3门;

图表11

查询四门以上,数据库中没有符合条件的学生

14.修改视图S_GIRL,要求只显示1997年以前出生的女生信息。

代码:alterviewS_GIRL

select*fromSwhereSsex='女'andSbirthday2

运行结果:

命令已成功

显示结果:在视图FAIL_GRADE不存在不及格超过2门课;

图表13

16.删除视图S_GRADE。

修改前数据库中存在的视图14如下图所示:

图表14

代码:dropviewS_GRADE

删除视图后,数据库中存在的视图如下图15所示:不存在S_GRADE视图

图表15

17.通过视图S_GIRL,将“王思”的名字修改为“汪思”,并查询结果。修改前:视图S_GIRL基本情况如下图所示:

图表16

代码:

alterviewS_GIRL

as

setSname='汪思'whereSname='王思'

/r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论