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

        ?

        國產(chǎn)化時代的數(shù)據(jù)庫原理教學與實踐改革

        2023-01-02 12:07:12彭煜瑋彭智勇
        軟件導(dǎo)刊 2022年11期
        關(guān)鍵詞:事務(wù)語句案例

        劉 斌,彭煜瑋,余 琍,彭智勇

        (武漢大學計算機學院,湖北武漢 430072)

        0 引言

        數(shù)據(jù)庫原理是計算機專業(yè)的一門核心課程,數(shù)據(jù)庫技術(shù)的快速發(fā)展,給該課程教學帶來了許多新挑戰(zhàn)[1]。例如,隨著移動互聯(lián)網(wǎng)的飛速發(fā)展,人們可以使用手機等移動設(shè)備快速完成各種交易,與之對應(yīng)數(shù)據(jù)庫中的各種記錄規(guī)模都在百萬級以上。而且,近幾年來企業(yè)對數(shù)據(jù)的安全越來越重視,國產(chǎn)數(shù)據(jù)庫替代國外數(shù)據(jù)庫成為一個很重要的趨勢[2]。數(shù)據(jù)庫課程的教學與實踐需要適應(yīng)這些新需求:首先,數(shù)據(jù)庫的實踐環(huán)境要過渡到使用國產(chǎn)數(shù)據(jù)庫;其次,由于用戶數(shù)據(jù)庫中包含大量記錄,因此實踐環(huán)境需要模擬這種場景,才能使學生更深入地理解數(shù)據(jù)庫功能以及各種參數(shù)配置,使數(shù)據(jù)庫應(yīng)用程序的性能滿足用戶需求[3];最后,國產(chǎn)數(shù)據(jù)庫研發(fā)需要大量專業(yè)人員,需要培養(yǎng)掌握數(shù)據(jù)庫內(nèi)核技術(shù)的高端人才[4]。近年來,武漢大學數(shù)據(jù)庫課程組在教學與實踐中作出與之相適應(yīng)的改革,通過加深和拓寬原理性知識傳授,設(shè)計多層次的數(shù)據(jù)庫系統(tǒng)實踐方案,培養(yǎng)了一批適應(yīng)數(shù)據(jù)庫產(chǎn)業(yè)發(fā)展的合格人才。

        1 融合式教學

        融合式教學,是指將數(shù)據(jù)庫原理與數(shù)據(jù)庫系統(tǒng)功能進行關(guān)聯(lián)[5]。數(shù)據(jù)庫原理重點介紹關(guān)系數(shù)據(jù)庫相關(guān)知識,比較抽象。數(shù)據(jù)庫軟件給用戶呈現(xiàn)的是各種豐富的功能,每一個功能背后都隱藏著數(shù)據(jù)庫原理的核心知識,將兩者在課堂教學中進行有機關(guān)聯(lián)可以幫助學生更好地掌握相應(yīng)的原理知識,使基礎(chǔ)理論學習不空洞,實踐環(huán)節(jié)有準備。

        在數(shù)據(jù)庫原理知識點與課程實踐采用的國產(chǎn)數(shù)據(jù)庫管理系統(tǒng)功能之間建立3 種關(guān)聯(lián):直接關(guān)聯(lián)、內(nèi)涵關(guān)聯(lián)以及補充關(guān)聯(lián)。

        (1)直接關(guān)聯(lián)。數(shù)據(jù)庫課本內(nèi)容在數(shù)據(jù)庫管理系統(tǒng)(Database Management System,DBMS)中的直接體現(xiàn),兩者之間是一一對應(yīng)關(guān)系[6]。比如結(jié)構(gòu)化查詢語言(Structured Query Language,SQL)的增刪改查功能,課本中SQL 語法規(guī)則使用的是標準的SQL,商用的DBMS 都支持兼容。課堂中講授SQL 語句時,學生可以直接在DBMS 中練習使用,這些知識點可以很平滑地進行過渡。

        (2)內(nèi)涵關(guān)聯(lián)。分析課本知識點與DBMS 功能之間本質(zhì)上的聯(lián)系,以及DBMS 為什么要這樣設(shè)置功能,設(shè)置的目的是什么。比如數(shù)據(jù)庫原理中的事務(wù)內(nèi)容,事務(wù)是數(shù)據(jù)庫原理的重要組成部分,課堂首先講授其具備的ACID 4個特性,其次講授事務(wù)的并發(fā)執(zhí)行會帶來的3 種不一致性與解決不一致性的方法、事務(wù)的串行執(zhí)行以及兩端鎖協(xié)議,最后講授事務(wù)的顯式定義begin transaction 語句、事務(wù)提交commit 語句以及回滾rollback 語句。這部分內(nèi)容非常多,也比較難。

        DBMS 功能體現(xiàn)在兩個方面:一是提供事務(wù)的顯式定義begin transaction 語句、事務(wù)提交commit 語句以及事務(wù)回滾rollback 語句,但是最重要的鎖對用戶是透明的;二是提供事務(wù)隔離級別的定義功能,對應(yīng)語句為set transaction isolation level,并定義了4個隔離級別。數(shù)據(jù)庫原理中講授了不同的鎖協(xié)議,每一種鎖協(xié)議對應(yīng)事務(wù)之間不同的隔離程度,從而清楚地闡述隔離級別和鎖之間的內(nèi)在關(guān)聯(lián)。

        在講述這部分內(nèi)容時有一個難點:DBMS 為什么把隔離級別功能留給用戶?這樣做的原因是:用戶從實際需要出發(fā),定義事務(wù)需要的最低隔離級別,以最大限度地提高DBMS 的事務(wù)吞吐能力。例如,對于一個應(yīng)用系統(tǒng)來講,T1、T2 兩個事務(wù)可能理論上存在同時修改同一個數(shù)據(jù)的情況,因此需要高級別的隔離程度,如read repeatable。但是真實應(yīng)用中可能T1、T2 按順序執(zhí)行,根本不可能并發(fā)執(zhí)行,所以可以把這兩個事務(wù)并發(fā)執(zhí)行的隔離級別設(shè)置成read committed,從而最大限度地提高事務(wù)并發(fā)執(zhí)行程度。經(jīng)過以上分析,即能把原理、功能以及目的之間的關(guān)系講解清楚。

        (3)補充關(guān)聯(lián)。主要是針對數(shù)據(jù)庫課本中相對比較宏觀、不夠具體以及DBMS 功能相對復(fù)雜的一些內(nèi)容[7],可以利用DBMS 的功能細化知識點,使其更加豐富、具體。例如數(shù)據(jù)庫的物理設(shè)計,通常課本都是簡單幾行,但是DBMS有好幾個對應(yīng)的功能點,比如表空間、塊使用百分比(PCTUSED)等。表空間是一個很抽象的概念,不好理解。數(shù)據(jù)庫中的數(shù)據(jù)最終都存儲在文件中,用戶可以設(shè)置多個文件。為了管理方便,建立了表空間的概念,多個邏輯上有關(guān)聯(lián)的文件可以劃分到一個表空間中,所以一個表空間包含多個數(shù)據(jù)文件,一個數(shù)據(jù)文件只能屬于一個表空間。經(jīng)過以上分析,再進一步介紹表空間各種參數(shù)設(shè)置以及相應(yīng)含義。最后可以結(jié)合數(shù)據(jù)訪問的速度要求,將數(shù)據(jù)存儲在固態(tài)硬盤、機械硬盤中。通過逐步深入,講解物理設(shè)計中數(shù)據(jù)的存儲位置、大小、磁盤性能等相關(guān)內(nèi)容,使物理設(shè)計更加具體。

        2 專業(yè)特色教學方案

        武漢大學計算機學院共有計算機科學與技術(shù)、軟件工程、人工智能3 個專業(yè)。本科班分為計算機科學與技術(shù)班、計算機科學與技術(shù)卓工班、軟件工程班、軟件工程卓工班、弘毅班。針對不同班級,在課堂講授時有針對性地選擇難度不同的案例。

        在計算機科學與技術(shù)班和計算機科學與技術(shù)卓工班的ER 圖授課中,經(jīng)典的案例就是大學數(shù)據(jù)庫,包含學生、課程、教師實體,存在選課、授課聯(lián)系。該案例對學生來說比較易懂,但是也存在明顯缺點,就是太簡單。為此,根據(jù)武漢大學校運會有學生、教師共同參加的特點,選擇了大學運動會案例。案例的ER 圖如圖1 所示,組別的含義是學生參加學生組項目,教師參加青年組、中年組項目,轉(zhuǎn)換成關(guān)系模型后,數(shù)據(jù)模式包含了10 個關(guān)系,有一定的復(fù)雜程度,圖1中省去了部分屬性。

        Fig.1 ER diagram of university sports meeting圖1 大學運動會ER圖

        表1 展示了ER 圖知識點和運動會ER 圖之間的對應(yīng)關(guān)系。通過該案例向?qū)W生形象說明了“兩個實體之間可以參與多種聯(lián)系”這個比較難理解的知識點。

        Table 1 ER knowledge points and corresponding examples表1 ER圖知識點以及對應(yīng)實例

        因為該案例貼近學生生活,經(jīng)過分析研討,90%的學生都可以順利地畫出ER 圖,并且可以得到正確的關(guān)系模型。在此基礎(chǔ)上進一步聯(lián)系實際,向?qū)W生指出:參與關(guān)系A(chǔ)ttend(WNO,PrjNO,Group,Seq)對應(yīng)比賽用的秩序冊,此時,不少學生才恍然大悟,明白了數(shù)據(jù)庫中的表、關(guān)系等在實際中的具體對應(yīng)內(nèi)容,切實體會到了課程理論知識的現(xiàn)實意義。

        軟件工程專業(yè)學生在軟件開發(fā)能力上比其他專業(yè)的學生更強,因此課程教學對該專業(yè)學生的要求也更高。在軟件工程專業(yè)的數(shù)據(jù)庫課程教學中,除基本的數(shù)據(jù)庫增刪改查功能外,重點針對觸發(fā)器和存儲過程開展教學。最后結(jié)合高級程序設(shè)計語言,讓學生能夠?qū)崿F(xiàn)批插入的功能。

        軟件工程卓工班則結(jié)合事務(wù)和觸發(fā)器,讓學生掌握事務(wù)的不同隔離級別、事務(wù)執(zhí)行過程中觸發(fā)器的作用以及破壞觸發(fā)器的約束條件導(dǎo)致的事務(wù)回滾等問題。

        總之,數(shù)據(jù)庫系統(tǒng)課程教學針對不同專業(yè)特點,要求學生對國產(chǎn)DBMS 某一個方面的功能有深入了解,學習并掌握該功能更深更難的應(yīng)用,達到深入用好國產(chǎn)數(shù)據(jù)庫軟件的目的,培養(yǎng)學生的鉆研精神以及自主學習能力[8]。

        3 多渠道挖掘教學案例

        SQL 語言是數(shù)據(jù)庫原理中一個重要的教學內(nèi)容,也是學生感到比較困難的一個章節(jié)。學好SQL 語言是用好數(shù)據(jù)庫的基本要求,如果將來從事數(shù)據(jù)庫相關(guān)領(lǐng)域的工作,對SQL 編程也有較高要求?,F(xiàn)在的畢業(yè)招聘考試一般都會涉及到SQL 語句編程,題目相對復(fù)雜,SQL 語句復(fù)雜意味著業(yè)務(wù)邏輯復(fù)雜,從業(yè)務(wù)邏輯到SQL 腳本是一個轉(zhuǎn)換過程。學生學會復(fù)雜的SQL 編程意味著其具備較強的轉(zhuǎn)換能力。轉(zhuǎn)換能力培養(yǎng)不是一蹴而就的,需要反復(fù)地訓練、體會,這就需要在課堂教學環(huán)節(jié)中進行訓練和一定的課后練習。

        “學生選課數(shù)據(jù)庫”案例相對來說比較簡單,因此也很難提出比較復(fù)雜的問題。由于課堂時間有限,在有限的時間內(nèi)介紹一個復(fù)雜且學生不熟悉的業(yè)務(wù)背景,要求學生理解需求并進行SQL 編程訓練,效果不一定很好。因此,需要從其他途徑挖掘合適的案例,改造成適合于課堂教學的形式[9]。

        QQ 是學生們經(jīng)常使用的社交工具,里面許多功能都可以作為課程案例,可以引導(dǎo)學生思考這些功能用SQL 語句怎么實現(xiàn)。比如QQ 的好友推薦功能,你和誰有幾個共同好友,但你們還不是好友。給出這樣的查詢:列出有4個共同好友但自身不是好友的用戶對,每個用戶對只出現(xiàn)一次。QQ 的好友信息可以用用戶表User 和好友表Friend表示,其中uid1 和uid2 都是外鍵,參照User 表中的uid 取值:User(uid,Name);Friend(uid1,uid2)。

        雖然表結(jié)構(gòu)比較簡單,問題也看似簡單,但是答案還是稍顯復(fù)雜。SQL 語句如下:

        其他課程中也可以發(fā)現(xiàn)許多例子。針對人工智能專業(yè)學生的特點,選用關(guān)系存儲稀疏矩陣的案例。對于兩個不同矩陣matrix1(row,col,val)和matrix2(row,col,val),要求采用SQL 語句實現(xiàn)兩個稀疏矩陣的相乘,對應(yīng)的SQL 語句如下:

        該案例包含SELECT 語句的6 個子句,通過該SQL 語句,可以完整地說明6個子句的先后執(zhí)行順序。

        數(shù)據(jù)庫課程組經(jīng)常展開教學研討,每位老師根據(jù)自己課程內(nèi)容交流學生感興趣的問題。針對這些問題,各自提出合適的案例,然后將所有案例進行概括、整理,形成更多可用于教學的案例。

        4 多層次課程實踐

        數(shù)據(jù)庫課程實踐是數(shù)據(jù)庫教學的一個重要環(huán)節(jié)[9]。在實踐環(huán)節(jié),首先要和其他課程做好相互銜接。比如在面向?qū)ο蟮某绦蛟O(shè)計語言課程中,老師很有可能布置利用JDBC 編寫Java 程序訪問數(shù)據(jù)庫的任務(wù),因此在數(shù)據(jù)庫實踐中刪除這部分內(nèi)容。在數(shù)據(jù)庫實踐環(huán)節(jié)主要側(cè)重于以下幾方面內(nèi)容:

        (1)國產(chǎn)數(shù)據(jù)庫部署。在數(shù)據(jù)庫選型上,講授幾種開源國產(chǎn)數(shù)據(jù)庫,例如PolarDB、OpenGauss、Oceanbase 等,提前讓學生選擇。這樣做的原因是國產(chǎn)數(shù)據(jù)庫適配的操作系統(tǒng)不是Windows,需要學生花時間學習與操作系統(tǒng)安裝相關(guān)的基礎(chǔ)知識。

        (2)與國產(chǎn)數(shù)據(jù)庫廠商加強聯(lián)系,邀請工程師進課堂。在授課環(huán)節(jié),邀請華為數(shù)據(jù)庫團隊的專家走進課堂,講授高斯數(shù)據(jù)庫的功能與特色,對國產(chǎn)數(shù)據(jù)庫起到了很好的宣傳推廣作用,避免了數(shù)據(jù)庫實踐環(huán)境言必稱MySQL 的局面。

        (3)針對性地制定實踐內(nèi)容。在軟件工程卓工班,側(cè)重于SQL 語句編程、觸發(fā)器以及事務(wù)實踐內(nèi)容。在事務(wù)實踐中,提供腳本模擬兩個事務(wù)交叉執(zhí)行,在不同的隔離級別下觀察事務(wù)執(zhí)行結(jié)果,再反推在此情況下數(shù)據(jù)庫加鎖和釋放鎖的過程,從而讓學生更好地掌握各種封鎖協(xié)議。對于能力突出的學生,鼓勵其編寫模擬程序,一次性向數(shù)據(jù)庫中插入百萬條記錄,體會索引在連接查詢中的作用。最后使用SSD 和機械硬盤存儲數(shù)據(jù),讓學生觀察對于同一個SQL 查詢語句,磁盤性能對查詢性能的影響。

        (4)針對弘毅班的學生,開展迷你數(shù)據(jù)庫(miniDB)研制的課程實踐。弘毅班是教育部“基礎(chǔ)學科拔尖人才試驗計劃”在武漢大學的具體實施,培養(yǎng)有志于國產(chǎn)數(shù)據(jù)庫研究與開發(fā)的專業(yè)人才。弘毅班的課堂教學內(nèi)容與其他班級不一樣,增加了數(shù)據(jù)庫系統(tǒng)實現(xiàn)部分的講解,并且第二學期有專門的數(shù)據(jù)庫系統(tǒng)實踐課程。在實踐中,每個小組5 名學生,分別負責存儲、編譯、執(zhí)行、索引和事務(wù)。任務(wù)基本完成情況如表2,結(jié)果表明開發(fā)一個演示版的數(shù)據(jù)庫是可行的,相信經(jīng)過一兩年完善,每一個小組均能完成該任務(wù)。

        Table 2 Analysis and strategy of the results of database system development practice表2 數(shù)據(jù)庫系統(tǒng)開發(fā)實踐完成結(jié)果分析與對策

        5 教學環(huán)節(jié)中的思政元素

        思政教學,落實在大處,即引導(dǎo)學生增強愛國主義觀點[10]。而從小處看,則是要培養(yǎng)學生做一個健康、熱愛生活的人。在數(shù)據(jù)庫教學、實踐以及考試環(huán)節(jié)中,有針對性地、恰到好處地引入思政元素[11]。

        例如在數(shù)據(jù)庫引言教學中,加入國產(chǎn)數(shù)據(jù)庫近年來的發(fā)展歷史以及在各個行業(yè)的顯著應(yīng)用。在課堂重點分析天貓雙十一每秒支持58.3 萬筆交易背后的技術(shù),以及對生活帶來的各種影響,讓學生明白國產(chǎn)數(shù)據(jù)庫不僅可實現(xiàn)國外先進數(shù)據(jù)庫的功能,甚至可以做得更好;同時介紹陽振坤老師用10 年時間搭建Oceanbase 數(shù)據(jù)庫的故事,激勵年輕有為的大學生們投身到國產(chǎn)數(shù)據(jù)庫研發(fā)中。

        數(shù)據(jù)庫主要用于管理數(shù)據(jù),在考試環(huán)節(jié)把國家發(fā)生的大事,同時也是學生感興趣的話題用數(shù)據(jù)庫形式表現(xiàn)出來。比如前幾年我國海軍的萬噸驅(qū)逐艦服役,在學生們中反響巨大。構(gòu)建軍艦、級別、演習、士兵之間的ER 圖作為考題,考試結(jié)束時,學生們紛紛和老師討論該題目有哪些地方可以改進。對該題的得分進行統(tǒng)計,90%以上的學生均能拿到滿分。另外,將核酸檢測場景引入考試中,在學生解決問題的同時,也提醒其時時刻刻要遵循防疫規(guī)定。

        6 教學與實踐效果

        學期結(jié)束后,通過調(diào)查問卷的形式,針對教學、實踐和考試環(huán)節(jié)讓學生進行評價,結(jié)果如表3 所示。通過調(diào)查問卷可以發(fā)現(xiàn),學生們對數(shù)據(jù)庫的課程改革基本比較滿意,相關(guān)知識點均掌握較好。

        Table 3 Questionnaire of teaching and practice reform表3 教學與實踐效果調(diào)查問卷

        通過融合式教學,80%以上的學生都能掌握事務(wù)隔離級別的設(shè)置,并能很好地理解掌握表空間的概念。在實踐環(huán)節(jié)利用表空間概念建立數(shù)據(jù)庫的步驟中,78%的學生都能建立表空間,再建立數(shù)據(jù)庫相應(yīng)的表,而不是利用缺省的參數(shù)直接建表,從而加深了對物理設(shè)計的理解;10%的學生經(jīng)過提醒后,能正確地理解表空間概念;10%左右的學生還是不太理解表空間的概念,經(jīng)過打比方和目錄等概念的比較說明,在其他學生的幫助下才基本能夠理解。根據(jù)學生的專業(yè)特色設(shè)置不同教學方案,結(jié)果表明,85%以上的學生能較好地完成相應(yīng)任務(wù),其余15%的學生在參考了比較好的學生作業(yè)后,可以理解并進行修改,從而基本完成作業(yè),表明其確實在程序編寫方面存在欠缺,利用計算機程序思維解決問題的能力需要提高,需要其他課程(例如高級程序設(shè)計)配合,通過多練習才能提升相關(guān)能力。在SQL 語句編寫課堂教學中,所有學生均能夠理解業(yè)務(wù)場景,15%左右的學生除缺少一個條件外,其余均能正確書寫。在課后作業(yè)中,80%的學生能編寫正確的SQL 語句。在以后的教學與實踐中,通過及時發(fā)現(xiàn)學習能力稍弱的學生,開展有針對性的幫助,可以進一步提高教學質(zhì)量。

        7 結(jié)語

        國產(chǎn)數(shù)據(jù)庫已經(jīng)應(yīng)用于各行各業(yè),數(shù)據(jù)庫技術(shù)也隨著其他軟硬件發(fā)展和用戶需求的變化而快速發(fā)展。數(shù)據(jù)庫教學與實踐必須時刻關(guān)注、適應(yīng)這種變化,才能使數(shù)據(jù)庫原理課程教學與實踐與時俱進,培養(yǎng)出的學生才能緊跟數(shù)據(jù)庫發(fā)展的潮流。

        猜你喜歡
        事務(wù)語句案例
        “事物”與“事務(wù)”
        基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn)
        案例4 奔跑吧,少年!
        少先隊活動(2021年2期)2021-03-29 05:40:48
        重點:語句銜接
        河湖事務(wù)
        隨機變量分布及統(tǒng)計案例拔高卷
        精彩語句
        發(fā)生在你我身邊的那些治超案例
        中國公路(2017年7期)2017-07-24 13:56:38
        一個模擬案例引發(fā)的多重思考
        如何搞定語句銜接題
        語文知識(2014年4期)2014-02-28 21:59:52
        亚洲av无码成人网站www| 国产av在线观看久久| 成人试看120秒体验区| 黄瓜视频在线观看| 亚洲另类欧美综合久久图片区| 国产一区二区三区视频免费在线 | 亚洲线精品一区二区三区八戒| 亚洲日本精品一区久久精品| 日韩亚洲在线观看视频| 色偷偷久久久精品亚洲| 中文字幕无线码| 中文在线天堂网www| 日本一区二区三区专区| 日本女优中文字幕在线播放 | 台湾佬娱乐中文22vvvv| 亚洲精品日本| 水蜜桃在线观看一区二区国产| 久久天堂一区二区三区av| 中文字幕在线精品视频入口一区 | 狠狠噜天天噜日日噜无码| 国产精品熟妇视频国产偷人| 国产一区二区在线观看我不卡| 一级一片内射视频网址| 国产毛多水多高潮高清| 风韵饥渴少妇在线观看| 美女视频很黄很a免费国产| 美利坚亚洲天堂日韩精品| 亚洲中文字幕舔尻av网站| 大肉大捧一进一出好爽视频| 久久国产亚洲精品超碰热| av天堂手机在线免费| 麻豆最新国产av原创| 亚洲热线99精品视频| 中文字幕无码精品亚洲资源网久久| 国产精品自在在线午夜出白浆| 青青草手机免费播放视频 | 亚洲av熟女传媒国产一区二区| 欧洲熟妇色xxxx欧美老妇软件| 国产乱子伦在线观看| 激,情四虎欧美视频图片| 一本色道久久亚洲av红楼|