亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        課時(shí)管理系統(tǒng)數(shù)據(jù)庫(kù)查詢的優(yōu)化設(shè)計(jì)

        2019-06-12 06:14:08
        科技視界 2019年9期
        關(guān)鍵詞:應(yīng)用程序管理系統(tǒng)數(shù)據(jù)庫(kù)

        王 翔

        (中國(guó)民用航空飛行學(xué)院,四川 廣漢 618307)

        0 引言

        隨著中國(guó)民航事業(yè)的不斷發(fā)展, 對(duì)于專業(yè)技術(shù)性人才的需求正不斷的上升[1],實(shí)訓(xùn)基地教研室承擔(dān)著培養(yǎng)機(jī)務(wù)維修人員的教學(xué)任務(wù)。 然而在實(shí)際運(yùn)行中發(fā)現(xiàn),該教研室需要對(duì)不同模塊、不同學(xué)員、不同階段的課時(shí)進(jìn)行統(tǒng)計(jì), 統(tǒng)計(jì)過(guò)程數(shù)據(jù)繁雜, 為工作人員增加了大量的重復(fù)性工作。 為了配合教研室運(yùn)行電子化的要求,設(shè)計(jì)了課時(shí)管理系統(tǒng)。 在實(shí)際使用時(shí)發(fā)現(xiàn),系統(tǒng)在查詢課時(shí)信息時(shí)存在查詢時(shí)間長(zhǎng), 系統(tǒng)響應(yīng)慢等缺點(diǎn)。 因此,提升系統(tǒng)查詢效率成為目前亟需解決問(wèn)題。本文在介紹了系統(tǒng)設(shè)計(jì)構(gòu)架的基礎(chǔ)之上, 重點(diǎn)從訪問(wèn)模式優(yōu)化、 數(shù)據(jù)庫(kù)設(shè)計(jì)優(yōu)化和程序優(yōu)化三個(gè)方面闡述了系統(tǒng)優(yōu)化方法。 在實(shí)踐表明, 科室管理系統(tǒng)較之前在查詢效率上得到明顯提高。

        1 系統(tǒng)設(shè)計(jì)思路

        1.1 開(kāi)發(fā)準(zhǔn)備

        課時(shí)管理系統(tǒng)的主要目的是為了方便教師或者管理人員能夠快速、 準(zhǔn)確的查詢個(gè)人或者他人的課時(shí)數(shù)據(jù)。 軟件開(kāi)發(fā)需要使用的系統(tǒng)環(huán)境和開(kāi)發(fā)語(yǔ)言等因素直接影響到軟件開(kāi)發(fā)的可用性、適用性和時(shí)效性[2]。 因此合理選擇軟件開(kāi)發(fā)的資源是可以提高系統(tǒng)開(kāi)發(fā)的效率,達(dá)到事半功倍的效果。

        Windows 系統(tǒng)作為常用系統(tǒng)廣泛運(yùn)用于各教研室的系統(tǒng)辦公當(dāng)中, 為軟件的適用性打下基礎(chǔ)。 Visual Studio 因其完善的開(kāi)發(fā)界面、 完全支持拖動(dòng)方式設(shè)計(jì)窗體布局、 自動(dòng)生成各種窗體設(shè)計(jì)代碼等優(yōu)點(diǎn)得到廣大開(kāi)發(fā)者的認(rèn)同[3]。 C# 是Microsoft 重點(diǎn)推出的開(kāi)發(fā)語(yǔ)言,其結(jié)合了C 和C++的部分優(yōu)點(diǎn),去除指針等難于理解的概念,是一門易于學(xué)習(xí)和開(kāi)發(fā)的語(yǔ)言。MySQL 數(shù)據(jù)庫(kù)在安裝、 配置和后期維護(hù)等過(guò)程相對(duì)于其他數(shù)據(jù)庫(kù)來(lái)說(shuō)更加簡(jiǎn)單[4],并且MySQL 開(kāi)發(fā)源代碼,無(wú)授權(quán)費(fèi),因此MySQL 受到開(kāi)發(fā)者的廣泛青睞。

        根據(jù)目前現(xiàn)有的資源, 課時(shí)管理系統(tǒng)以成熟的Windows 作為開(kāi)發(fā)用操作系統(tǒng), 采用Visual Studio2017開(kāi)發(fā)工具,以C# 語(yǔ)言作為軟件開(kāi)發(fā)語(yǔ)言,結(jié)合MySQL數(shù)據(jù)庫(kù)系統(tǒng)發(fā)開(kāi)而成。

        圖1 系統(tǒng)架構(gòu)

        1.2 系統(tǒng)架構(gòu)

        系統(tǒng)程序架構(gòu)主要由三部分構(gòu)成, 分別是界面設(shè)計(jì)、應(yīng)用設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì),如圖1 所示。 界面設(shè)計(jì)主要面對(duì)用戶, 以界面簡(jiǎn)潔為基礎(chǔ), 容易操作為主要設(shè)計(jì)目標(biāo), 達(dá)到界面的人機(jī)友好的目的。 應(yīng)用程序設(shè)計(jì)包含著課時(shí)管理系統(tǒng)的核心功能, 包括各類信息的錄入、查詢功能,信息的篩選計(jì)算功能等。 應(yīng)用程序需要通過(guò)調(diào)用數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)數(shù)據(jù)的計(jì)算和存儲(chǔ)。

        圖2 系統(tǒng)界面截圖

        依據(jù)課時(shí)管理系統(tǒng)的七個(gè)功能, 以標(biāo)簽頁(yè)的形式將系統(tǒng)軟件設(shè)計(jì)設(shè)計(jì)成七個(gè)分頁(yè)。 分別是: 人員信息頁(yè)、班級(jí)信息頁(yè)、課程信息頁(yè)、課時(shí)查詢頁(yè)、課時(shí)費(fèi)查詢頁(yè)、 課時(shí)打印頁(yè)和反饋日志頁(yè)。 課程信息頁(yè)截圖如圖2 所示。

        1.3 數(shù)據(jù)庫(kù)設(shè)計(jì)

        數(shù)據(jù)庫(kù)設(shè)計(jì)主要是通過(guò)理解、 歸納和總結(jié)課時(shí)系統(tǒng)的需求, 設(shè)計(jì)不同的表來(lái)記錄系統(tǒng)的各類信息數(shù)據(jù)。 表是數(shù)據(jù)庫(kù)最基本的組成對(duì)象,是數(shù)據(jù)庫(kù)的實(shí)體。表與表之間的關(guān)系可以通過(guò)E-R 模型展示,方便在設(shè)計(jì)過(guò)程中對(duì)出現(xiàn)的問(wèn)題快速找到解決方案, 同時(shí)也便于日后數(shù)據(jù)庫(kù)的維護(hù)。 課時(shí)管理系統(tǒng)的E-R 模型如圖3 所示。

        圖3 課時(shí)管理系統(tǒng)E-R 圖

        2 查詢優(yōu)化

        2.1 訪問(wèn)模式優(yōu)化

        系統(tǒng)在查詢數(shù)據(jù)庫(kù)時(shí), 應(yīng)根據(jù)不同的情況采取不同的訪問(wèn)模式。 每一次應(yīng)用程序在需要查詢數(shù)據(jù)庫(kù)數(shù)據(jù)時(shí), 都需要打開(kāi)一次查詢函數(shù), 在使用完畢后需要釋放該函數(shù)以達(dá)到節(jié)約系統(tǒng)資源, 保證系統(tǒng)穩(wěn)定運(yùn)行。 因此每次查詢的開(kāi)銷都有固定最小值。 根據(jù)實(shí)際查詢需求, 單次查詢和批量數(shù)據(jù)查詢需要使用不同的查詢方法來(lái)達(dá)到優(yōu)化查詢的目的。

        對(duì)于單次查詢數(shù)據(jù)的讀取和寫入, ExecuteQuery(string sqlStr) 函數(shù)的功能是根據(jù)輸入的sqlStr 語(yǔ)句,讀取查詢得到的數(shù)據(jù)結(jié)果,并將結(jié)果以DataTable 的形式返回。 ExecuteUpdate(string sqlStr)函數(shù)的功能是根據(jù)輸入的sqlStr 語(yǔ)句,對(duì)相應(yīng)的數(shù)據(jù)進(jìn)行添加、刪除或者修改等功能,并將成功操作的次數(shù)以int 的形式返回。

        對(duì)于多次查詢數(shù)據(jù)的讀取和寫入, 如果依舊使用以上函數(shù)進(jìn)行操作, 雖然功能上可以實(shí)現(xiàn), 但多次打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)連接操作, 使得查詢花銷大大增加。因 此 需 要 重 新 構(gòu) 建 新 的 查 詢 函 數(shù) 。 DataSet ExecuteQuery DataSet(string sqlStr, string tablename) 函數(shù)的功能是根據(jù)輸入的sqlStr 語(yǔ)句, 讀取查詢得到的數(shù)據(jù)結(jié)果,并將結(jié)果以DataTable 的形式返回至DataSet 下名 稱 為tablename 的DataTable 中。 ExecuteUpdateDataTable(string sqlStr, string tablename, DataSet ds) 函數(shù)是將DataSet 下名稱為tablename 的DataTable 中的數(shù)據(jù)按照sqlStr 語(yǔ)句一次性寫入到數(shù)據(jù)庫(kù)中。 ExecuteDataTable(string sqlStr, DataTable dt) 函數(shù)是將DataTable 中的數(shù)據(jù)按照sqlStr 語(yǔ)句一次性寫入到數(shù)據(jù)庫(kù)中。

        2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)優(yōu)化

        合理、優(yōu)秀的數(shù)據(jù)庫(kù)基表設(shè)計(jì),直接影響到數(shù)據(jù)查詢的速度。 根據(jù)課時(shí)管理系統(tǒng)的主要功能, 將數(shù)據(jù)庫(kù)劃分為人員、班級(jí)、日期、課程、課程調(diào)整、補(bǔ)考、課程安排七個(gè)組件。 針對(duì)各自組件的業(yè)務(wù)處理需要設(shè)計(jì)獨(dú)立的數(shù)據(jù)庫(kù)基表, 最大限度減少不同表之間的關(guān)聯(lián)度,加快查詢的速度。

        遵循數(shù)據(jù)庫(kù)第三范式設(shè)計(jì)原則, 每個(gè)表中非關(guān)鍵字都直接關(guān)聯(lián)關(guān)鍵字, 并將關(guān)鍵字設(shè)為唯一主鍵。 然而在實(shí)際運(yùn)行時(shí), 為了提高查詢效率, 需降低范式標(biāo)準(zhǔn),適當(dāng)保留若干冗余數(shù)據(jù),實(shí)現(xiàn)方法為增加字段,以空間換時(shí)間的方式實(shí)現(xiàn)查詢的高效性[5]。

        2.3 應(yīng)用程序優(yōu)化

        在應(yīng)用程序中需要查詢數(shù)據(jù)時(shí), 應(yīng)合理使用SQL操作符, 在保證檢索的準(zhǔn)確度的同時(shí)減少系統(tǒng)響應(yīng)的時(shí)間。 減少使用select * 的方式提取表中全部信息,應(yīng)根據(jù)實(shí)際計(jì)算需要, 將有效的字段列舉, 提高查詢效率。 根據(jù)數(shù)據(jù)的特點(diǎn),適當(dāng)使用如distinct、where、like 等操作符,結(jié)果以order by 升序或降序排列,使得查詢結(jié)果符合查詢預(yù)期, 檢索出所需的數(shù)據(jù)信息。 如果查詢時(shí)需要結(jié)合多個(gè)表聯(lián)合查詢, 可使用join 操作來(lái)實(shí)現(xiàn)多表的一次查詢。 Where 操作符在使用時(shí)不要在子句中加入函數(shù)計(jì)算, 數(shù)值運(yùn)算功能應(yīng)在應(yīng)用程序中單獨(dú)設(shè)立模塊,避免查詢數(shù)據(jù)時(shí)間過(guò)長(zhǎng)。

        3 結(jié)論

        課時(shí)管理系統(tǒng)在設(shè)計(jì)時(shí), 必須充分考慮教研室教師的查詢需求。 在符合需求的基礎(chǔ)之上, 優(yōu)化查詢效率是進(jìn)一步提高用戶的使用體驗(yàn)的主要手段。 本文結(jié)合訪問(wèn)模式、 數(shù)據(jù)庫(kù)設(shè)計(jì)和應(yīng)用程序優(yōu)化三個(gè)方面,優(yōu)化數(shù)據(jù)庫(kù)查詢效率。 目前該系統(tǒng)尚處在試用階段,根據(jù)使用者的體驗(yàn)反饋, 進(jìn)一步完善系統(tǒng)在查詢課時(shí)業(yè)務(wù)的體驗(yàn)。

        猜你喜歡
        應(yīng)用程序管理系統(tǒng)數(shù)據(jù)庫(kù)
        基于James的院內(nèi)郵件管理系統(tǒng)的實(shí)現(xiàn)
        刪除Win10中自帶的應(yīng)用程序
        基于LED聯(lián)動(dòng)顯示的違停管理系統(tǒng)
        海盾壓載水管理系統(tǒng)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        基于RFID的倉(cāng)儲(chǔ)管理系統(tǒng)實(shí)現(xiàn)
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        亚洲国产精品久久久av| 国产永久免费高清在线观看视频| 国产一区二区三区日韩精品| 国产在线观看视频一区二区三区| 无码孕妇孕交在线观看| 国产亚洲美女精品久久久| 欧美中出在线| av黄色大片久久免费| 国产做无码视频在线观看| 日本免费人成视频播放| 亚洲AⅤ樱花无码| 国产美女高潮流白浆视频| 亚洲色欲久久久综合网东京热| 国产午夜精品久久久久免费视 | 久久亚洲精品成人av观看| 国产精品黑丝高跟在线粉嫩| 免费人成网ww555kkk在线| 99ri国产在线观看| 国产自产在线视频一区| 亚洲av中文无码乱人伦在线观看| 公粗挺进了我的密道在线播放贝壳| 91情侣视频| 精品亚洲一区二区在线观看| 亚洲欧洲成人a∨在线观看| 久久综合精品国产丝袜长腿 | 白白在线免费观看视频| 风韵丰满熟妇啪啪区老熟熟女| 中文字幕无码av激情不卡| 国产在线天堂av| 久草视频这里只有精品| 无码人妻av免费一区二区三区| www插插插无码视频网站| 黄页免费人成网址大全| 真人抽搐一进一出视频| 大胆欧美熟妇xxbbwwbw高潮了| 超高清丝袜美腿视频在线| 澳门蜜桃av成人av| 亚洲性啪啪无码av天堂| 春色成人在线一区av| 国产三级av大全在线爽| 18禁无遮拦无码国产在线播放 |