国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SQL查詢虛擬實驗系統(tǒng)設(shè)計及實現(xiàn)方法研究

2018-07-12 10:42嚴傳波孫靜木拉提·哈米提畢雪華姬金虎
電腦知識與技術(shù) 2018年12期
關(guān)鍵詞:虛擬實驗實驗教學(xué)數(shù)據(jù)庫

嚴傳波 孫靜 木拉提·哈米提 畢雪華 姬金虎

摘要:SQL查詢實驗教學(xué)是數(shù)據(jù)庫課程教學(xué)的重要組成部分。傳統(tǒng)SQL實驗教學(xué)在實驗機房進行,為方便學(xué)生課外自主學(xué)習(xí),解決數(shù)據(jù)庫SQL實驗受時間、空間的限制。文章闡述了基于Web的數(shù)據(jù)庫SQL查詢虛擬實驗系統(tǒng)的功能模塊、體系結(jié)構(gòu)及實現(xiàn)方法。該系統(tǒng)可以模擬完成SQL語句的增、刪、改、查實驗及運行結(jié)果的實時模擬顯示。系統(tǒng)可查看SQL實驗題歷次書寫記錄,幫助學(xué)生分析SQL語句出錯的原因,從而理解掌握SQL語句。系統(tǒng)達到了SQL虛擬實驗的教學(xué)目的,更新了數(shù)據(jù)庫實驗教學(xué)的實驗方法,對進一步提高數(shù)據(jù)庫課程教學(xué)水平有一定的參考意義。

關(guān)鍵詞:數(shù)據(jù)庫;SQL查詢;虛擬實驗;實驗教學(xué)

中圖分類號 TP391.6 文獻標識碼:A 文章編號:1009-3044(2018)12-0011-03

Abstract: SQL query experiment is an important part of database course teaching. The traditional SQL experiment is carried out in the laboratory with the limitation of time and space. In order to facilitate students' independent learning, the virtual experiment system for SQL query based on the Web is designed, including the functional module, system structure and implementation. The SQL statement experiment of create, drop, update and select can be completed in this virtual system, and the results are real-time displayed. The process records of writing SQL sentence can be viewed to help student analyze the reasons for the errors in the experiment. So then, the student can further understand and master the SQL statement. The virtual system achieves the purpose of SQL experiment teaching, updates the experiment method, and has the great significance to improve the teaching level of the database.

Key words: Database, SQL query, virtual experiment system, experiment teaching

實驗教學(xué)是理工類課程的教學(xué)環(huán)節(jié)中一個不可忽視的重要內(nèi)容,對培養(yǎng)大學(xué)生的創(chuàng)新能力、綜合素質(zhì)意義重大[1]。隨著網(wǎng)絡(luò)化和信息化的發(fā)展,傳統(tǒng)的實驗室教學(xué)已經(jīng)逐漸不能滿足教學(xué)的需要;構(gòu)建虛擬實驗平臺作為傳統(tǒng)實驗教學(xué)的有效補充,通過“虛實結(jié)合”,實現(xiàn)實驗教學(xué)手段和教學(xué)模式的多元化[2-3], 對上課時間沒有掌握的課程內(nèi)容,可以在業(yè)余時間學(xué)習(xí),在寬松的環(huán)境下實現(xiàn)學(xué)生的自主學(xué)習(xí),拓寬學(xué)生的學(xué)習(xí)途徑。與傳統(tǒng)實驗相比,虛擬實驗具有成本低、效率高、不受時間和空間的限制等特點[4-6]。虛擬實驗還可根據(jù)學(xué)生的不同操作情況提供個性化的反饋,及時向?qū)W生傳遞信息,保持學(xué)習(xí)的持續(xù)性,防止學(xué)習(xí)過程的脫節(jié)和錯誤的累積[7]。當前,構(gòu)建基于網(wǎng)絡(luò)的虛擬實驗平臺已逐漸成為發(fā)展趨勢,已經(jīng)研制和出現(xiàn)了許多課程的虛擬實驗教學(xué)平臺并用于教學(xué),取得了良好的教學(xué)效果[8-10]。

