999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Moodle的數據庫SQL在線測評系統

2022-06-15 06:30:58呂春利夏若塵孫瑞志
教育現代化 2022年24期
關鍵詞:數據庫課程系統

呂春利,夏若塵,孫瑞志

(1.中國農業大學 信息與電氣工程學院,北京; 2.中國農業大學煙臺研究院,山東 煙臺)

數據庫原理與實踐是計算機課程學習的一門核心專業課程,旨在通過SQL結構化查詢語言的教學培養學生的數據管理與查詢能力。隨著數據科學的發展,許多大學都在MOOCs平臺上開設了該門課程。但作為一門重實踐練習的課程,MOOCs交互水平低的不利條件使得該課程難以達到理想的教學效果[1-2]。自動測評系統的應用可以彌補這一不足之處。

語義篩查和結果比對是自動測評的兩大實現方式[3]。語義篩查需要根據學科特征構建完整的語義樹,搭建過程較為復雜。鑒于SQL語言是一種非過程化編程語言,編寫十分靈活,以往的大多數自動測評系統都采用了結果對比方式,但都存在學生錯誤答案沒有及時的修改反饋的問題[4-6]。除此之外,由于SQL語句增刪改部分的練習會對預設的數據庫數據做出改動,為維持長久使用,需對數據進行恢復。現有的自動測評系統也缺少該部分的設計[7-8]。本文針對以上不足,基于存儲過程設計了反饋方案和恢復方案,并采用Moodle平臺構建了一個即登即用的在線測評系統和題庫,極大地提高了數據庫原理與實踐的教學效率。

一 功能創新

(一) 反饋

本系統除了可以實現學生SQL代碼正誤評判外,還可以詳細提示學生代碼中存在的錯誤。詳細的錯誤信息包含以下類別:(1)語法錯誤;(2)字段缺失或字段多余;(3)記錄缺失或記錄多余。語法錯誤的 SQL 語句無法被后臺數據庫所執行,本系統將后臺數據庫提供的錯誤信息返回到前臺。當學生代碼的語法正確時,仍然可能出現以上(2)(3)所述情況。學生在自行創建數據庫進行練習時容易忽視這類問題。借助本系統,學生可以很方便發現自己代碼結果中存在的缺陷,并及時進行改正。

(二) 恢復

由于增刪改部分的題目在執行后會改動數據庫數據,影響其他查詢題目和后續同學的使用,因此要對表單做恢復處理。以往的部分系統設計種采用回滾操作執行此操作,但MySQL rollback回滾函數僅能在未commit之前提交,因此需要關閉autocommit,對每項事務進行手動提交之后再次回滾。而整個課程體系的題庫都采用同一個數據庫,關閉autocommit會加倍出題工作量和代碼執行效率。因此本文采用存儲過程加刷新備份表單的方式解決增刪改部分題目的數據恢復。

二 系統實現

在此之前已開發的系統均為單一課程系統,只能供數據庫原理與實踐這一門課使用,無法與其他課程的資源合并到同一個平臺,不利于學校或者教育機構管理及維護網站,而且其中的題目排列,更新及進度安排無法靈活調節,系統使用復雜。本文采用Moodle設計此門課程的自動測評。

Moodle(Modular Object-Oriented Dynamic Learning Environment)是一個用于制作網絡課程或網站自由的開源軟件包[9]。它是一個全球性的開發項目,用以支持社會建構主義(social constructionist)的教育框架[10]。此系統最大的特點即模塊化,網站的內容管理以課程為單位,在不同的課程之內可以個性化創建各種各樣的課程活動模塊——論壇、測驗、資源、投票、問卷調查、作業、聊天、專題討論[3]。平臺支持無限制的課程目錄創建,課程管理員可以在任何時候隨意創建,移動,下載,修改課程以及課程內容,還可以隨著課程的進度隱藏或者激活課程以及其內容。采用這種架構的系統完全可以滿足一個多課程并行,用戶規模大的教育需求。

