视图、索引及数据更新—实验报告

一、实验目的

   熟练掌握索引的建立与删除的方法,熟练掌握SQL的应用,熟

   练掌握数据插入、修改和删除以及视图的创建及使用,为后继学习作准备。

二、实验属性

   1、了解并掌握SQL企业控制管理器的使用;

   2、掌握数据插入、修改、更新和删除。

   3、掌握索引、视图的创建。

   4、掌握索引、视图的删除。

三、实验仪器设备及器材

 1、安装了SQL SERVER 2008的计算机。

四、实验要求

 1、复习教材第三章,熟悉SQL语句。

 2SQL Server 2008环境。

 3、掌握索引的建立和删除方法;

 4、掌握sql语句下视图建立、修改和删除;

 5、掌握sql语句进行视图查询;

 6、掌握sql语句数据插入、修改和删除的一般格式及使用方法。

五、实验原理

 SQL语言综合应用。

六、实验步骤

 1、启动SQL查询分析器;

 2、选择学生管理数据库;

    1 建立索引

      1.1 为学生选课数据库中的StudentCourseSc三个表建立索引。其中Student表按“系别”升序建唯一索引 C1Course

          按“课程名”降序建唯一索引C2Sc表按“学号”升序和“课程号”升序建唯一索引C3

      1.2 在基本表StudentSname(姓名)Sno(学号)列上建立一个聚簇索引c4,而且Student中的物理记录将按照Sname值和Sno

         的升序存放。

    2 删除索引

   2.1删除以上所建索引C1C2C3

    3 建立视图

      3.1 建立数学系学生的视图math_stu,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为

          SnoSnameSageSdept

      3.2 建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图grade_stu

      3.3 定义一个反映学生出生年份的视图Student_birth

      3.4 定义一个视图AVGG,视图列中有课程号、这门课程的平均成绩,且平均成绩大于80分。

    4 删除视图

   4.1  删除3.3中建的视图。

    5 查询视图

      5.1 在数学系的学生视图math_stu中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)

      5.2  grade_stu视图中查询成绩在85分以上的学生学号(Sno)姓名(Sname)和课程名称(Cname)

    6 更新视图

      6.1  将数学系学生视图math_stu中学号为200215123的学生姓名改为“黄海”。

      6.2  向数学系学生视图math_stu中插入一个新的学生记录,其中学号为“S09”,姓名为“王海”,年龄为20岁。

    7 插入数据

       7.1给学生表插入一条数据(’95003,’黎明’,’男’23,’计算机系’)

      7.2 给选课表插入一个数据(‘95003,c01,85

    修改数据

      8.1 将学号为“95003”的学生年龄改为22岁,即要修改满足条件的一个元组的属性值。

      8.2 将所有学生的年龄增加1岁。即要修改多个元组的值。

      8.3将数学系所有学生的成绩置零。

    删除数据

      9.1 删除学号为“95003”的学生选修的课号为“C02”的记录。

      9.2 删除所有学生的选课记录。

      9.3  删除数学系所有学生的选课记录。

七、操作步骤

   1 建立索引

     1.1 为学生选课数据库中的StudentCourseSc三个表建立索引。其中Student表按“系别”升序建唯一索引 C1Course

         按“课程名”降序建唯一索引C2Sc表按“学号”升序和“课程号”升序建唯一索引C3

      I、在创建查询框中分别输入以下建立索引SQL语句,如下图所示:

                视图、索引及数据更新—实验报告_第1张图片


               视图、索引及数据更新—实验报告_第2张图片

               视图、索引及数据更新—实验报告_第3张图片                  

     II 、执行SQL语句,其结果如下图所示:

               视图、索引及数据更新—实验报告_第4张图片    

   1.2 在基本表StudentSname(姓名)Sno(学号)列上建立一个聚簇索引c4,而且Student中的物理记录将按照Sname值和Sno 

       值 的升序存放。

       I 、在创建查询框中输入SQL语句,如下图所示

             视图、索引及数据更新—实验报告_第5张图片      

    II 、执行SQL语句,其结果如下图所示:

               视图、索引及数据更新—实验报告_第6张图片   

  2 删除索引

   2.1删除以上所建索引C1C2C3

       I 、在创建查询框中分别输入以下删除索引的SQL语句,如下图所示:

           视图、索引及数据更新—实验报告_第7张图片

           视图、索引及数据更新—实验报告_第8张图片
           视图、索引及数据更新—实验报告_第9张图片           

    II 、执行SQL语句,其结果如下图所示:

           视图、索引及数据更新—实验报告_第10张图片

  3 建立视图

    3.1 建立数学系学生的视图math_stu,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno

        SnameSageSdept

      I 、在创建查询框中输入SQL语句,如下图所示:

             视图、索引及数据更新—实验报告_第11张图片

      II 、执行SQL语句,在数据库列表中刷新,打开视图,右击“math_stu ->编辑前200行,即可查到符合条件的视图表,如下

        图所示:

        视图、索引及数据更新—实验报告_第12张图片

    3.2  建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图grade_stu

      I 、在创建查询框中输入SQL语句,如下图所示:

             视图、索引及数据更新—实验报告_第13张图片

       II 、执行SQL语句,在数据库列表中刷新,打开视图,右击“grade_stu->编辑前200行,即可查到符合条件的视图表,如下图        所示:

              视图、索引及数据更新—实验报告_第14张图片

   3.3  定义一个反映学生出生年份的视图Student_birth

       I、在创建查询框中输SQL语句,如下图所示:

            视图、索引及数据更新—实验报告_第15张图片          

       II、执行SQL语句,在数据库列表中刷新,打开视图,右击Student_birth->编辑前200行,即可查到符合条件的视图

       表, 如下图所示:

            视图、索引及数据更新—实验报告_第16张图片   

   3.4 定义一个视图AVGG,视图列中有课程号、这门课程的平均成绩,且平均成绩大于80分。

       I 、在创建查询框中输入SQL语句,如下图所示:

          视图、索引及数据更新—实验报告_第17张图片

      II 、执行SQL语句,在数据库列表中刷新,打开视图,右击“AVGG->编辑前200行,即可查到符合条件的视图表, 如下图

       所示:   

           视图、索引及数据更新—实验报告_第18张图片

4 删除视图

    4.1  删除3.3中建的视图。

        I 、在创建查询框中输入SQL语句,如下图所示:

           视图、索引及数据更新—实验报告_第19张图片          

       II 、执行SQL语句,在数据库列表中刷新,则在视图列表中查询不到表Student_birth”,如下图所示:

               视图、索引及数据更新—实验报告_第20张图片

   5 查询视图

   5.1 在数学系的学生视图math_stu中找出年龄(Sage)小于20岁的 学生姓名(Sname)和年龄(Sage)

       I 、在创建查询框中输入SQL语句,如下图所示:

            视图、索引及数据更新—实验报告_第21张图片

      II、执行SQL语句,输出结果如下图所示:

           视图、索引及数据更新—实验报告_第22张图片    

  5.2  grade_stu视图中查询成绩在85分以上的学生学号(Sno)、姓 名(Sname)和课程名称(Cname)

      I 、在创建查询框中输入SQL语句,如下图所示:

          视图、索引及数据更新—实验报告_第23张图片

     II 、执行SQL语句,输出结果如下图所示:

          视图、索引及数据更新—实验报告_第24张图片    

  6 更新视图

   6.1  将数学系学生视图math_stu中学号为200215123的学生姓名改为“黄海”。

       I 、在创建查询框中输入SQL语句,如下图所示:

             视图、索引及数据更新—实验报告_第25张图片

      II 、执行SQL语句,在数据库列表中刷新,打开视图,右击math_birth->编辑前200行,即可查到符合条件的视图

        表, 如下图所示:

              视图、索引及数据更新—实验报告_第26张图片

   6.2  向数学系学生视图math_stu中插入一个新的学生记录,其中学号为“S09”,姓名为“王海”,年龄为20岁。

       I 、在创建查询框中输入SQL语句,如下图所示:

           视图、索引及数据更新—实验报告_第27张图片

      II 、执行SQL语句,在数据库列表中刷新,打开视图,右击math_birth->编辑前200行,即可查到符合条件的视图

      表, 如下图所示:

           视图、索引及数据更新—实验报告_第28张图片      

  7 插入数据

   7.1给学生表插入一条数据(’95003,’黎明’,’男’23,’计算机系’)

       I 、在创建查询框中输入SQL语句,如下图所示:

           视图、索引及数据更新—实验报告_第29张图片

       II 、执行SQL语句,在数据库列表中刷新,选中Student表->编辑前200行,结果如下图所示:

              视图、索引及数据更新—实验报告_第30张图片

   7.2 给选课表插入一个数据(‘95003,c01,85

      I 、在创建查询框中输入SQL语句,如下图所示:

           视图、索引及数据更新—实验报告_第31张图片

      II 、执行SQL语句,在数据库列表中刷新,选中SC->编辑前200行,结果如下图所示:

                 视图、索引及数据更新—实验报告_第32张图片

  8 修改数据

   8.1  将学号为“95003”的学生年龄改为22岁,即要修改满足条件的一个元组的属性值。

       I 、在创建查询框中输入SQL语句,如下图所示:

           视图、索引及数据更新—实验报告_第33张图片

       II 、执行SQL语句,在数据库列表中刷新,选中Student->编辑前200行,结果如下图所示:      

             视图、索引及数据更新—实验报告_第34张图片

   8.2 将所有学生的年龄增加1岁。即要修改多个元组的值。

       I 、在创建查询框中输入SQL语句,如下图所示:

            视图、索引及数据更新—实验报告_第35张图片

      II 、执行SQL语句,在数据库列表中刷新,选中Student表->编辑前200行,结果如下图所示:

       视图、索引及数据更新—实验报告_第36张图片

   8.3将数学系所有学生的成绩置零。

       I 、在创建查询框中输入SQL语句,如下图所示:

            视图、索引及数据更新—实验报告_第37张图片

       II 、执行SQL语句,在数据库列表中刷新,选中SC->编辑前200行,结果如下图所示:

       视图、索引及数据更新—实验报告_第38张图片

  9 删除数据

    9.1 删除学号为“95003”的学生选修的课号为“C02”的记录。

        I 、在创建查询框中输入SQL语句,如下图所示:

             视图、索引及数据更新—实验报告_第39张图片

       II 、执行SQL语句,在数据库列表中刷新,选中SC->编辑前200行,结果如下图所示:

        视图、索引及数据更新—实验报告_第40张图片

9.2  删除所有学生的选课记录。

       I 、在创建查询框中输入SQL语句,如下图所示:

           视图、索引及数据更新—实验报告_第41张图片

      II 、执行SQL语句,在数据库列表中刷新,选中SC->编辑前200行,结果如下图所示:

      视图、索引及数据更新—实验报告_第42张图片

9.3  删除数学系所有学生的选课记录。

       I 、在创建查询框中输入SQL语句,如下图所示:

            视图、索引及数据更新—实验报告_第43张图片

       II 、执行SQL语句,在数据库列表中刷新,选中SC->编辑前200行,结果如下图所示:

             视图、索引及数据更新—实验报告_第44张图片     

八、实验总结

   通过此次上机实验,使我更加熟悉了对SQL语句及其应用,虽然是第一次上机调试但并不感到陌生。在SQL语句调试的过程中虽错误总是千奇百怪,但根据老师教授的知识很快的得以纠正,完成了本次实验,通过本次实验,深刻的意识到自身的不足,也明白了理论与实践的差距,同时自己学过的知识也得以加深理解与巩固,感谢老师给予我们机会,使我们的知识更加牢固!

附录

Student表:

视图、索引及数据更新—实验报告_第45张图片

Course表:

视图、索引及数据更新—实验报告_第46张图片

SC表:

       视图、索引及数据更新—实验报告_第47张图片 

你可能感兴趣的:(数据库)