1 SQL實驗教學(xué)存在的問題

當前,數(shù)據(jù)庫技術(shù)應(yīng)用已深入到社會生活的方方面面。數(shù)據(jù)庫是一項重要的信息處理技術(shù),數(shù)據(jù)庫課程已經(jīng)成為信息管理專業(yè)學(xué)生必修的專業(yè)基礎(chǔ)課程之一。數(shù)據(jù)庫實驗教學(xué)是數(shù)據(jù)庫課程教學(xué)的重要內(nèi)容,對學(xué)生理解數(shù)據(jù)庫的數(shù)據(jù)模型、體系結(jié)構(gòu)、數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)查詢、事務(wù)處理、事務(wù)并發(fā)等相關(guān)知識有重要的輔助作用。各學(xué)校數(shù)據(jù)庫課程傳統(tǒng)的實驗教學(xué)方式是在實驗中心機房,通過臺式計算機的數(shù)據(jù)庫管理系統(tǒng)完成SQL查詢實驗及其他子功能的學(xué)習(xí)。傳統(tǒng)實驗教學(xué)方法優(yōu)點在于學(xué)生可以對數(shù)據(jù)庫各子功能有全面切身體驗,對數(shù)據(jù)庫SQL語法、書寫格式、語句執(zhí)行結(jié)果有真實的感受,從而快速掌握SQL查詢語句的使用,對數(shù)據(jù)庫理論知識的理解也更加深刻;不足之處是實驗課時少,只能在實驗中心機房進行實驗,課外時間無法進行,這對一部分動手能力弱的學(xué)生來說,很難按時完成教師布置的實驗任務(wù)。針對這些問題,設(shè)計和構(gòu)建基于Web的數(shù)據(jù)庫SQL虛擬實驗環(huán)境,使數(shù)據(jù)庫SQL實驗突破時間、空間的限制,已成為現(xiàn)實迫切需要。人們對基于網(wǎng)絡(luò)的數(shù)據(jù)庫虛擬實驗平臺研究也一直在進行,研究目標是構(gòu)建一個全仿真的數(shù)據(jù)庫實驗平臺,完全實現(xiàn)數(shù)據(jù)庫對象的操作如用戶授權(quán)、創(chuàng)建、查詢、更新、修改、備份和恢復(fù)等復(fù)雜功能[11-13],而傳統(tǒng)的數(shù)據(jù)庫課程實驗教學(xué)重點是讓學(xué)生掌握SQL查詢語句的語法及功能,對數(shù)據(jù)庫其他功能不作為實驗的重點。因此,文章將問題簡化,設(shè)計和構(gòu)建基于Web的數(shù)據(jù)庫SQL增、刪、改、查的數(shù)據(jù)庫虛擬實驗系統(tǒng),僅用于模擬數(shù)據(jù)庫的SQL查詢實現(xiàn)。經(jīng)過研究和設(shè)計,系統(tǒng)基本可實現(xiàn)數(shù)據(jù)庫SQL語句的輸入、運行及查詢結(jié)果顯示,學(xué)生還可查看和追溯學(xué)生實驗題答題的歷史記錄,使學(xué)生可以更好地分析SQL語句出錯的原因,從而理解掌握SQL語句,實現(xiàn)了實驗教學(xué)目的。

2 基于Web的SQL查詢虛擬實驗系統(tǒng)設(shè)計分析

2.1 系統(tǒng)功能模塊設(shè)計