通過開源商店下載安裝的Moodle基礎框架中已有各種功能模塊的基礎框架,使用者需要根據自身需求編寫填充內容,增加約束DIY更多個性化的功能。題目的自動測評主要通過利用Moodle平臺的在線評測活動組完成。此活動由四個基礎功能模塊組合完成--題目編寫模塊,代碼運行模塊,測試用例模塊,結果顯示模塊。

題目編寫模塊和測試用例模塊類似一個文檔小程序,教師分別在這兩部分編寫題目要求和參考答案。代碼運行模塊分為代碼前綴,代碼,代碼后綴三個部分。代碼為學生作業中提交的答案代碼,代碼的前后綴為教師或管理員編寫的代碼執行環境。系統在運行中會將三部分自動拼合成一段并且運行。Python作為一門優秀的“膠水語言”適宜于數據庫進行交互,因此在前后綴部分采用Python 3.5與后臺數據庫連接支持SQL語句運行。在代碼的前綴部分執行連接數據庫,調用存儲過程,在后綴部分執行抓取代碼運行結果。此被抓取的運行結果即代碼運行模塊的執行結果,該結果將被系統自動用于與測試用例模塊中預設答案的部分對比,然后給出評分和出錯原因并且將其顯示在結果顯示模塊中。

圖1 系統流程圖

(一) 初始化與數據恢復

對于查詢類語句,系統將在數據庫中用學生代碼和教師代碼分別創建視圖view_studybar_student和view_studybar_ans。視圖(VIEW)具有安全性、邏輯獨立性等優點,不對數據進行獨立存儲。從根本上來說,一個結果集恰對應著來自學吧的一條查詢語句。在測評初始化時,只需要刪除原先測評時創建的視圖,再重新創建即可。

而學生在執行增刪改操作后,會對表中數據造成污染,因此需要通過數據恢復以保證不同時候的操作都能得到相同的結果。為保證數據安全性,DBMS只能授權給學生特定表的非只讀操作權限。這里以student表為例說明,同時數據庫中已建立表結構與student表相同的student_table表和student_table_TEMP表。來自學吧平臺的用戶只有權限修改student_table表中的數據。當數據庫連接成功后,系統隨即調用存儲過程,為清空student_table表和student_table_TEMP表的數據,并分別把student表中的數據復制到這兩張表中。

(二) 字段正確性檢查

檢查字段正確性需要對比view_studybar_student和view_studybar_ans的字段是否一致。可借助MySQL的INFORMATION_SCHEMA數據庫獲取字段的詳細信息。主要代碼如下。

(三) 記錄正確性檢查

因為需對比的兩張表的表結構是動態的,所以需要利用INFORMATION_SCHEMA數據庫動態獲取字段信息,為達到使用要求還需對此結果用group_concat函數進行處理。隨后對比兩張表的記錄并向學吧平臺返回學生提交SQL結果集中的異常記錄。實現代碼如下。

三 題庫設計

題目是SQL語言練習的核心內容,也是影響在線測評系統實際應用的重要因素。由于SQL語言靈活可嵌套使用,一般的教學中所使用的題目都為獨立的單條SQL編寫練習。但實際應用中,數據庫語言需要支持前端網站或者軟件的功能等綜合操作,此外整體數據庫架構的設計學習更是重要[11]。因此本文采用情境式引導設計題庫,每道題目都有來自實際應用中的情境前提,明晰知識的使用范圍。學生在學習數據庫課程的初期需要廣泛學習語法細節,后期則需要完成具有一定綜合性的題目。設計一個兼顧廣度與深度的題庫也是本系統的任務。SQL查詢類題庫設計框架見表1。該查詢類題庫的設計思路既便于學生循序漸進學習,也可以為教師后續針對性補充題目提供參考。系統目前已有80余道題目,任課教師還可結合教學情況自行添加。

表1 SQL 查詢類題庫設計框架

四 結語

