智能跟踪技术在网络教学中的应用.doc_第1页
智能跟踪技术在网络教学中的应用.doc_第2页
智能跟踪技术在网络教学中的应用.doc_第3页
智能跟踪技术在网络教学中的应用.doc_第4页
智能跟踪技术在网络教学中的应用.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

智能跟踪技术在网络教学中的应用作 者 姓 名 王旭东 专 业 计算机科学与技术 指导教师姓名 郑玉东 专业技术职务 讲师 山东轻工业学院本科毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导教师的指导下独立研究、撰写的成果。设计中引用他人的文献、数据、图件、资料,均已在设计中加以说明,除此之外,本设计不含任何其他个人或集体已经发表或撰写的成果作品。对本文研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示了谢意。本声明的法律结果由本人承担。 毕业设计作者签名: 年 月 日山东轻工业学院关于毕业设计(论文)使用授权的说明本毕业设计(论文)作者完全了解学校有关保留、使用毕业设计(论文)的规定,即:学校有权保留、送交设计的复印件,允许设计被查阅和借阅,学校可以公布设计(论文)的全部或部分内容,可以采用影印、扫描等复制手段保存本设计。指导教师签名: 毕业设计作者签名: 年 月 日 年 月 日目 录摘要IIIABSTRACTIV第一章前言11.1网络教学意义和发展状况11.1.1网络教学的意义11.1.2国内外网络教学的发展状况11.2网络教学平台系统建设21.2.1 系统建设原则21.2.2系统建设目标2第二章网络教学平台的相关技术介绍和分析32.1网站制作环境ASP32.1.1ASP概述32.1.2ASP简介32.1.3ASP技术与传统静态主页的区别32.1.4ASP的工作原理32.1.5ASP页面的结构42.1.6ASP的特点42.1.7ASP技术的应用前景52.2系统数据库SQL Server62.1.1SQL Server概述62.2.2SQL Server简介62.2.3SQL Server 数据平台包括以下工具:62.2.4影响SQL Server数据库性能的因素72.2.5数据库的设计72.2.6索引的设计92.2.7查询语句优化102.2.8操作环境优化112.3基于ADO的SQL Server数据库访问技术112.3.1ADO简介112.3.2创建ADO与SQL Server数据库的连接122.3.3使用Recordset 对象遍历SQL Server数据库132.3.4使用Recordset 对象更新SQL Server 数据库142.4系统编程语言:VBScript15第三章 需求分析173.1需求分析的目的173.2本系统的需求分析173.2.1软件操作平台173.2.2系统设计目标173.3系统结构框图183.4系统各个模块功能概述及流程图183.5数据库设计20第四章系统各个功能介绍224.1登陆界面224.2主页面224.3短消息功能234.4管理员的功能244.4.1学生管理244.4.2开课管理274.5教师和学生的功能284.5.1公告284.5.2网络答疑294.5.3课程学习31结束语33参考文献34附 录35致 谢48IV山东轻工业学院2007届本科生毕业设计(论文)摘要网络教学平台是针对目前传统的教育资源有限并会受到时间空间等多方面的限制,从而研制和开发的一种基于网络的Browser/Server模式并可在Internet网络环境下运行的应用软件。以实现这种方便性与互动性、开放性集于一身的教育体制,以对当前传统的教育模式提供必要的补充。网络教学对传统教学模式发出了挑战,网络教学在教育领域不断深入、扩展以及普及的速度与程度都显示了网络教学巨大生命力和无限潜力。智能跟踪技术应用到网络教学中,实现对个别学生成绩的动态记录和跟踪,达到学生网络教学管理信息化,统计分析后针对学生特点实行智能化管理。本系统选用ASP作为脚本环境,使用SQL Server数据库。运用ASP和SQL Server2003数据库管理软件相结合,能够在网络教学平台中方便的实现智能跟踪技术,跟踪记录学生网络教学中各时期的学习情况,最后得到线性报表分析,达到辅助教学管理的目的。本文主要介绍了网络教学的意义和发展状况,设计用到的相关的技术(ASP、SQL Server等),系统的设计与实现以及系统的功能说明。关键字:网络教学 智能跟踪技术 ASP SQL ServerABSTRACTOnline teaching system, developed in allusion to supply the traditional teaching system in the school. There is too much deficiency in traditional teaching system to adapt the developing of the society. So we developed Internet applications based on Browser/Server model and we will use this system in the Internet. Realizes this kind of convenience and the interaction, the open collection to a body education system, by provide the essential supplement to the current traditional education pattern. The network teaching sent out the challenge to the tradition educational model, the network teaching has been unceasingly thorough in the education do main, the expansion as well as the popularization speed and the degree has all demonstrated the network teaching huge vitality and the infinite potential. The intelligent track technology applies in the network teaching realizes to the individual student result dynamic recording and the track, achieves the student network teaching management information after statistical analysis in view of student characteristic implementation intellectualization management. System selects and uses ASP being the script environment, uses the SQL Server database. Apply ASP and the SQL Server2003 data base management software to be tied in wedlock each other, be able to realize intelligence conveniently in network teaching platform tracking a technology, track the condition recording every student network teaching middle period studying, get linearity form for report analysis finally, reach the purpose assisting teaching to manage.Key words:Network teaching ; Intelligence track a technology ; ASP ; SQL Server第一章前言1.1网络教学意义和发展状况1.1.1网络教学的意义现代信息技术的发展和远程教育信息化进程的迅速推进,给高等教育的学习环境带来了巨大的影响,每个高等学校都面临着如何利用先进的多媒体技术和网络技术来改进传统单一的教育、教学方法,创建适合学生学习特点的多样化教育方法,建立新型的教学模式这一普遍问题。特别是普通高等学校充分、有效地利用网络教育,改变师资力量不足、水平不高、教学结构有待于进一步改革的现状,培养具有创新精神和实践能力的高素质人才,逐步形成自己的办学特色,提高办学质量和效益,具有十分重要的意义。1.1.2国内外网络教学的发展状况在美国,越来越多的人选择半工半读或在职学习的方式,他们中的许多人工作不定时,经常外出。而网络教学突破了时间、地点的限制,满足了这些人的学习要求。特别是因特网和多媒体两大技术的结合使满足网络教育的需求成为可能。而政府也十分重视现代信息技术在教育中的应用,利用因特网的非同步教学、双向交互式的视频教学和单向式预录视频教学等技术,积极推进网络教育的发展。现有三百五十多所大学和学院提供函授和因特网教育的远程学习学位,基本覆盖了美国高校的所有专业和学科。目前美国通过网络教学获得高等教育学位的学生大约占全国高等学校在校生人数的8%。而据有关机构预测到2002 年美国接受网络高等教育的人数将达到223万人。英国也是较早开展网络教育的国家,而且英国利物浦大学等大学正积极开拓中国的教育市场,它们提供的信息技术理学硕士学位和工商管理硕士学位课程,使学生可以通过在线方式获得学位。网络教学已成为经济合作与发展组织(OECD)国家高等教育体系的重要组成部分。根据OECD的研究,19952004年,全世界网络教学的市场规模将以45%的增幅扩大。因此他们不仅在本国积极开展网络教学,而且正准备通过互联网占领更多的国际高等教育市场份额。我国政府十分重视网络教育。国务院1999年1月转发教育部制订的“面向21 世纪教育振兴行动计划”中,明确提出了实施现代远程教育工程,并在第三次全国教育工作会议上,提出在2010年初步实现高等教育大众化的目标,建立现代远程教育网络,构建终身教育体系。为此,国家对教育信息基础设施投入很大的人力物力,建成中国教育科研网(CER-NET),并开展地区性区域教育信息网络建设和校园网络建设。随着清华大学等38所试点大学网络教育的快速发展,远程教育也逐步成为一个倍受人们关注的领域。目前我国各试点学校初步摸索出一套网上办学的模式,开发出一批网上课程和教学资源,初步形成了校内基于校园网的多媒体教学与校外远程教学同时进行并相互融合的开放式办学格局。1.2网络教学平台系统建设1.2.1 系统建设原则为了实施远程教学的要求,该系统必须遵循如下设计原则:(1)规范、通用性。与同类软件或常用应用软件具有同样的规范,做到大众化。(2)适用性、易操作性。教案资料录入应做到规范、易操作,通常的方法是教师按照网页的方式提交,这就要求他必须具有较强的网页制作和设计技能,一般难以达到,还会消费过多的时间去考虑版面的美观,实在是有点舍珠求鱼,得不偿失。这部分工作应由系统开发工程师去完成。(3)模板化、导航帮助。在设计上,应重点考虑其应用的广泛性,适合于不同学科的教师。既要考虑不同课程的特点,又要在宏观上考虑它们的共性。(4)安全性。系统对不同类型的用户提供不同的权限,严格控制低权限用户的操作行为。1.2.2系统建设目标(1)实现智能跟踪技术。可以对学生各个时期的学习情况进行实时的跟踪记录,对其进行分析,然后指定下一步教学计划。达到学生网络教学管理信息化。(2)实现在线交流。在课后,教师和学生无法面对面的时候,教师和学生也可以实时地进行交流,教师在线布置、批改作业,网络答疑。使教师和学生的交流突破时间与空间的限制。(3)实现上传下载。教师可以上传相关课程的课件,由学生或其他教师下载。方便了学生对功课做提前预习和课后的复习,也方便了教师的备课。第二章网络教学平台的相关技术介绍和分析2.1网站制作环境ASP2.1.1ASP概述ASP是Active Server Pages body的简称,它是在微软公司的WEB服务器IIS(Internet Infomation Server)上开发交互网页的新技术1。微软公司最初在IIS3.0版上使用它以取代CGI。随着WindowsNT在WWW上的使用日益增多,ASP已经成为了开发动态网站、构筑Internet和Intranet应用的最佳选择。2.1.2ASP简介随着Internet/Intranet和Web技术的出现和发展,为信息的交换和共享提供了快捷有效的方法,但Internet/Intranet上提供的信息多以静态网页为主,远远不能满足人们的需要,及时更新数据才可获得较高的访问率,对于一个Web应用开发者来说,最关心的是如何增强网页的动态性和交互性了。 技术是目前最流行的交互式动态网页建构ASP技术,它是Microsoft公司开发的一套全新的服务器端的脚本程序环境2。用户可以创建和运行动态的交互式Web服务器应用程序,在站点的Web服务器上解释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序,如交互式的动态网页,包括使用HTML表单收集和处理信息、上传与下载等, ASP可以胜任基于MicrosoftWeb服务器的各种动态数据发布,根据客户端的不同请求,在服务器端经过相应的ASP程序处理生成不同的静态HTML页面传输回浏览器。脚本在Web服务器中运行,而浏览器并不处理脚本,它所面对的仅仅是一个完全符合HTML格式的网页,这为更多的、不同类型的浏览器访问Web服务器提供了可能。2.1.3ASP技术与传统静态主页的区别把信息系统纳入Internet/Intranet的框架之后,首先要解决的问题是通过网页访问后台数据库信息。所有应用程序都被分割为页面的形式,用户的交互操作是以提交表单等方式来实现的,这就要求Web站点具有很强的动态数据发布能力。ASP技术所设计出的是动态主页,可接收用户提交的信息并做出反应, 其中的数据可随实际情况而改变,无需人工对网页文件进行更新即可满足应用需要。例如:当在浏览器上填好表单并提交HTTP请求时,可以要求在站点服务器上执行一个表单所设定的应用程序,而不只是一个简单的HTML文件。该应用程序分析表单的输入数据,根据不同的数据内容将相应地执行结果并以HTML 的格式传送给浏览器。数据库的数据可以随时变化,而服务器上执行的应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力3。2.1.4ASP的工作原理当用户申请一个*.asp主页时, Web服务器响应HTTP请求,调用ASP引擎, 解释被申请文件。当遇到任何与ActiveX Script兼容的脚本如VBScript和JavaScript时,ASP引擎会调用相应的脚本引擎进行处理。若ASP文件含有访问数据库的请求,ASP内置组件ADO通过ODBC与数据库连接,对数据库进行访问,并将访问结果返回Web服务器。ASP引擎将脚本和组件的运行结果生成相应的HTML语法成分,与文件中原有的文本和HTML 标记一起组成标准HTML页面送至客户端浏览器。ASP脚本是在服务器端解释执行的,它根据访问数据库的结果集自动生成符合HTML语言的主页,去响应用户的请求。访问ASP页面工作原理,如图21所示4。图21ASP页面工作原理图2.1.5ASP页面的结构ASP的程序代码简单、通用,文件名由.asp结尾ASP文件通常由4部分构成: 一是标准的HTML标记,所有的HTML 标记均可使用。二是ASP语法命令, 位于 标签内的ASP代码。三是服务器端的include语句,可用#include语句调入其他ASP 代码,增强了编程的灵活性。四是脚本语言,ASP自带JavaScript和VBScript两种脚本语言,增加了ASP的编程功能。2.1.6ASP的特点(1)无需编译:ASP脚本集成于HTML当中,容易生成,无需编译或连接即可直接解释执行。(2)易于生成:使用常规文本编辑器(如Windows下的记事本),即可进行*.asp页面的设计。(3)独立于浏览器:ASP脚本在服务器端解释执行,用户端只要使用可解释常规HTML码的浏览器,即可浏览ASP所设计的主页。(4)面向对象:在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还可由ActiveX服务器组件来扩充功能。(5)与任何ActiveX Script语言兼容: 除了可使用VBScript和JavaScript语言进行设计外,还可通过Plug- in的方式,使用由第三方所提供的其他Script语言进行设计。(6)源程序码不会泄漏: ASP脚本在服务器上执行,传到用户浏览器的只是ASP 执行结果所生成的常规HTML码,这样可保证编写出来的程序代码不会被他人盗取。2.1.7ASP技术的应用前景ASP采用ADO(ActiveX Data Objects)技术访问后台数据库。其中内置的数据库访问组件ADODB属于数据库应用的COM构件,可以在多种环境下使用。各种脚本和语言均可调用ADO组件访问数据库,并利用相应的数据接口显示查询结果。ADO拥有强大的活力,它是位于ODBC和OLEDB之上的高性能数据操作接口,提供了开放的数据操作对象模型,允许开发人员使用任何语言和统一的编程模式访问各种与ODBC和OLEDB兼容的数据库。通过ADO,开发人员可以用较少的时间操作比以前更为复杂的数据类型,成为支持新一代数据访问与连接标准UDA(统一数据访问)模型的核心技术。与传统的CGI和ISAPI等访库方式相比,ADO方案简单易行、应用广泛,将成为站点访问后台数据库的最佳选择,其具体内容将在2.3节介绍。作为IIS 的一个组成部分,ASP提供了一个无需编译的集成开发环境,开发人员可以把HTML,VBScript,JavaScript,ASP脚本和ActiveX构件等结合在一起,从而建立一个动态的、功能强大的Web应用系统。此外,使用ASP开发的Web应用程序,返回到前端是纯HTML语言,不依赖于浏览器和操作系统,且具有较好的保密性。使用ASP在先进的协同应用程序开发模型中设计应用程序,可以实现最佳的性能、更好的安全性以及更方便的维护。从基于数据库的管理信息系统的角度来看,局域网环境的MIS系统大都可以迁移到Web环境中,浏览器、Web服务器、数据库服务器三层分布式结构已势不可挡。ASP作为配套的站点设计技术,可以根据浏览器端提出的不同申请动态地生成相应的HTML 页面,从而可根据用户的需要方便地获取数据。同时,由于ASP在服务器端执行,很好地保证了浏览器、服务器结构中数据的一致性。ASP支持ActiveX服务器组件,并可与任何ActiveX Script语言兼容。ActiveX以微软的COM(Component Object Model)为基础,可以由任何编程语言来编写,诸如COBOL,VB,VC,Delphi,PowerBuilder,Java 等,并可在任何Windows平台上运行。使用ActiveX可建立独立的业务逻辑处理单元,将其嵌入到所需的ASP主页中,不仅功能灵活,而且具有很高的可重用性,比较容易开发出具有Internet通信能力和具有传统商业计算能力的混合应用。可以肯定,随着ActiveX市场占有率的不断提高,组件对象与ASP结合将成为构造Web应用系统的最常用方式。ASP是微软为IIS3.0以上服务器及单机开发的动态站点设计技术,可以与常规HTML集成,简单而有效,适于一般的程序设计人员。后台可与NT系统上配套的SQL等数据库相连,只需编写少量的代码,即可在页面上执行一系列的访库操作,特别适合企业经营活动的需要3。使用ASP所提供的内置组件对象配合HTML,VBScript和JavaScript,可实现各种复杂功能,并使主页呈现丰富多变的风格。利用ASP进行Web设计,具有开发容易、功能完备、形式完美等特点,随着Internet应用领域的覆盖面不断扩大,ASP技术将成为建构交互式动态网页不可缺少的技术。2.2系统数据库SQL Server本系统利用SQL Server作为后台数据库的开发。本节将介绍一下SQL Server。2.1.1SQL Server概述SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言6。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。2.2.2SQL Server简介SQL Server 2003是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。2005版的发布为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQL Server 2003为不同规模的企业提供了一个完整的数据解决方案7。2.2.3SQL Server 数据平台包括以下工具:(1)Replication Services。数据复制功能可用于数据分发或移动数据处理应用程序、系统高可用性、企业报表解决方案的后备数据存储的可伸缩并发性、与异构系统(包括已有的 Oracle 数据库)的集成等。 (2)Notification Services。用于开发和部署可伸缩应用程序的高级通知功能可以向不同的已连接设备和移动设备发布个性化的、及时的信息更新。 (3)Integration Services。用于数据仓库和企业范围数据集成的数据提取、转换和加载(ETL)功能。 (4)Analysis Services。联机分析处理(OLAP)功能可用于对使用多维存储的大型和复杂数据集进行快速高级分析。 (5)Reporting Services。全面的报表解决方案,可创建、管理和发布传统的、可打印的报表和交互的、基于 Web 的报表。 (6)管理工具。SQL Server 包含的集成管理工具可用于高级数据库管理和优化,它也与其他工具(如 Microsoft Operations Manager (MOM) 和 Microsoft Systems Management Server (SMS))紧密集成在一起。标准数据访问协议大大减少了将 SQL Server 中的数据和现有系统进行集成所花费的时间。此外,SQL Server 中内建了本机 Web 服务支持,确保了与其他应用程序及平台的互操作能力。 (7)开发工具。SQL Server 为数据库引擎、数据提取、转换和加载(ETL)、数据挖掘、OLAP 和报表提供了和 Microsoft Visual Studio 紧密集成的开发工具,以实现端到端的应用程序开发能力。SQL Server 中每个主要的子系统都有自己的对象模型和应用程序接口(API),能够将数据系统扩展到任何独特的商业环境中。2.2.4影响SQL Server数据库性能的因素对于SQL Server数据库来说,影响其性能的,主要有以下一些因素和方面:(1)数据库设计方面。这包括表的设计、表的数量和大小、表的设计规范化程度、事务的设计、游标的使用等等。(2)索引的设计方面。包括索引的数目及其在表上的分布和类型、键的使用、填充因子的利用、唯一性、约束的使用、索引页面利用率、分布和密度统计的精确度以及对查询的适用性。(3)查询构造方面。包括选择标准、操作符、函数、表达式和子查询、聚集函数、排序和分组等。(4)操作环境方面。包括内存的利用、磁盘的使用、CPU 的使用、网络的使用等。一般来说,对上述这些不同的方面进行SQL Server 的性能优化,会产生不同的效果。下面将分别介绍优化SQL Server 性能的一些技术和方法。2.2.5数据库的设计实现SQL Server 数据库的优化,首先要有一个好的数据库设计方案。在实际工作中,许多SQL Server 方案往往是由于数据库设计得不好导致性能很差。实现良好的数据库设计必须考虑这些问题:(1)逻辑数据库规范化问题一般来说,逻辑数据库设计会满足规范化的前3 级标准:第1规范:没有重复的组或多值的列;第2规范:每个非关键字段必须依赖于主关键字,不能依赖于一个组合式主关键字的某些组成部分;第3规范:一个非关键字段不能依赖于另一个非关键字段。遵守这些规则的数据库设计会产生较少的列和更多的表,因而也就减少了数据冗余,也减少了用于存储数据的页。但表关系也许需要通过复杂的合并来处理,这样会降低系统的性能。某种程度上的非规范化可以改善系统的性能,非规范化过程可以根据性能方面不同的考虑用多种不同的方法进行,但以下方法经实践验证往往能提高性能。1、规范化设计产生了许多4路或更多路合并关系,而且这些表被频繁的访问,就可以考虑在数据库实体(表)中加入重复属性(列)。例如在某高校选课系统中,学生修课表被频繁的访问,由于规范化设计,一个学生得到完整的修课信息就要与其他的许多的表进行连接,这样势必造成系统速度变慢。为了解决这个问题我们可以在学生修课表上加入一些重复的列,这样就会减少表与表之间的联结运算,提高整个数据库系统的性能。2、常用的计算字段(如总计、最大值等)可以考虑存储到数据库实体中。比如在教务管理系统中的班级表中可以加入班级的男生人数、女生人数等计算字段。用户以后再浏览班级信息时,系统就不需要到其他的表中统计学生的人数了,这是一种典型的用空间(数据库中引入了冗余字段) 来换取时间(减少了计算节省了时间) 的作法,事实证明这也是一种很有效的方法。但是这里应当采用触发器以保持数据库数据的一致性。3、重新定义实体以减少外部属性数据或行数据的开支。相应的非规范化类型是:一、把1 个实体(表)分割成2 个表(把所有的属性分成2 组)。这样就把频繁被访问的数据同较少被访问的数据分开了。这种方法要求在每个表中复制首要关键字。这样产生的设计有利于并行处理,并将产生列数较少的表。二、把1 个实体(表)分割成2 个表(把所有的行分成2 组)。这种方法适用于那些将包含大量数据的实体(表)。在应用中常要保留历史记录,但是历史记录很少用到。因此可以把频繁被访问的数据同较少被访问的历史数据分开。而且如果数据行是作为子集被逻辑工作组(部门、销售分区、地理区域等)访问的,那么这种方法也是很有好处的。(2)生成物理数据库要想正确选择基本物理实现策略,必须懂得数据库访问格式和硬件资源的操作特点,主要是内存和磁盘子系统I/O。这是一个范围广泛的话题,但以下的准则可能会有所帮助。1、与每个表列相关的数据类型应该反映数据所需的最小存储空间,特别是对于被索引的列更是如此。比如能使用smallint类型就不要用integer 类型,这样索引字段可以被更快地读取,而且可以在1 个数据页上放置更多的数据行,因而也就减少了I/O 操作。2、把1 个表放在某个物理设备上,再通过SQL Server 段把它的不分簇索引放在1 个不同的物理设备上,这样能提高性能。尤其是系统采用了多个智能型磁盘控制器和数据分离技术的情况下,这样做的好处更加明显。3、用SQL Server 段把一个频繁使用的大表分割开,并放在2 个单独的智能型磁盘控制器的数据库设备上,这样也可以提高性能。因为有多个磁头在查找,所以数据分离也能提高性能。4、用SQL Server 段把文本或图像列的数据存放在1 个单独的物理设备上可以提高性能。1 个专用的智能型的控制器能进一步提高性能。2.2.6索引的设计根据某个特定数据项的取值,索引的目的是让SQL Server的优化器能有一条到达该数据项的最有效的途径。在适当的地方采用恰当类型的索引对SQL Server 性能的优化是很有帮助的。(1)更新统计每个索引均具有一个维护其统计信息的分布项。优化器利用这个项来判断该索引对某个特定的查询是否有用。但这个统计信息并不动态地重新计算。这意味着,当表的数据改变了之后,统计信息有可能是过时的,从而影响优化器追求最优工作的目标。因此,对于更新比较频繁的表,应定时运行其更新统计。(2)采用唯一索引第一键列值为条件的查询将通过最少次数的I/O,就可找到期望的行。相反,若用于索引键的列有大量的重复值,则查询在找到期望的行之前,也许需要访问若干页面。因此,如果确信索引键的所有值都是唯一的话,则将索引定义成唯一的,以便优化器能利用这种高选择性。(3)选择索引键应选择那些采用小数据类型的列作为键,以便每个索引页能够容纳尽可能多的索引键和指针。通过这种方式,可使一个查询所必须遍历的索引页面降到最小。同时设法使索引的第一个列具有最大的选择性,因为当查询说明的搜索参数与索引的第一个列匹配时,该索引成为有用的。(4)利用聚簇索引聚簇索引的最低级叶级,就是表页本身。不象非聚簇索引那样是指向表页的索引层。因为叶级的键值是数据行,所以数据行在物理上是顺序的。那些包含范围检查(Between,等)或使用了Group By、Order By 的查询可以很好的利用这些预排序的数据,达到减少或避免排序的代价。(5)利用覆盖索引覆盖索引是指那些包含了多个列的非聚簇索引,以便能覆盖一个或多个典型的查询。覆盖查询是指涉及的值存在于一个覆盖索引的键值中的查询。覆盖索引可以提高覆盖查询的性能,这种查询仅仅通过读取页面就可解决,节省大量的I/O 开销。2.2.7查询语句优化对于一条复杂的查询语句来说,对相同查询条件的实现一般总可以有多种不同的表达方法,而不同的表达会使数据库的响应速度大相径庭。据统计,约有90%的性能问题是由于使用了不恰当的查询语句造成的,因此SQL 语句的质量对整个系统效率有重大关系。下面介绍查询语句优化方面的一些技巧。(1) 避免使用不兼容的数据类型查询最微妙的问题之一是在Where子句中对具有不同类型的列的比较企图,例如float 和int,char和varchar,binary 和varbinary是不兼容的。因此要求Where子句中表达式的数据类型是兼容的,数据类型的不兼容无法使用预先定义好的索引。例如:Select name From employee Where salary45000在这条SQL 语句的Where 子句中由于salary字段是money型,而45000 是整型数,因此就无法使用定义在salary上的索引。(2) 避免LEFT JOIN 和NULLSQL 的一个有价值的常用功能是LEFT JOIN。它可以用于检索第一个表中的所有行、第二个表中所有匹配的行、以及第二个表中与第一个表中不匹配的所有行。例如,如果希望返回每个客户及其定单,使用LEFT JOIN 则可以显示有定单和没有定单的客户。LEFT JOIN 消耗的资源非常之多,因为它们包含与NULL( 不存在) 数据匹配的数据。因此在构造查询语句时尽量避免使用LEFT JOIN 和NULL。(3)避免对WHERE 子句中的条件参数使用数学操作符因为若WHERE 子句中存在一个代数表达式,优化器就不能使用分布统计信息。如应该避免: SELECT name FROM employeeWHERE salary*1040000而应该写为: SELECT name FROM employee WHERE salary40000/10(4)尽量避免在Where 条件里使用非聚合表达式非聚合表达式很难利用到索引,通常SQL Server 不得不进行大规模的扫描。像“IS NULL”,“ ”,“! = ”,“! ”,“! ”,“NOT ”,“NOT EXISTS ”,“NOT IN ”,“NOT LIKE ”和“LIKE %500 ”这样的表达都是非聚合表达式,此外函数也是。使用以上表达时不会用到索引,其查询速度大大下降,应避免在Where 条件中使用非聚合表达式。2.2.8操作环境优化(1)设置SQL Server 的优先级许多操作环境根据CPU的使用状况来动态地调整进程的优先级,如果SQL Server的优先级降低,其性能将会降低。如果你想将SQL Server进程的优先级改变为较高的值,应确保没有置的过高,以至影响操作系统的性能,因为SQL Server的运行首先得依赖于操作系统的很好运行。(2)减少网络流量经常,全面提高网络的最佳方案是减少你传送的网络包数。有时某些查询没有很好地优化排列,从而返回多于用户需要的数据。通过认真设计你的应用,你可允许客户应用只把数量的行返回作为预览,在需要的情况下再返回全部的结果。(3)网络配置网络协议的选择,必须通过的路由器、网关和网桥的数量,以及诸如网络缓冲区等配置参数,都会对SQL Server的客户/服务器的通信性能产生很大影响。应确保网络已为SQL Server的传输进行了最优化的设置。2.3基于ADO的SQL Server数据库访问技术2.3.1ADO简介ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,它是建立在OL E DB之上的高层数据库访问技术。与OL E DB提供者相比,ADO的接口可以使程序员在更高级别上同数据交互,并且它保留了MFCODBC和DAO 的特性。ADO技术基于COM ,具有COM组件的诸多优点,可以用来构造可复用的应用框架。ADO技术不仅可以应用于关系数据库,也可以应用于非关系数据库,以及可以用统一的方法对不同的文件系统进行访问,大大简化了程序的编制,增加了程序的可移植性。此外,ADO具有远程数据服务的特性,支持各种客户/ 服务器模型与基于Web的应用程序8。ADO技术用对象封装了OL E DB所提供的接口。这些接口分别被OL E DB数据提供程序、OL E DB数据应用程序和OL E DB服务提供程序所使用。而ADO中所提供的对象只适用于数据应用程序员,这些对象包括Connec2tion 对象、Command 对象、Parameter 对象、Recordset对象、Field对象、Property对象、Error对象等七个。ADO的其他关键结构还包括集合和事件。这两种结构用于调整和组合对象结构中的其他对象。使用ADO技术开发应用程序有两种方法。其中最简单的一种是在应用程序中使用ActiveX控件;另一种方法是使用Visual C+ 6.0中为开发ADO应用程序而提供的动态链接库,即用ADO对象开发应用程序。前一种方法可以最大限度地简化数据库应用程序的访问,但它不能完全发挥ADO访问数据库的优良性质;而后一种方法可以灵活地控制应用程序。使用ADO对象开发应用程序需要创建与数据源的连接、创建记录等步骤,但与其他访问技术不同的是,ADO技术对对象之间的层次和顺序关系要求不是太严格。在大多数情况下,人们可以只关心所要创建和使用的对象,而无须了解其父对象。在程序开发的过程中,可以直接打开一个记录集对象,而无须先建立与数据源的连接。这种模型有力地简化了程序设计,增强了程序的灵活性9。2.3.2创建ADO与SQL Server数据库的连接使用ADO,应用程序执行的第一步操作是使用Connection ,Command或者Recordset 对象创建一个连接。ADO可以使用ODBC 的OL E DB 提供者MSDASQL 或者SQL Server的OL E DB提供者连接到SQL Server数据库。MSDASQL提供者允许ADO对象框架用于已有的ODBC驱动程序,SQL OL EDB提供者直接连接到SQL Server。这两个OL E DB提供者都可以用于ADO的Connection ,Command和Recordset对象。(1)使用ODBC的OLE DB提供者MSDASQL创建一个连接可以使用ADO Connection对象和MSDASQL创建一个对SQL Server数据库的连接,这也许是创建ADO应用程序的起点。像DAO和RDO一样,MSDASQL使用一个ODBC驱动程序访问SQL Server。这也就意味着运行应用程序的系统必须有一个用于SQL Server的ODBC驱动程序和一个在ODBC Administrator中用于SQL Server的Data Source Name(DSN)。像正常的ODBC 连接字符串一样,用在ADO中的连接字符串必须包含一组预定义的关键字,这些预定义的关键字如表21所示。表21预定义的关键字关键字描述Provider用来指定将要使用的OL E DB提供者的名称,缺省情况下使用MSDASQL提供者DSN用来指定将要连接的由ODBC Administrator创建的已经存在的数据源名称Driver用来指定将要使用的一个已经存在的ODBC驱动程序的名称Server用来指定将要使用的一个已经存在的SQL Server系统的名称UID用来指定将要使用的用于登录数据源的帐号IDPWD用来指定将要使用的与登录帐号ID相关的口令Database用来指定将要使用的目标数据库名称(2)使用MSDASQL创建一个无DSN连接在一些情况下,应用程序需要建立一个基于ODBC的连接,并且它不能依靠一个预配置的DSN。MSDASQLOL E DB提供者也支持使用无DSN连接,使用无DSN连接不需要已有的数据源。对于一个无DSN的ODBC连接,必须指定将要使用的ODBC驱动程序、服务器和数据库。有时也可能需要用UID和PWD关键字提供登录SQL Server数据库的必要信息。(3)使用SQL Server 的OLE DB提供者创建一个连接使用SQL Server的OL E DB提供者非常类似于ODBC的OL E DB提供者。因为SQL Server的OL E DB不使用ODBC ,所以没有必要使用一个数据源或者一个已经存在的ODBC驱动程序。然而,必须指定OL E DB提供者的名称。2.3.3使用Recordset 对象遍历SQL Server数据库ADO允许使用Recordset或者Command对象检索数据。这两种对象都可以用于一个活动的Connection对象,或者打开它们自己的连接。Recordset分类:(1)只向前光标在缺省情况下,ADO使用只向前光标。该光标提供了最好的性能和最低的开支,然而,它的功能也是最低的。使用只向前光标的Recordset对象是可修改的,但是只能修改当前行。其他用户在基表中所做的任何变化都不反映在Recordset对象中。(2)静态光标静态光标提供了光标打开时数据的快照。使用静态光标的Recordset对象是不可修改的,并且它们不反映基表中的任何变化,除非该光标关闭并重新打开。由于其静态性质,所以由静态光标创建的Recordset对象一般比使用键集或者动态光标的Recordset对象的资源强度低。然而,由于静态光标制作了数据的本地拷贝,所以对于大规模的结果集,在使用这种光标时要小心。(3)键集光标键集光标创建了一组本地键,其中每一个键是结果集内一行的一个索引。当应用程序访问使用键集光标的Recordset对象时,来自本地键集的键值从基表中检索相应的行。使用键集光标的Recordset对象是可修改的,但是当它们完全填满之后,就不能动态地反映其他用户在基表中所作的变化。键集光标有很强大的功能,但是它们相对来说资源也是紧张的,因为客户机系统必须维护整个结果集的关键值以及包含实际数据值的缓存区。(4)动态光标动态光标是功能最强大的一种ADO光标,但是它们的资源也是最紧张的。动态光标非常类似于键集光标,它们都使用与结果集中每一行相对应的一组本地键,并且都是可以修改的。然而,不像使用键集光标的Recordset对象,使用动态光标的Recordset对象可以自动反映其他应用程序在基表中所作的变化。为了动态地维护结果集,使用动态光标的Recordset对象必须连续地刷新结果集,使用任何变化自动修改本地的结果集。2.3.4使用Recordset对象更新SQL Server数据库可用多种方法使ADO修改数据。ADO支持可修改的Recordset对象,它可使用AddNew ,Update和Delete函数修改包含在一个可修改的Recordset对象中的数据。ADO还支持使用动态的和预备的S

温馨提示

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

评论

0/150

提交评论