數(shù)據(jù)庫SQL虛擬實驗系統(tǒng)主要根據(jù)數(shù)據(jù)庫課程的實驗教學(xué)內(nèi)容,模擬數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)SQL語句的輸入、運行及查詢結(jié)果顯示,忽略數(shù)據(jù)庫、表、視圖等對象的創(chuàng)建、數(shù)據(jù)庫授權(quán)、備份和恢復(fù)等功能,這樣一方面可正常開展網(wǎng)上數(shù)據(jù)庫實驗教學(xué),另一方面又有利于降低SQL虛擬實驗系統(tǒng)的復(fù)雜性,減小系統(tǒng)開發(fā)難度,提高系統(tǒng)可靠性。系統(tǒng)應(yīng)具有用戶管理、實驗題管理、數(shù)據(jù)庫實驗、數(shù)據(jù)庫實驗結(jié)果查看、歷史回溯等功能。系統(tǒng)功能模塊如圖1所示。

2.2 系統(tǒng)架構(gòu)設(shè)計

Java是一種簡單、體系架構(gòu)無關(guān)的面向?qū)ο蟪绦蛟O(shè)計語言。Java開發(fā)的程序具有安全可靠、平臺無關(guān)、可移植性好、系統(tǒng)功能容易擴展等特點。因此,系統(tǒng)架構(gòu)采用Java Servlet+JSP+Css+Jquery+SQL2008的簡化版MVC模式設(shè)計,其中,模型M由SQL實驗題Dao、VO對象構(gòu)成,實現(xiàn)SQL語句對實驗數(shù)據(jù)庫的增、刪、改、查。JSP、Css和Jquery實現(xiàn)SQL語句查詢及結(jié)果數(shù)據(jù)的顯示,Java Servlet完成數(shù)據(jù)庫SQL虛擬實驗的相關(guān)邏輯控制。Java Servlet只運行在服務(wù)器端,具有安全可靠、穩(wěn)定性好,可擴展性高等特點。通過這種簡化的MVC模式,可以快速實現(xiàn)輕量級的基于Web的數(shù)據(jù)庫SQL語句虛擬實驗應(yīng)用,而且功能界面清晰,便于維護,代碼重用性好,功能擴展容易。簡化版的SQL查詢虛擬實驗系統(tǒng)MVC模式架構(gòu)如圖2所示。

3 SQL查詢虛擬實驗系統(tǒng)的實現(xiàn)

基于Web的數(shù)據(jù)庫SQL虛擬實驗的核心是如何模擬數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)SQL語句查詢Select、插入Insert、修改Update和刪除Delete等語句的解釋和執(zhí)行,并將查詢結(jié)果實時仿真的顯示在客戶端,使學(xué)生感覺虛擬實驗與真實的課堂實驗環(huán)境一致,達到學(xué)生課內(nèi)課外均可完成指定的數(shù)據(jù)庫查詢實驗,突破實驗受時間、空間的限制。實驗系統(tǒng)根據(jù)SQL查詢性質(zhì)將實驗分為兩類,一類是Select語句實驗,只檢索數(shù)據(jù),返回數(shù)據(jù)庫表的檢索結(jié)果,不修改實驗數(shù)據(jù)庫數(shù)據(jù),查詢結(jié)果對其他學(xué)生實驗不造成影響;另一類是更新語句,如Insert、Update、Delete、Create、Alter、Drop等語句,可能會修改實驗數(shù)據(jù)庫的表、數(shù)據(jù)、視圖等信息,查詢結(jié)果可能對其他學(xué)生進行SQL實驗造成影響。這兩種情況的SQL實驗需要加以區(qū)分,分別實現(xiàn)。SQL查詢虛擬實驗系統(tǒng)的查詢與更新語句實驗流程如圖3所示。

3.1 SQL查詢實驗的Select語句模擬

