sql数据库实例(数据库入门).doc_第1页
sql数据库实例(数据库入门).doc_第2页
sql数据库实例(数据库入门).doc_第3页
sql数据库实例(数据库入门).doc_第4页
sql数据库实例(数据库入门).doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

精品文档数据库设计及应用实验一、 实验内容创建数据库:包括Student, Course, Enroll, Statistics表,表的结构如下:Student (sno, sname, age, sex)Course (cno, cname, credit)Enroll (sno, cno, grade)Statistics (sno, cNumber, creditSum)说明:cNumber是sno学生选修课程的数目;creditSum是sno学生选修课程的总学分。1、 设计并在MS SQL Server 2000中创建以上表结构,并设置完整性约束。2、 查询所有选修课程的学生的基本信息、课程信息及相应的考试成绩。3、 查询所有学生的信息,若已选课就还要给出选修课程的信息及考试成绩。4、 查询所有课程的信息,若课程有学生选修就还要给出选修课程的学生的信息及考试成绩。5、 查询选修名为“数据库”的课程的考试成绩最高的学生的信息。6、 对Student的age创建规则,满足18age25,并给出验证实例及验证结果。7、 创建触发器:当学生选修一门新的课程后,Statistics表的cNumber自动加1,且creditNumber自动增加新选课程的学分。8、 创建视图:找出所有已修学分超过6、所修课程平均分不低于60的学生的基本信息、以及所修课程的平均分。按照平均分排序,若平均分相同按照学号排序。9、 对于如下一组数据操作:(1) select * from course;(2) select * from course where cname=数据库(3) select * from course where credit=3(4) select * from course where credit2 and credit=18 and age=60 and creditSum6order by avg_grade,d.snoselect *from Transcript执行结果如图13所示。图13 Transcript视图表执行结果分析:列出的学生都按平均成绩大小从低到高排列且平均分都大于60.当平均分相同时,表中冉从宝和杨璐就按照学号大小从小低到高排列。9、对照对Course表的credit属性创建索引和去掉Course表的credit属性上创建的索引查询的执行计划。对Course表的credit属性创建索引为:create index credit_index on Course(credit)(1) 对比有无索引credit_index情形下, “select * from Course”的查询的执行计划分别如图14、图15所示。图14 有索引情形下的查询的执行计划图15 无索引情形下的查询的执行计划结果分析:由图14,、图15可知当查询是针对整个表进行,创建索引和不创建索引,查询的执行计划都是一样的。(2)对比有无索引credit_index情形下, “select * from course where cname=数据库”的查询的执行计划分别如图16、图17所示。图16 有索引情形下的查询的执行计划图17 无索引情形下的查询的执行计划结果分析:由图16,、图17可知当条件针对的字段不是创建了索引的那个字段时,索引是无效的。有索引和无索引,查询的执行计划都是一样的。(3)对比有无索引credit_index情形下, “select * from course where credit=3”的查询的执行计划分别如图18、图19所示。图18 有索引情形下的查询的执行计划图19 无索引情形下的查询的执行计划结果分析:由图18,、图19可知where条件为credit的属性,索引起效。有索引的查询效率比没有索引的查询效率高数十倍。(4)对比有无索引credit_index情形下, “select * from course where credit2 and credit5”的查询的执行计划分别如图20、图21所示。图20 有索引情形下的查询的执行计划图21 无索引情形下的查询的执行计划结果分析:由图20,、图21可知where条件为credit的属性,索引起效。有索引的查询效率比没有索引的查询效率高数十倍。(5)对比有无索引credit_index情形下, “update course set credit=3 where credit=2”的查询的执行计划分别如图22、图23所示。图22 有索引情形下的查询的执行计划图23 无索引情形下的查询的执行计划结果分析:由图20,、图21可知where条件为credit的属性,索引起效。有索引的查询效率比没有索引的查询效率高数十倍。索引小结:索引是对数据库表中的一列或多列的值进行排序的结构,有助于更快地获取信息。只有当经常查询索引列中的数据时,才需要创建索引。折衷:索引提高查询速度 vs. 索引占用磁盘空间,降低数据更新执行速度。若应用中大多数是数据更新操作(插入、删除和修改)。则应限制索引的数量。10、将表Student、Course、Enroll作内连接的结果发布为HTML网页格式。(1)在企业管理器的控制台中选中SC数据库,“工具” “向导” “管理” “web助手向导”如图24所示。图24 启动Web助手向导(2)点击“下一步”,选择数据库SC如图25所示。图25 选择数据库SC(3)在选择SC数据库后,单击“下一步”,选择和设置如图26所示。图26 Web作业命名和设置(4)单击“下一步”,在弹出的“编写Transact-SQL查询”对的话框中的文本框中输入表Student、Course、Enroll作内连接的查询语句,如图27所示。图27 表Student、Course、Enroll作内连接的查询(5)单击“下一步”,设置调度Web助手作业,如图28所示。图28 设置调度Web助手作业 (6)单击“下一步”,设置调度更新间隔,如图29所示。图29设置调度更新间隔(7)单击“下一步”,设置发布Web页面的物理存储位置,如图30所示。图30 设置发布Web页面的物理存储位置(8)设置Web页的格式,如图31所示。图31 设置Web页的格式(9)查看发布的WebPage1.htm网页。查看当前Enroll表的数据,结果如图32所示图32 Enroll中的数据发布结果测试Web页的更新方式有效性。在Enroll表中插入以下数据:insert into Enroll values (2008006,004,67)insert into Enroll values (

温馨提示

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

评论

0/150

提交评论