本系統已在中國農業大學雨虹學網投入測試使用,有效提升了學生在數據庫課程代碼練習的效率。根據Moodle官網統計數據,使用Moodle注冊的網站達104,230個,覆蓋225個國家,共開設19,475,559門課程,設計測試問題達1,733,094,640道[12]。中國目前許多高校的都采用Moodle搭建自己的計算機教學平臺,如中國農業大學雨虹學網,哈爾濱工業大學Moodle學習平臺,南京農業大學計算機軟件研究所課程網站等均采用Moodle搭建[13]。鑒于數據庫原理與應用此門課程在計算機教學中的重要性和其語言編寫的獨特性,本文提出的系統可供其他高校參考,建設或者完善此門課程的教學活動,減輕教師的負擔,給學生及時的學習反饋。此外,由于一些在線教學網站如MOOCs,菜鳥教程等都缺少一個配合教學內容的練習端,考核效率低,是這些平臺的共有的缺點。本文所采用的Moodle平臺黑盒測試的理念可供參考,以及本文提出的關于數據庫原理與實踐這門課程的評判反饋與恢復機制也可以用作參考建設和完善SQL結構化查詢語言的相關課程練習。

猜你喜歡
數據庫課程系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
數字圖像處理課程混合式教學改革與探索
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
為什么要學習HAA課程?
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 日韩在线欧美在线| 免费无码网站| 国产在线视频二区| 国产精品尤物铁牛tv| 欧美爱爱网| аⅴ资源中文在线天堂| 自偷自拍三级全三级视频| 亚洲va在线∨a天堂va欧美va| 国产精品久久久久鬼色| V一区无码内射国产| 久久久久免费看成人影片 | 成人毛片在线播放| 亚洲视频在线观看免费视频| 91蜜芽尤物福利在线观看| 福利国产微拍广场一区视频在线| 亚洲一区二区无码视频| 99精品免费欧美成人小视频| 久久综合婷婷| 99热国产在线精品99| 国产成人精品日本亚洲77美色| 色婷婷成人网| 99久久国产精品无码| 亚洲国产一区在线观看| 五月天天天色| 国产精品污污在线观看网站| 日韩精品一区二区三区大桥未久 | 国产精品v欧美| 啪啪国产视频| 国产91小视频| 亚洲综合极品香蕉久久网| 亚洲第一色网站| 亚洲一区二区三区中文字幕5566| 蝌蚪国产精品视频第一页| 精品久久香蕉国产线看观看gif| 在线免费无码视频| 国产清纯在线一区二区WWW| 在线观看免费AV网| 67194成是人免费无码| 国产精品永久不卡免费视频| 欧美另类视频一区二区三区| 精品久久国产综合精麻豆| 99久久国产综合精品2020| 亚洲全网成人资源在线观看| 伊人久久大线影院首页| 国产激情无码一区二区三区免费| 亚洲一级毛片| 精品人妻无码中字系列| 国产视频入口| 色噜噜久久| 成年人福利视频| 亚洲福利视频一区二区| 亚洲成a人片77777在线播放| 中文字幕中文字字幕码一二区| 一级看片免费视频| 91精品国产自产在线老师啪l| 亚洲成年人网| 国产精品无码制服丝袜| 找国产毛片看| 欧美午夜精品| 欧美人与性动交a欧美精品| 久久亚洲天堂| 欧美黄色网站在线看| 国产18在线播放| av在线人妻熟妇| 无码综合天天久久综合网| 久久夜色精品国产嚕嚕亚洲av| 国产午夜无码片在线观看网站| 国产午夜无码专区喷水| 亚洲欧美极品| 午夜激情婷婷| 婷婷丁香在线观看| 久久不卡精品| 丝袜无码一区二区三区| 亚洲第一成人在线| 青草精品视频| 青青热久免费精品视频6| 成人福利在线视频| 亚洲美女一区二区三区| 国产一区二区网站| 在线欧美日韩国产| 五月天福利视频| 无码一区二区波多野结衣播放搜索|