Select語句的查詢對象和查詢結(jié)果都是一個數(shù)據(jù)集合,其查詢結(jié)果可返回關(guān)系表的單行、多行或全部數(shù)據(jù),為防止數(shù)據(jù)返回過多,造成網(wǎng)絡(luò)擁塞,需要限制Select語句返回數(shù)據(jù)的行數(shù),如只返回數(shù)據(jù)前5行等。學(xué)生提交Select查詢語句實驗后,系統(tǒng)通過應(yīng)用服務(wù)器處理Select語句,根據(jù)數(shù)據(jù)庫返回的執(zhí)行結(jié)果,輸出查詢結(jié)果信息。若出錯,則將數(shù)據(jù)庫的SQL執(zhí)行錯誤信息以Json數(shù)據(jù)格式返回;若正確,則將查詢結(jié)果數(shù)據(jù)以Json數(shù)據(jù)格式返回,在前臺瀏覽器JSP網(wǎng)頁中以表格形式顯示出來,實現(xiàn)Select語句實驗的虛擬執(zhí)行。

3.2 SQL更新實驗的模擬實現(xiàn)

SQL虛擬實驗系統(tǒng)可以完成數(shù)據(jù)庫的更新實驗,包括SQL語句的Insert、Update、Delete等語句實驗。只不過更新實驗有可能會修改和刪除實驗數(shù)據(jù)庫的表、數(shù)據(jù)、視圖,而實驗數(shù)據(jù)庫對所有學(xué)生都是共享的,執(zhí)行數(shù)據(jù)庫更新實驗后,其他學(xué)生有可能就不能正常做實驗了,所以在進行SQL更新的Delete、Alter、Drop語句實驗時,需要做學(xué)生身份驗證,只有授信用戶才能執(zhí)行此類實驗。在學(xué)生提交SQL更新語句實驗后,系統(tǒng)通過應(yīng)用服務(wù)器處理和執(zhí)行更新語句,根據(jù)數(shù)據(jù)庫返回的執(zhí)行結(jié)果,輸出更新正確或出錯的結(jié)果信息。若正確,則統(tǒng)一將“更新成功”的信息以Json數(shù)據(jù)格式返回;若有錯,則將DBMS返回的語法錯誤信息以Json數(shù)據(jù)格式返回。最后在前臺瀏覽器JSP網(wǎng)頁中顯示出來,實現(xiàn)SQL更新語句實驗的虛擬執(zhí)行。

3.3 SQL實驗的歷史回溯

學(xué)生在進行SQL查詢實驗時,一般要經(jīng)歷若干次嘗試,才能正確完成實驗。為使學(xué)生能查看他自己實驗題的做題過程,SQL虛擬實驗系統(tǒng)可將學(xué)生每次SQL實驗題所寫的SQL語句和查詢結(jié)果保存在數(shù)據(jù)庫中,實驗后可以查閱當前實驗題過程中出現(xiàn)的錯誤及修正方法。通過學(xué)生閱讀SQL實驗題從運行出錯開始,不斷糾錯,最終得到正確的執(zhí)行結(jié)果的多次切實體驗,使學(xué)生掌握數(shù)據(jù)庫SQL語句的語法、書寫規(guī)則及執(zhí)行過程,從而達到數(shù)據(jù)庫SQL實驗的教學(xué)目的。學(xué)生SQL實驗題的Select語句和更新語句的實驗歷程如圖4所示。

基于Web的SQL查詢虛擬實驗系統(tǒng)還不能完全模擬數(shù)據(jù)庫管理系統(tǒng)的所有SQL語句。實驗時共享實驗數(shù)據(jù)庫,在數(shù)據(jù)庫并發(fā)狀態(tài)下,進行查詢、插入、修改、刪除時會互相影響,這可以加深學(xué)生對數(shù)據(jù)庫并發(fā)的認識,但另一方面,可能會降低系統(tǒng)性能。為防止實驗數(shù)據(jù)庫表的結(jié)構(gòu)和數(shù)據(jù)被修改或刪除,造成其他學(xué)生實驗不能繼續(xù)進行,系統(tǒng)對部分SQL語句功能做了限制,只有授信用戶方可進行此類實驗。

4 結(jié)束語

