版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 河北農業(yè)大學</b></p><p> 本科畢業(yè)論文(設計)</p><p> 題 目:高校研究生教學管理平臺-研究生培養(yǎng)的設計與優(yōu)化</p><p> 學 院: 信息科學與技術學院</p><p> 專 業(yè): 計算機科學與技術 </p
2、><p> 學生姓名: 楊靜 </p><p> 班級學號: 1202班2012232010134 </p><p> 指導教師姓名: 李閱歷 </p><p> 指導教師職稱: 講師 </p><p> 二0一四 年 五 月 三十
3、日</p><p><b> 摘 要</b></p><p> 隨著互聯網的高速發(fā)展,人們生活水平的提高,計算機已經逐漸深入到社會的各個領域中,信息化”,“自動化”也逐漸成為了21世紀企業(yè)發(fā)展的代名詞。快捷的上網方式已經成為人們的追求,因此,像以前落后的上網方式已經不可取了。針對人們的需求,提高上網速度,簡化代碼,優(yōu)化頁面的開發(fā)勢在必行。</p>
4、<p> 本次設計針對高校研究生教學管理平臺的優(yōu)化充分考慮了研究生教學管理的特點,符合高校教學管理的需求,界面美觀,功能齊全,并保證上網的速率。高標準、高質量的管理才能滿足人們的需求。</p><p> 本課題主要介紹了對高校研究生教學管理平臺的優(yōu)化,這次的課程設計主要分界面優(yōu)化,數據庫優(yōu)化以及代碼優(yōu)化三部分。本設計是以JAVA作為開發(fā)語言,TOMCAT作為后臺服務器,并使用了Sql Serve
5、r 2008作為后臺數據庫。此次優(yōu)化還結合了JSP、Java、DreamWeaver、CSS據庫等軟件的使用。通過對這三方面優(yōu)化的理解對此教學管理平臺進行進一步的完善,使此教學管理平臺更符合廣大師生的意愿,更方便地為師生服務。</p><p> 關鍵詞: 界面優(yōu)化,數據庫優(yōu)化,代碼優(yōu)化</p><p><b> Abstract</b></p>&l
6、t;p> With the rapid development of Internet, people's living standards improve, the computer has gradually penetrated into all areas of society, and information technology "," automation "has gradu
7、ally become synonymous with business development in the 21st century. Quickest way Internet has become the people's pursuit, therefore, as before, the way the Internet has undesirable behind it. against the people
8、9;s needs and improve Internet speed, simplify the code, optimize the development imperative pag</p><p> The design for the optimization of Graduate teaching management platform fully consider the character
9、istics of the postgraduate teaching management, teaching management in line with demand, beautiful interface, complete functions, and to ensure access rate. High standards and quality management in order to meet people
10、39;s needs.</p><p> This paper focuses on the optimization of university graduate teaching management platform, this course is primarily designed interface optimization, database optimization, and code opti
11、mization of three parts. The design is based on JAVA as a development language, TOMCAT as a background server and use the Sql Server 2008 as the back-end database. The optimization also incorporates the use of JSP, Java,
12、 DreamWeaver, CSS databases and other software. By understanding these three aspects of this t</p><p> Keywords: optimization of interface, database optimization, the code optimization </p><p>
13、<b> 目 錄</b></p><p> 1緒 論 1</p><p> 1.1 系統(tǒng)優(yōu)化的意義1</p><p> 1.2 系統(tǒng)優(yōu)化的硬件要求和軟件要求1</p><p> 1.2.1 硬件要求1</p><p> 1.2.2 軟件要求1</p>
14、;<p><b> 2技術概述2</b></p><p> 2.1 數據庫介紹2</p><p> 2.2 設計中JavaScript技術2</p><p> 2.3 級聯樣式表CSS3</p><p><b> 3界面優(yōu)化4</b></p><
15、p> 3.1 界面優(yōu)化的意義4</p><p> 3.2 界面優(yōu)化的技術介紹4</p><p> 3.3 對研究生教學管理平臺的界面優(yōu)化5</p><p> 3.3.1 登錄成功的界面的優(yōu)化6</p><p> 3.3.2 提前答辯申請界面的優(yōu)化7</p><p> 3.3.3 提前申
16、請論文答辯-已提交提前申請論文界面的優(yōu)化8</p><p><b> 4數據庫優(yōu)化9</b></p><p> 4.1 數據庫優(yōu)化的意義9</p><p> 4.2 數據庫優(yōu)化9</p><p> 4.2.1 提前答辯的E/R圖10</p><p> 4.2.2 提前答辯中詳細
17、的表結構11</p><p> 4.2.3 數據庫表結構的優(yōu)化12</p><p> 4.2.4 基于索引的優(yōu)化12</p><p> 4.2.5 優(yōu)化SQL語句的優(yōu)化14</p><p><b> 5代碼優(yōu)化15</b></p><p> 5.1 代碼優(yōu)化的意義15<
18、/p><p> 5.2 代碼優(yōu)化的實例15</p><p> 5.2.1 循環(huán)不變量遷移15</p><p> 5.2.2 遞歸算法16</p><p><b> 總結17</b></p><p><b> 致謝18</b></p><p&
19、gt;<b> 參考文獻19</b></p><p><b> 1 緒論</b></p><p> 1.1 系統(tǒng)優(yōu)化的意義</p><p> IT技術的飛速發(fā)展使教學的管理也進入了一個暫新的階段,人類進入了信息高速發(fā)展的時代,信息技術成為一門新興產業(yè)[1]。作為計算機應用的一部分,使用計算機對教學平臺進行管理,
20、具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。教育信息化理念的出臺,使教務管理系統(tǒng)已開始設計并應用于教學管理中。高校學生數量急劇增加,有關高校學生各種信息量也成倍增長,高校學生信息的統(tǒng)計跟蹤工作量與工作難度亦在增長[2]。</p><p> 使用計算機對高校學生信息進行統(tǒng)一管理,具有手工管理無法比擬的優(yōu)點。使用計算機進行管理具有查找方便、數據處理快捷、
21、成本低等優(yōu)點。這些優(yōu)點能夠極大地提高高校學生信息管理的效率,也是高校的科學化、正規(guī)化管理的重要條件。</p><p> 在傳統(tǒng)模式下簡單利用計算機對高校學生信息進行統(tǒng)計跟蹤,存在著較多的缺點,這給高校管理者對學生的信息管理帶來了很大困難,嚴重影響了教育工作者的工作效率。隨著科學技術的不斷發(fā)展,計算機科學日漸成熟,網絡系統(tǒng)的優(yōu)化變得越來越重要,對高校研究生教學管理系統(tǒng)進行優(yōu)化,使高校師生更方便地使用此系統(tǒng),使繁瑣
22、的工作變得簡單有效,來實現高校學生的現代化管理[3]。</p><p> 1.2 系統(tǒng)優(yōu)化的硬件要求和軟件要求</p><p> 1.2.1 硬件要求</p><p> 開發(fā)環(huán)境硬件:P4以上計算機</p><p> CPU:Inter(R) Core(TM)2 Duo CPU 2.10GHz</p><p>
23、<b> HDD:300G</b></p><p> RAM: 256M內存以上</p><p> 1.2.2 軟件要求</p><p> 操作系統(tǒng):Windows XP/Windows 7。</p><p> 數據庫:SQL Server 2008。</p><p> 服務器:Tom
24、cat6.0。</p><p> 開發(fā)工具: Dreamweaver CS5。</p><p> 瀏覽器:IE9.0。</p><p><b> 2 技術概述</b></p><p><b> 2.1 數據庫介紹</b></p><p> SQL Server 2
25、008 在Microsoft的數據平臺上發(fā)布,可以組織管理任何數據??梢詫⒔Y構化、半結構化和非結構化文檔的數據直接存儲到數據庫中??梢詫祿M行查詢、搜索、同步、報告和分析之類的操作。數據可以存儲在各種設備上,從數據中心最大的服務器一直到桌面計算機和移動設備,它都可以控制數據而不用管數據存儲在哪里。</p><p> SQL Server 2008 允許使用 Microsoft .NET 和Visual Stu
26、dio開發(fā)的自定義應用程序中使用數據,在面向服務的架構(SOA)和通過 Microsoft BizTalk Server 進行的業(yè)務流程中使用數據。信息工作人員可以通過日常使用的工具直接訪問數據[4]。</p><p> 這個平臺有以下特點:</p><p> · 可信任的——使得公司可以以很高的安全性、可靠性和可擴展性來運行他們最關鍵任務的應用程序。</p>
27、<p> · 高效的——使得公司可以降低開發(fā)和管理他們的數據基礎設施的時間和成本。</p><p> · 智能的——提供了一個全面的平臺,可以在你的用戶需要的時候給他發(fā)送觀察和信息[5]。</p><p> 2.2 設計中JavaScript技術</p><p> Javascript是一種由Netscape的LiveScrip
28、t發(fā)展而來的原型化繼承的基于對象的動態(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務器端語言,比如Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。當時服務端需要對數據進行驗證,由于網絡速度相當緩慢,只有28.8kbps,驗證步驟浪費的時間太多。于是Netscape的瀏覽器Navigator加入了Javascript,提供了數據驗證的基本功能。</p><p> 基本信息編輯JavaScript是
29、一種基于對象和事件驅動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML(標準通用標記語言的子集)網頁添加動態(tài)功能,比如響應用戶的各種操作。它最初由網景公司(Netscape)的Brendan Eich設計,是一種動態(tài)、弱類型、基于原型的語言,內置支持類。JavaScript是Sun公司(已被oracle收購)的注冊商標。Ecma國際以JavaScript為基礎制定了ECMAScript標
30、準。JavaScript也可以用于其他場合,如服務器端編程。完整的JavaScript實現包含三個部分:ECMAScript,文檔對象模型,瀏覽器對象模型。</p><p> Netscape公司在最初將其腳本語言命名為LiveScript。Netscape在與Sun合作之后將其改名為JavaScript。JavaScript最初受Java啟發(fā)而開始設計的,目的之一就是“看上去像Java”,因此語法上有類似之處
31、,一些名稱和命名規(guī)范也借自Java。但JavaScript的主要設計原則源自Self和Scheme。JavaScript與Java名稱上的近似,是當時網景為了營銷[4]考慮與Sun公司達成協(xié)議的結果。為了取得技術優(yōu)勢,微軟推出了JScript腳本語言。Ecma國際(前身為歐洲計算機制造商協(xié)會)創(chuàng)建了ECMA-262標準(ECMAScript)?,F兩者都屬于ECMAScript的實現。盡管JavaScript作為給非程序人員的腳本語言,而
32、非是作為給程序人員的編程語言來推廣和宣傳,但是JavaScript具有非常豐富的特性。</p><p> JavaScript是一種解釋性的,基于對象的腳本語言(an interpreted,object-based scripting language)。HTML網頁在互動性方面能力較弱,例如下拉菜單,就是用戶點擊某一菜單項時,自動會出現該菜單項的所有子菜單,用純HTML網頁無法實現;又如驗證HTML表單(F
33、orm)提交信息的有效性,用戶名不能為空,密碼不能少于4位,郵政編碼只能是數字之類,用純HTML網頁也無法實現。要實現這些功能,就需要用到JavaScript[6]。</p><p> JavaScript主要是基于客戶端運行的,用戶點擊帶有JavaScript的網頁,網頁里的JavaScript就傳到瀏覽器,由瀏覽器對此作處理。前面提到的下拉菜單、驗證表單有效性等大量互動性功能,都是在客戶端完成的,不需要和W
34、eb Server發(fā)生任何數據交換,因此,不會增加Web Server的負擔[7]。</p><p> 2.3 級聯樣式表CSS</p><p> 級聯式樣式表 (CSS) 包含應用于 HTML 文檔中元素的樣式定義。CSS 樣式定義元素的顯示方式以及在頁中放置元素的位置??梢詣?chuàng)建一個通用規(guī)則,只要 Web 瀏覽器遇到一個元素實例,或是一個分配給某個樣式 CLASS 的元素,該規(guī)則就立
35、刻應用屬性,而不是將屬性逐個分配給頁中的每個元素。</p><p> CSS 樣式可以通過內聯方式放置在單個 HTML 元素內,也可以在 Web 頁 HEAD 部分的 <STYLE> 塊內加以分組,或從單獨的 CSS 樣式表文件中導入。同一個外部樣式表文件可鏈接到很多 Web 頁,從而使整個 Web 站點具有統(tǒng)一的外觀。</p><p> 若要在 HTML 設計器中使用 C
36、SS 樣式規(guī)則,必須將 HTML 文檔的 targetSchema 屬性設置為支持 HTML 4.0 或更高版本的 Web 瀏覽器。僅支持 HTML 3.2 或更低版本的舊版 Web 瀏覽器將只是忽略 CSS 樣式。如果將 targetSchema 屬性設置為舊版的 Web 瀏覽器,則集成開發(fā)環(huán)境 (IDE) 將隱藏那些僅在更高版本瀏覽器上可用的 CSS 選項和屬性。如果將 targetSchema 屬性設置為不支持 HTML 4.0
37、的瀏覽器,則 CSS 樣式規(guī)則將是為 HTML 元素指定所需外觀和位置的首選方法。</p><p> CSS是一種用來表現HTML或XML等文件樣式的計算機語言[8]。CSS目前最新版本為CSS3,是能夠真正做到網頁表現與內容分離的一種樣式設計語言。相對于傳統(tǒng)HTML的表現而言,CSS能夠對網頁中的對象的位置排版進行像素級的精確控制,支持幾乎所有的字體字號樣式,擁有對網頁對象和模型樣式編輯的能力,并能夠進行初步
38、交互設計,是目前基于文本展示最優(yōu)秀的表現設計語言。CSS能夠根據不同使用者的理解能力,簡化或者優(yōu)化寫法,針對各類人群,有較強的易讀性。</p><p><b> 3 界面優(yōu)化</b></p><p> 3.1 界面優(yōu)化的意義</p><p> 隨著人類社會的不斷發(fā)展,科學技術也日新月異地進步。新的網頁網頁瀏覽方式的出現,以其特殊的方式極
39、大程度地改變著我們的生活方式。網上聊天、網上購物、網上沖浪已不再是什么新鮮事,而成為了現代人日常生活中不可或缺的一部分。網絡正在逐步改變全球的通訊方式。</p><p> 網頁設計隨著網絡的發(fā)展而逐步受到人們的重視,它本身以網絡為載體,把各種信息以最快捷、最方便的方式傳達給人們。網頁設計是將技術性與藝術性融為一體的創(chuàng)造性活動。網頁設計是以功能性為第一指導原則,以技術因素為主要考慮對象,以完成或實現必要的功能為目
40、標。人們使用網絡的頻繁而變得非常的重要,界面優(yōu)化便顯得越來越重要。高校研究生而管理平臺是針對研究生學院進行一系列的設計,為方便高校師生的查詢和登錄,因此對界面進行優(yōu)化。</p><p> 網頁設計主要針對整個頁面的排版,觀察整體布局,規(guī)劃信息布局,使頁面看起來很美觀,提高用戶瀏覽網頁的速度。</p><p> 隨著網絡的飛速發(fā)展,網頁界面的設計也日益成為國內外學者關注的議題。網頁設計的
41、進行大致可以分為兩部分,一為網頁界面呈現方式的設計,另一則為瀏覽路徑的分析。從網絡的發(fā)展來看,網頁設計從無到有,從低級到高級,是基于技術的原因而受到客觀的限制的,因為受傳輸帶寬的限制,最早的網頁是純字母和數字的,沒有圖片和聲音更別說是動畫了,只能將占用空間很小的數字和字母來進行傳輸[9]。</p><p> 從用戶的角度來看待網頁設計,針對高校研究生教學管理平臺的界面優(yōu)化,本課題應該從研究生以及教師本身出發(fā),使
42、界面樸素而不單調,能夠使他們使用起來方便快捷,排除他們使用中的問題。在網絡特殊環(huán)境下,盡量以最高效率的方式將用戶所要想得到的信息傳送給他就是最好的,所以要去掉所有的冗余的東西,從而達到基本的目的。一個網站強調的就是一個整體,只有圍繞一個統(tǒng)一的目標所做的設計才是成功的。布局有條理,充分利用美的形式,是網頁富有可欣賞性,提高檔次。發(fā)揮網絡的優(yōu)勢,是每個使用者都參與到其中來,這樣的設計才能算成功的設計[10]。</p><
43、p> 3.2 界面優(yōu)化的技術介紹</p><p> MacromediaDreamweaver CS5是建立Web站點和應用程序的專業(yè)工具。它將可視布局工具、應用程序開發(fā)功能和代碼編輯支持組合在一起,其功能強大,使得各個層次的開發(fā)人員和設計人員都能夠快速創(chuàng)建基于標準的網站和應用程序的優(yōu)美界面。從對基于CSS的設計的領先支持到手工編碼功能,Dreamweaver提供了專業(yè)人員在一個集成、高效的環(huán)境中所需的
44、工具。開發(fā)人員可以使用Dreamweaver及所選擇的服務器技術來創(chuàng)建功能強大的Internet應用程序,從而使用戶能連接到數據庫、Web服務和舊式系統(tǒng)。</p><p> Dreamweaver具有靈活編寫網頁的特點,不但將世界一流水平的“設計”和“代碼”編輯器合二為一,而且在設計窗口中還精化了源代碼,能幫助用戶按工作需要定制自己的用戶界面。Dreamweaver是一種所見即所得的HTML編輯器,可實現頁面元
45、素的插入和生成??梢暬庉嫮h(huán)境大量減少了代碼的編寫,同時亦保證了其專業(yè)性和兼容性,并且可以對內部的HTML編輯器和任何第三方的HTML編輯器進行實時的訪問。無論用戶習慣手工輸入HTML(標準通用標記語言下的一個應用)源代碼還是使用可視化的編輯界面,Dreamweaver都能提供便捷的方式使得用戶設計網頁和管理網站變得更容易。</p><p> 當保存時系統(tǒng)自動檢查當前文檔的跨瀏覽器有效性,可以指定何種瀏覽器為測
46、試用瀏覽器,同時系統(tǒng)自動檢驗以確定頁面有沒有目標瀏覽器不支持的tags或CSS結構。動態(tài)跨瀏覽器有效性檢查功能可以自動核對tags和CSS規(guī)則是否適應目前的主瀏覽器。Dreamweaver CS5繼承了Fireworks、Flash和Shockwave的集成特性,可以在這些Web創(chuàng)作工具之間自由地切換,輕松地創(chuàng)建美觀實用的網頁??梢苑奖愕丶尤隞ava、Flash、Shockwave、ActiveX以及其他媒體。Dreamweaver具有
47、強大的多媒體處理功能,在設計DHTML和CSS方面表現得極為出色,它利用JavaScript和DHTML語言代碼輕松地實現網頁元素的動作和交互操作。</p><p> Dreamweaver還提供行為和時間線兩種控件來產生交互式響應和進行動畫處理。功能更多的CSS支持——CSS可視化設計、CSS檢查工具。開發(fā)人員可以使用Dreamweaver 及所選擇的服務器技術來創(chuàng)建功能強大的Internet 應用程序,從而
48、使用戶能連接到數據庫、Web 服務和舊式系統(tǒng)。開發(fā)環(huán)境支持HTML、ASP、ASP.NET、JSP等,提供眾多功能強大的可視化設計工具、應用開發(fā)環(huán)境以及代碼編輯支持。主要用于素材整理、排版以及后臺程序的交互。</p><p> 3.3 對研究生教學管理平臺的界面優(yōu)化</p><p> DreamWeaver, 自制動態(tài)HTML動畫的網頁.DreamWeaver是一個很酷的網頁設計軟件
49、,它包括可視化編輯、HTML代碼編輯的軟件包,這項技術使得網頁在DreamWeaver和HTML代碼編輯器之間進行自由轉換,HTML句法及結構不變。</p><p> 本次課題界面的優(yōu)化還用到了IFrame框架,IFrame其實就是內嵌的框架,是一個網頁來引用外部HTML的,他們之間的關系是父子的關系。IFrame不需要另外的頁面來定義框架結構,靈活性高</p><p> 登錄成功的界
50、面的優(yōu)化 </p><p> 登陸成功后的界面非常簡單,只是將其內容簡單的顯示出來,看起來很凌亂,沒有進行分類,如下圖所示。</p><p> 圖3-1優(yōu)化之前登錄成功的顯示界面</p><p> 通過工具對界面進行優(yōu)化,讓頁面內容以多級菜單的形式顯示出來,使優(yōu)化之后的界面看起來更清晰,頁面更美觀,如下圖所示。</p><p> 圖3
51、-2優(yōu)化之后登錄成功的顯示界面</p><p> 3.3.2 提前答辯申請界面的優(yōu)化 </p><p> 提前申請答辯的界面優(yōu)化之前很簡單,界面如下圖所示。</p><p> 圖3-3優(yōu)化之前提前答辯申請的顯示界面</p><p> 通過優(yōu)化,將信息內容緊湊的羅列出來,并使用下拉菜單進行選擇,使界面看起來更加清晰,使用起來比較方便,
52、優(yōu)化之后的界面如下圖所示。</p><p> 圖3-4優(yōu)化之后提前答辯申請的顯示界面</p><p> 3.3.3 提前申請論文答辯-已提交提前申請論文界面的優(yōu)化</p><p> 優(yōu)化之前的界面如下圖所示</p><p> 圖3-5優(yōu)化之前已提交申請論文的顯示界面</p><p> 使用單選按鈕進行選擇優(yōu)
53、化,使界面看起來更有調理,界面如下圖所示。</p><p> 圖3-6優(yōu)化之后已提交申請論文的顯示界面</p><p><b> 4 數據庫優(yōu)化</b></p><p> 4.1 數據庫優(yōu)化的意義</p><p> 隨著計算機技術的日益成熟,各種應用軟件已經涉及到各行各業(yè),數據管理已經占據一席地位。一個數據庫系
54、統(tǒng)的生命周期可以分成:設計、開發(fā)和成品三個階段。在設計階段進行數據庫性能優(yōu)化的成本最低,收益最大。在成品階段進行數據庫性能優(yōu)化的成本最高,收益最小。</p><p> 數據庫的優(yōu)化通??梢酝ㄟ^對網絡、硬件、操作系統(tǒng)、數據庫參數和應用程序的優(yōu)化來進行。最常見的優(yōu)化手段就是對硬件的升級。根據統(tǒng)計,對網絡、硬件、操作系統(tǒng)、數據庫參數進行優(yōu)化所獲得的性能提升,全部加起來只占數據庫系統(tǒng)性能提升的40%左右,其余的60%系
55、統(tǒng)性能提升來自對應用程序的優(yōu)化。許多優(yōu)化專家認為,對應用程序的優(yōu)化可以得到80%的系統(tǒng)性能的提升。</p><p><b> 數據庫優(yōu)化的意義:</b></p><p> (1)完善地管理各種數據庫對象,具有強大的數據組織、用戶管理、安全檢查等功能。 (2)強大的數據處理功能,在一個工作組級別的網絡環(huán)境中,使用Access開發(fā)的多用戶數據庫管理系統(tǒng)具有傳統(tǒng)
56、的XBASE(DBASE、FoxBASE的統(tǒng)稱)數據庫系統(tǒng)所無法實現的客戶服務器(Cient/Server)結構和相應的數據庫安全機制,Access具備了許多先進的大型數據庫管理系統(tǒng)所具備的特征,如事務處理/出錯回滾能力等。 (3)可以方便地生成各種數據對象,利用存儲的數據建立窗體和報表,可視性好。 </p><p> (4)作為Office套件的一部分,可以與Office集成,實現無縫連接。 &l
57、t;/p><p> (5)能夠利用Web檢索和發(fā)布數據,實現與Internet的連接。 Access主要適用于中小型應用系統(tǒng),或作為客戶機/服務器系統(tǒng)中的客戶端數據庫。</p><p> 今天,信息資源已成為各個部門的重要財富和資源。建立一個滿足各級部門信息處理要求的行之有效的信息系統(tǒng)也成為一個企業(yè)和組織生存和發(fā)展的重要條件。數據庫系統(tǒng)作為管理信息系統(tǒng)的核心,各種基于數據庫的聯機事務處理以
58、及聯機分析處理正慢慢的轉變成為計算機應用的最為重要的部分,根據以往大量的應用實例來看,在數據庫的各種操作中,查詢操作所占的比重最大,而在查詢操作中基于SELECT語句在SQL語句中又是代價最大的語句。如果在使用中采用了優(yōu)秀的查詢策略,往往可以降低查詢的時間,提高查詢的效率,由此可見查詢優(yōu)化在數據庫中的重要性。</p><p> 在程序中加載數據庫,采用優(yōu)秀的查詢策略,可以降低查詢的時間,也提高了查詢的效率,既方
59、便程序更好的運行,也便于用戶使用。由此可見查詢優(yōu)化在數據庫中的重要性。</p><p><b> 4.2 數據庫優(yōu)化</b></p><p> 4.2.1 提前答辯的E/R圖</p><p> 針對現有的高校研究生教學管理平臺,對研究生學院進行優(yōu)化,在數據庫中添加外鍵約束,使實體之間進行關聯,方便數據被訪問,表優(yōu)化后的E/R圖分析如下:&
60、lt;/p><p> 圖4-1 提前答辯的E/R圖</p><p> 4.2.2 提前答辯中詳細的表結構</p><p> 針對以前的數據庫表格,現增添了外鍵約束,如提前答辯表中的論文名稱字段作為研究生表的外鍵,方便數據進行檢索,使實體保持關聯,數據庫表如下:</p><p><b> 表4-1研究生表 </b>&l
61、t;/p><p><b> 表4-2專業(yè)表</b></p><p><b> 表4-3提前答辯表</b></p><p><b> 表4-4審核小組表</b></p><p><b> 表4-5導師表</b></p><p>
62、 4.2.3數據庫表結構的優(yōu)化</p><p> 在數據庫的基本表設計中,表的主鍵、外鍵在數據庫中占有非常重要的地位,它們與系統(tǒng)的運行性能密切相關。主鍵(Primary Key)也稱為主碼或主關鍵字,是表中用于唯一確定一個元祖的一個屬性或最小的屬性集合。一個表只有一個主鍵。主鍵應該有固定值(不能為Null或缺省值,要有相對穩(wěn)定性),不含代碼信息,容易被易訪問。把常用的列作為主鍵才有意義。外鍵(Foreign K
63、ey)一般出現在聯系所對應的關系中,用于表示兩個或是多個實體之間的關聯關系。外鍵的作用是建立關系型數據庫中表之間的關系,主鍵只能從獨立的實體遷移到非獨立的實體,成為后者的一個屬性,被稱為外鍵。數據庫約束是為了保證數據的完整性而實現的一套機制。比如,對于主鍵約束唯一且不為空。檢查約束范圍以及格式限制。 </p><p> 4.2.4 基于索引的優(yōu)化</p><p> 數據庫索引好比是一本
64、書后的索引,能加快數據庫的查詢速度?!±邕@樣一個查詢:SELECT * FROM TABLE1 WHERE ID=44。如果沒有索引,必須遍歷整個表,直到ID等于44的這一行被找到為止;有了索引之后(必須是在ID這一列上建立的索引),直接在索引里面找44,就可以得知這一行的位置,也就是找到了這一行??梢?,索引是用來定位的。</p><p> 索引分為聚簇索引和非聚簇索引兩種,聚簇索引是按照數據存放的物理位置為
65、順序的,而非聚簇索引就不一樣了;聚簇索引能提高多行檢索的速度,而非聚簇索引對于單行的檢索很快。</p><p> 創(chuàng)建索引可以大大提高系統(tǒng)的性能。第一,通過創(chuàng)建唯一性索引,可以保證數據庫表中每一行數據的唯一性。第二,可以大大加快數據的檢索速度,這也是創(chuàng)建索引的最主要的原因。第三,可以加速表和表之間的連接,特別是在實現數據的參考完整性方面特別有意義。第四,在使用分組和排序子句進行數據檢索時,同樣可以顯著減少查詢中
66、分組和排序的時間。第五,通過使用索引,可以在查詢的過程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能。</p><p> 數據庫的優(yōu)化方法多種多樣,不同的方法對提高數據庫查詢效率也不相同。索引作為數據庫中的重要數據結構,它的根本目的就是為了提高查詢的效率。而優(yōu)化查詢的重要方法就是建立索引,建立適合關系數據庫系統(tǒng)的索引,這樣就可以避免表掃描,并減少了因為查詢而造成的輸入輸出開銷,有效提高數據庫數據的查詢速度,優(yōu)化了數據庫性能
67、。然而在創(chuàng)建索引時也增加了系統(tǒng)時間和空間的開銷。所以創(chuàng)建索引時應該與實際查詢需求相結合,這樣才能實現真正的優(yōu)化查詢。</p><p> 索引的使用在一些大型數據庫系統(tǒng)中會經常使用到,這樣可以有效的提高數據庫性能,使數據庫的訪問速度得到提高。但索引的使用要恰倒好處,所以我們在使用索引時應遵守使用原則:建立索引可以提高數據庫的查詢速度,但索引過多,不但不能實現優(yōu)化查詢,反而會影響到數據庫的整體性能。索引作為數據庫中
68、實際存在的對象,每個索引都要占用一定的物理空間。所以對于索引的建立要考慮到物理空間容量,以及所建立索引的必要性和實用性。</p><p> 索引建立之后,還要確保其得到了真正的使用,發(fā)揮了其應有的作用。首先,可以通過SQL語句查詢來確定所建立的索引是否得到了使用,找出沒有使用到的索引。分析索引建立但沒有使用的原因,使其真正發(fā)揮作用。其次,索引得到使用以后,是否得到了預期的效果,對數據庫的性能是否實現了真正意義上
69、的提高,只有合理的索引才能真正提高數據庫的性能。</p><p><b> 語句一:</b></p><p> select count(teacher.tno) from teacher where((select count(*)from addtea where addtea.tno=teacher.tno)>0) </p><p
70、><b> 語句二:</b></p><p> select count(teacher.tno) from teacher where exists(select*from addtea where addtea.tno=teacher.tno) 這兩條查詢語句實現的結果是相同的,但是執(zhí)行語句A的時候,數據庫會對整個審查小組examination表進行掃描,沒有使用建立
71、在審查小組examination表上的tno索引,執(zhí)行語句B的時候,由于在子查詢中使用了聯合查詢,數據庫只是對審查小組examination表進行的部分數據掃描,并利用了tno列的索引,所以語句B的效率要比語句A的效率高一些。</p><p> 4.2.5優(yōu)化SQL語句</p><p> 在使用索引時可以有效的提高查詢速度,但如果SQL語句使用不恰當的話,所建立的索引就不能發(fā)揮其作用。
72、所以我們應該做到不但會寫SQL,還要寫出性能優(yōu)良的SQL語句。在進行查詢時,返回的值應該是查詢所需要的。在查詢中應該盡量減少對數據庫中的表的訪問行數,使查詢的結果范圍最小,這就意味著在查詢時,不能過多的使用通配符,如:select*from table1語句,而應該做到最小化查詢范圍,要查詢幾行幾列就選擇幾行幾列,如:select col1 from table1;多數情況下,用戶并不需要查詢到的所有數據,而只是部分或靠前的數據時,我們
73、也可以通過SQL語句來進行限制查詢的結果,如:select top 50 col1 from table1。對于一些特殊的SQL語句,在使用時應正確選擇。我們用一組例子來說明。</p><p> 語句A: select count(*) fom emp where sal<1000;</p><p> select count(*) fom emp where sal betwe
74、en 1000and5000; </p><p> select count(*) fom emp where sal5000;</p><p> 語句B: select </p><p> count(sale when sal<1000 then 1 else null end) count_
75、poor,count(sale when between1000 and 5000 then 1 else null end) </p><p> count_blue_collar,count(sale when sal>5000 then 1 else null end) count_poor from emp;</p><p> 兩個語句所得到的查詢結果是相同的,但語句二
76、的檢索效率要遠高于語句B,因為語句A在查詢中產生了大量的索引掃描。在對數據庫查詢時,所使用的語句多種多樣,但選擇恰當的的字句能夠有效的提高查詢效率。</p><p><b> 5 代碼優(yōu)化</b></p><p> 5.1 代碼優(yōu)化的意義</p><p> 所謂代碼優(yōu)化是指對程序代碼進行等價(指不改變程序的運行結果)變換。程序代碼可以是
77、中間代碼(如四元式代碼),也可以是目標代碼。等價的含義是使得變換后的代碼運行結果與變換前代碼運行結果相同。優(yōu)化的含義是最終生成的目標代碼短(運行時間更短、占用空間更?。?,時空效率優(yōu)化。原則上,優(yōu)化可以再編譯的各個階段進行,但最主要的一類是對中間代碼進行優(yōu)化,這類優(yōu)化不依賴于具體的計算機。</p><p> 編譯過程中可進行的優(yōu)化可按階段劃分:優(yōu)化可在編譯的不同階段進行,分為中間代碼一級和目標代碼一級的優(yōu)化??砂?/p>
78、優(yōu)化涉及的程序范圍劃分:對同一階段,分為局部優(yōu)化,循環(huán)優(yōu)化和全局優(yōu)化. 進行優(yōu)化所需要的基礎是對代碼進行數據流分析和控制流分析。如劃分DAG,查找循環(huán),分析變量的定值點和引用點等等。最常用的代碼優(yōu)化技術有刪除多余運算,循環(huán)不變代碼外提,強度削弱,變換循環(huán)控制條件,合并已知量與復寫傳播,以及刪除無用賦值等等。</p><p> 5.2 代碼優(yōu)化的實例</p><p> 5.2.1循環(huán)不變
79、量遷移</p><p> 針對提前答辯申請答辯的部分代碼,看起來很繁瑣,不變量檢索起來很費時間,代碼如下:</p><p> var c=Math.random(),d=Math.random(),x=Math.floor(Math.random()*2); </p><p> switch(x){ &
80、lt;/p><p> case 0: </p><p> alert(c*d); </p><p><b> break; </b></p><p> case 1: </
81、p><p> alert(c*d); </p><p><b> break; </b></p><p><b> } </b></p><p> 將它用一些縮寫性質來替代就能夠把代碼減少為下面這樣,兩者的實際效果是完全一樣的
82、:</p><p> var i,c=Math.random(),d=Math.random(),j; </p><p> for(var i=0;i<10;i++){ </p><p> j=c*d+10; </p><p><b&
83、gt; } </b></p><p> 5.2.2 遞歸算法</p><p> 對于斐波那契數列,通用公式為Fn=F(n-1)+F(n-2)(n>=2,n∈N*),直接循環(huán)計算一次就可以獲得所需的值。優(yōu)化前的代碼如下:</p><p> public static int Calculat
84、eFibonacciSequence(int index) { if (index <= 0) {
85、0; return 0; }
86、160; if (index == 1 || index == 2){ return 1;
87、60; } return CalculateFibonacciSequence(index - 1) + CalculateFibonacciSequence(in
88、dex - 2); }</p><p> 用遞歸算法來計算的話,有很多重復性的操作,采用數組相對來說,效率更高,最終算法如下:</p><p> public static int CalculateFibonacciSequence(int
89、 index){ if (index <= 0) {
90、60;return 0; } if (index == 1 || index ==
91、 2) { return 1; } &
92、#160; int[] fibonacciArray = new int[index]; fibonacciArray[0] = 1;
93、60; fibonacciArray[1] = 1; for (int innerIndex = 2;
94、160;innerIndex < fibonacciArray.Length; innerIndex++) { fibonacciArray[innerIndex] = fibona
95、cciArray[innerIndex - 1] + f</p><p><b> 總結</b></p><p> 這次畢業(yè)設計讓我更加熟悉了從理論到實踐的跨越。從當初的查閱圖書,到現在的網站成功運行,這中間有很多值得回味的地方。通過這次畢業(yè)設計,使我重新認識到這門學科的重要性,在此過程中也鍛煉了我的意志,讓我在以后的學習、
96、生活中更有堅持不懈的精神去面對各種困難與挑戰(zhàn)。同時,也使自己在軟件應用方面有了很大的提高,爭取在以后的學習工作中,能在各方面都有更大的進步。</p><p> 人們總是對剛接觸的事情記憶猶新,我也不例外。記得專科的時候,我選擇了delphi語言作為自己與計算機的交流媒介,當時好奇的心理不亞于我對PHP的興趣。我本以為我學好了這門計算機編程語言就擁有了全世界,可是隨著視野的不斷開闊,課程的不斷更新,我慢慢了解了懂
97、得一門語言真的是冰山一角,在計算機的世界里,只要你有興趣,總會有太多的新奇吸引著你。</p><p> 整個過程中,從需求分析到設計,我都力求規(guī)范化和文檔化,努力讓自己以前學的知識運用到本網站的優(yōu)化中,盡量保證整個系統(tǒng)的開發(fā)進度和質量,順利完成這次的畢業(yè)設計,為自己的大學生涯畫上一個完美的句號。</p><p> 我希望,通過這次畢業(yè)設計的體會,能夠使我在開發(fā)學生管理系統(tǒng)水平上更進一步
98、,在思維上更富有邏輯性,在處事上更嚴謹,在面對錯誤或失誤時更冷靜,將自己的人生看作是一次教學系統(tǒng)的開發(fā)過程,不斷的對自己進行需求分析和設計,編寫自己以后的生活,由于知識水平有限,所以該系統(tǒng)還有許多不盡如人意的地方,望提出寶貴意見!</p><p><b> 致謝</b></p><p> 經過幾個月的時間終于完成了畢業(yè)設計的相關事項,從最初的茫然,到慢慢的進入狀態(tài)
99、,再到對思路逐漸的清晰,整個寫作過程難以用語言來表達。歷經了幾個月的奮戰(zhàn),緊張而又充實的畢業(yè)設計終于落下了帷幕?;叵脒@段日子的經歷和感受,我感慨萬千,在這次畢業(yè)設計的過程中,我擁有了無數難忘的回憶和收獲。</p><p> 腳踏實地,認真嚴謹,實事求是的學習態(tài)度,不怕困難、堅持不懈、吃苦耐勞的精神是我在這次設計中最大的收益。我想這是一次意志的磨練,是對我實際能力的一次提升,也會對我未來的學習和工作有很大的幫助。
100、</p><p> 在這次畢業(yè)設計中也使我們的同學關系更進一步了,同學之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我的同學。 </p><p> 在此更要感謝我的導師李閱歷老師,是你們的細心指導和關懷,使我能夠順利的完成畢業(yè)論文。在我的學業(yè)和論文的研究工作中無不傾注著老師們辛勤的汗水和心血。老師的嚴謹治學態(tài)度、淵博的知識、無私的奉
101、獻精神使我深受啟迪。從尊敬的導師身上,我不僅學到了扎實、寬廣的專業(yè)知識,也學到了做人的道理。在此我要向我的導師致以最衷心的感謝和深深的敬意。 </p><p><b> 參考文獻</b></p><p> [1] 李剛,《瘋狂Java講義》.北京:電子工業(yè)出版社,2012</p><p> [2] 劉乃麗JavaEE項目案例-基于Ecli
102、pse Spring Struts Hibernate. 人民郵電出版社,2008</p><p> [3] 數據庫系統(tǒng)基礎教程 機械工業(yè)出版社</p><p> [4] Allen Holub,If I were King: A proposal for fixing the Java programming language's threading problems,20
103、08</p><p> [5] Renaud Pawlak,JAC: A Flexible Solution for Aspect-Oriented Programming in Java,201</p><p> [6] 張桂珠 劉麗 陳愛國 Java面向對象程序設計(第2版)北京郵電大學出版社</p><p> [7] 魏強,JSP技術簡介及發(fā)展前景. 裝
104、備制造技術, 2008.7 p15</p><p> [8] 昊斯特曼,《Java核心技術》.北京:機械工業(yè)出版社,2008</p><p> [9] http://wen ku.baidu.com/view/10c9d88dcc22bcd126ff0c20.html</p><p> [10]http://baike.baidu.com/view/16168
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高校研究生教學管理平臺-非全日制研究生培養(yǎng)的設計與優(yōu)化
- 軟件工程畢業(yè)論文-高校研究生教學管理平臺-研究生培養(yǎng)的設計與優(yōu)化
- 軟件工程畢業(yè)論文-高校研究生教學管理平臺-非全日制研究生培養(yǎng)的設計與優(yōu)化
- 高校研究生培養(yǎng)管理研究.pdf
- 廣東研究生聯合培養(yǎng)管理平臺
- 研究生教學管理系統(tǒng)畢業(yè)設計論文
- 武漢大學研究生課程教學管理規(guī)定
- 研究生居住行為與研究生宿舍優(yōu)化設計
- 研究生教學管理系統(tǒng)的設計與開發(fā)畢業(yè)設計論文
- 研究生教學管理系統(tǒng)的設計與開發(fā)畢業(yè)設計論文
- 高校隱性知識管理與研究生培養(yǎng).pdf
- 研究生居住行為與研究生宿舍優(yōu)化設計.pdf
- 海南大學研究生課程教學管理規(guī)定(試行)
- 西南大學研究生課程教學管理規(guī)定(試行)
- 基于Web環(huán)境的研究生教學管理系統(tǒng)的設計與實現.pdf
- 基于WEB的在職研究生教學管理系統(tǒng)的設計與實現.pdf
- 83080.基于saas的研究生教學管理系統(tǒng)的設計與實現
- EMBA研究生教學管理信息系統(tǒng)的設計與實現.pdf
- 遼寧大學碩士研究生教學管理規(guī)定
- 碩士研究生課程教學管理研究——以湖南某高校為個案.pdf
評論
0/150
提交評論