SQL查詢實驗是數(shù)據(jù)庫實驗的重要內(nèi)容。為使學(xué)生課內(nèi)課外都可自主學(xué)習(xí),解決數(shù)據(jù)庫實驗受時間、空間的限制,本文采用Java Servlet+JSP+Css+Jquery+SQL2008相結(jié)合,創(chuàng)建了輕量級的基于Web的數(shù)據(jù)庫SQL語句虛擬實驗應(yīng)用,模擬了SQL語句的解釋和執(zhí)行過程。系統(tǒng)可以完成數(shù)據(jù)庫SQL語句實驗中增、刪、改、查及運行結(jié)果的實時顯示,達到了在因特網(wǎng)上自主學(xué)習(xí),隨時進行網(wǎng)上數(shù)據(jù)庫SQL虛擬實驗的教學(xué)目的。系統(tǒng)采用簡化版的MVC模式系統(tǒng)結(jié)構(gòu),功能界面清晰,擴展容易,更新了數(shù)據(jù)庫實驗教學(xué)的實驗方法,對進一步提高數(shù)據(jù)庫課程教學(xué)水平有一定的參考意義。

參考文獻:

[1] 薛琴.基于Packet Tracer的計算機網(wǎng)絡(luò)仿真實驗教學(xué)[J]. 實驗室研究與探索,2010, 29(2):57-59.

[2] 楊建良.電類基礎(chǔ)課程實驗教學(xué)“虛實結(jié)合”模式的構(gòu)建[J].實驗室研究與探索,2014,33(7):101-104,280.

[3] 張紹榮.論虛擬實驗平臺構(gòu)建的必要性[J].教育教學(xué)論壇,2015(31):259-260.

[4] 湯艷,秦小兵,覃凱,劉繼斌,鄭金平.淺談虛擬實驗技術(shù)與醫(yī)學(xué)實驗教學(xué)[J].中國高等醫(yī)學(xué)教育,2016(4):66-67.

[5]金偉祖,姚熠賜,陳顯濤.在線虛擬實驗及教學(xué)一體化平臺構(gòu)建思想及實踐[J].實驗室科學(xué),2015,18(3):125-129.

[6] 田婧,羅通,羅華鋒,鄒太和. 新建本科院校虛擬仿真實驗室的建設(shè)及教學(xué)[J]. 實驗科學(xué)與技術(shù), 2015, 13(6): 219-222.

[7] 李宇佳,楊雪.非理性用戶模型在虛擬實驗中的構(gòu)建與應(yīng)用[J].現(xiàn)代遠程教育研究,2014(2):107-112.

[8] 蔣嘉燁,栗源,可燕.中醫(yī)藥院校分子生物學(xué)虛擬實驗建設(shè)及應(yīng)用[J].實驗技術(shù)與管理,2016,33(12):174-176.

[9] 邱燕春.虛擬實驗在運動人體科學(xué)開放性實驗教學(xué)中的應(yīng)用[J].實驗室研究與探索,2015,34(7):114-116.

[10] 馬麗,姚彤煒,余露山,吳永江,汪建元.遠程藥物分析虛擬實驗教學(xué)探索[J].實驗技術(shù)與管理,2013,30(9):149-152.

[11] 呂清嬌.基于Web技術(shù)的Oracle數(shù)據(jù)庫實驗平臺的研究與實現(xiàn)[D].湖南:中南大學(xué),2011:1-61.

[12] 楊瑛瑛.數(shù)據(jù)庫虛擬實驗室的研究與實現(xiàn)[D].湖南:中南大學(xué),2013:1-58.

[13] Y. Hou and F. Wang, "Web-based virtual laboratory for mechanical engineering," 2010 5th International Conference on Computer Science & Education, Hefei, 2010, pp. 1601-1604.

猜你喜歡
虛擬實驗實驗教學(xué)數(shù)據(jù)庫
電容器的實驗教學(xué)
虛擬現(xiàn)實技術(shù)在初中物理實驗教學(xué)中的應(yīng)用
幾何體在高中數(shù)學(xué)實驗教學(xué)中的應(yīng)用