肖 宇,袁宏博
(上海對外經貿大學統計與信息學院,上海 201620)
數據庫是一個與時俱進的領域,然而高校的非計算機類專業數據庫課程普遍存在諸多問題[1]。例如,數據庫軟件的選取與市場主流數據庫發展脫節,實操內容過于陳舊且缺乏創新型設計,課程內容僅局限于關系型數據庫等[2]。學生難免對陳舊的教學內容質疑,學習積極性遭受打擊。因此,非常有必要深入探討非計算機類專業數據庫課程的改革。
以下內容首先分析了當前非計算機專業數據庫教學現狀,進而引出新的教學目標,然后探討了面向大數據處理與分析的數據庫教學的內容和方法改革,最后對本文進行總結。
考慮到數據庫教學工作的重要性,以下從數據庫的發展趨勢,未來企業數據庫技能需求和目前傳統的教學內容等三方面進行分述,以多角度厘清非計算機專業數據庫教學的發展方向。
自首款企業級數據庫誕生以來,數據庫技術的發展主要經歷了三個階段:前關系型數據庫(1960-1970)、關系型數據庫(1970-2008)和后關系型數據庫(2008至今)[3]。前關系型數據庫的主角模型主要采用網狀模型和層次模型,其中網狀模型克服了層次模型中非根結點僅能擁有一個父結點的缺陷。關系型數據庫以關系模型作為數據模型,這個階段基于“三層模式和二級映象”的設計實現了外模式、模式和內模式的分離,從而使得各層相對獨立。當前大部分企業級數據庫仍屬于關系型數據庫或者支持關系操作。
后關系數據庫階段主要致力于模型拓展于架構解耦,以解決高并發讀寫、海量數據處理、數據結構不統一、橫向拓展能力受限、數據存儲能力受限等問題。受此驅動,數據庫逐漸走向分布式、多模處理和存算分離的方向演進,其中涌現出諸如鍵值模型(例如 Redis)、圖模型(例如neo4j)、文檔模型(例如MongoDB)等非關系數據模型。另外,隨著云計算技術的不斷成熟,云數據庫占數據庫市場份額迅速增加,而線下數據庫市場競爭愈加激烈。
據2021年6月中國信息通信研究院統計分析,數據庫服務市場主要集中在金融、電信、政府、制造、交通等五個行業,總占比超過了80%[1]。經過對主流求職網站的調查發現,數據分析類就業崗位普遍要求職工掌握關系型數據庫。對于非計算機類專業大學生而言,未來工作中數據庫應用場景更多地集中在對數據的查詢和存儲,或是圍繞其業務數據進行數據插入或者修改。例如MySQL、SQL Server或PostgreSQL等。此外,企業就業技能要求中通常會要求掌握Python和R等計算編程語言,因此在數據庫教學中,應介紹在這些編程環境中管理數據庫的方法。
教學內容包括理論和實踐兩方面。理論知識分為基礎理論和進階理論。基礎知識包括關系數據庫理論,包括關系的定義、關系的運算、關系演算和關系的范式等內容。進階理論包括數據庫的內模式設計,事務管理,鎖機制,以及分布式數據庫等。實踐教學包括演示數據庫的安裝和配置、數據庫的備份和還原、數據庫的創建和修改、數據表的定義和修改、數據插入、數據更新和數據刪除、數據庫用戶管理和權限控制等內容。數據庫是不斷演進的一門課程,需要教師能夠及時跟進最新技術發展。
當前高校的數據庫教學一般分為具有計算機專業背景的教師或非計算機專業背景教師授課。若計算機系教師承擔授課數據庫課程授課任務,則對于圍繞數據庫課程的基本知識要求應該不存在問題,教師的理論知識儲備足以應對非計算機類數據庫課程,重點應做好數據庫發展和新型NoSQL數據庫等方面的教學準備。若由非計算機專業背景授課,則需要在理論和實踐、基礎和進階、歷史和未來等方面充分做好教學準備。
結合實際來看,基于需求的酒店管理系統內容框架設置,必須從顧客角度出發,從其到店、入住、退房等全過程所需經歷環節進行實時分析,以此設置專業、合理、到位的服務需求方案。體現在酒店管理系統上時,即對前臺管理系統、消費管理系統、收銀管理系統、客房服務系統設置來體現,使其做成一套完整的酒店管理系統框架,明確其個分項功能,使酒店顧客需求得到有效滿足。
為了給非計算機類專業學生打下堅實的數據庫技術基礎,應對未來工作中大數據處理中的數據庫操作需求,從教學內容的調整、教學方法的改進和考核方式等三個角度探索非計算機類專業數據庫教學改革思路。
從上一節的分析中可以看出,當前數據庫市場發展迅速,這將帶來未來企業應用的變化,因此在教學中應考慮到這一發展趨勢。另外,目前就業市場對大學生提出了新的要求,需要從業者能夠更加深入地掌握數據庫操作方法。傳統的教學內容和目標顯然和現實是脫節的,因此綜合調整課程的教學目標。非計算機類數據庫課程的教學目標大致如下:掌握關系型數據庫高級操作方法、理解數據操作之間的效率差異、掌握典型NoSQL數據庫、了解典型的云數據庫服務,具有自主學習高級數據庫技術的能力。
當前,大部分數據庫課程都包含了關系數據庫理論和SQL語言,屬于教學內容的“基本盤”。考慮到數據庫當前發展趨勢,以及各行業的數據庫相關技能需求,非計算機類專業需要從以下三個方面對教學內容進行調整。
(1)深入講解數據查詢部分。數據查詢部分包含簡單查詢和復雜查詢。在教學過程中,通常使用簡單數據庫作為示例數據庫,在此基礎上開發單表查詢、聚合和分組查詢、多表查詢等。在生產環境下,通常涉及分組后的組內排序查詢、窗口函數等內容。因此,在教學內容設計時,可以有針對性地增加高級查詢部分,讓學生更加深入地了解數據庫的優勢。此外,將SQL與Python等通用編程語言聯系起來,詳細講解通用編程語言的數據庫接口,以加深學生的理解,增強工作情境中的應用能力。
(2)加入主流NoSQL數據庫。NoSQL數據占據的市場份額逐級增大,MongDB和Redis等典型代表在生產環境中應用范圍廣泛,很多數據都存在NoSQL數據庫中。特別地,NoSQL數據庫由于不需考慮數據表的范式,因此使用門檻較低,在爬蟲應用中使用廣泛。在NoSQL教學過程中,不能將這部分內容與關系型數據庫對立起來,而應將它們的概念和數據操作對照起來教學[4]。例如,MongoDB中的大部分概念都在SQL中有對應物,具體對應關系如表1所示。因此,在對NoSQL數據庫的教學中,應與SQL中的操作對應起來。各種數據庫的操作語言存在著差異,但操作流程具有共性。

表1 SQL和MongoDB概念的對應關系
(3)加入云數據庫。當前,數據很有可能存儲在本文,更可能存在公有云或私有云中。因此,需要能夠連接到這些云數據庫中然后進行操作,在教學內容上應有體現。具體教學過程中,首先要講述云數據庫相對于本地數據庫的優勢和缺點;然后,介紹當前主流的云數據庫服務商,以及云數據庫的種類;最后,以某一云數據庫為案例展示其使用過程,通過實踐展示完整的操作流程讓學生對數據庫有更加直接全面的認識。
(4)加入包含大批量數據的案例數據庫。大數據是當前乃至未來的必然趨勢,在具體工作情境中尤為如此。傳統教學中一般使用包含較少數據表較少數據的數據庫作為演示數據庫,這和現實是脫節的。為此,建議積極利用各種途徑構建大數據庫。第一種方法是利用網絡爬蟲獲取大批量數據。當然在數據采集過程中應遵守法律法規和道德規范,不能泄露他人隱私信息。第二種方法是和企業合作,由企業提供脫敏大批量數據。
教學內容的調整也應帶來教學方法的改變,應該從以下四方面改進教學方法。
(1)圍繞云數據庫構建教學案例。云數據庫是未來的數據庫產業發展趨勢之一。圍繞云數據庫構建教學案例有以下兩個優勢:第一,減少了學生在個人筆記本電腦上配置數據庫的,從而降低學生在配置環境中可能遭遇的受挫感,提升學生早期學習的積極性;第二,可進行圍繞大數據的數據庫操作,部分涉及大批量數據的操作難以在計算和存儲能力有限的個人電腦上開展,而云數據庫沒有該限制。
(2)合理利用開源平臺。開源社區是當前技術發展的重要趨勢之一。相應地,在教學過程中可考慮使用開源數據庫,例如MySQL和MongoDB等[5]。更加重要的是,需要向學生傳遞開源精神,讓學生懂的知識分享可促進知識創新。另外,可以利用中國最流行的代碼共享平臺Gitee分享課件和代碼。鼓勵學生在平臺上提出更好地解決方案,修改發現的課件或代碼錯誤,促進師生之間的溝通。
(3)構建面向大數據操作的案例應用。在未來的工作實踐中,如何更加有效、更加快速的操作數據庫關系到最終的工作效率。為此,在獲取大數據庫之后,需要根據典型的工作場景抽出關鍵的數據操作,進而匯集成案例庫。然后,結合理論知識部分,可以探索各種數據庫操作的效率問題,例如插入效率、刪除效率和查詢效率等,為優化打下基礎。
(4)構建開放、平等的師生交流平臺。當前MOOC平臺有著豐富的數據庫課程資源,學生可以方便地獲取這些資源。然而,與學校小班教學相比,線上課程也有針對性差、交流互動性不及時等缺點。因此,在課堂上,建議允許學生充分提出課程相關問題或疑問,老師和其他學生應積極參與到問題的討論中,及早解決問題;在課后,建議基于BB教學平臺或則Gitee等開源平臺構建更加自由的交流平臺。
課程教學評價關系到學生最終的成績,如何合理評估在數據庫課程中的表現關系到學生的學習積極性。教學內容和教學方法的改革也對教學評價帶來了新的機遇和挑戰,以下從評測考核和過程考核兩方面探討如何加強教學評價。
(1)過程考核。學習是一個較為漫長的過程,對于數據庫學習而言尤為如此。以評測為導向的考核目標簡單且易操作,但不能體現學生在學習過程中涌現出的一些好方法和好行為。例如,少數學生十分擅長解決一些課程中的疑難雜癥、樂于給同學提供幫助,教師應對類似行為予以鼓勵,但這部分成績是難以在評價中衡量的。建議教師構建學生行為數據庫,記錄學生在課堂或者線上行為,構建綜合指標評測學生。最后,也要著重考查學生的動手能力,應在構建數據庫系統中觀察學生的表現。
(2)評測考核。考慮到數據庫課程的理論性為了體現考核的公平性和有效性,可以采用多次考核的形式,布置多次課后和課堂作業。調整平時作業和期末考試的成績比例,凸出學生的自主學習過程。特別地,在評測中,應該就加強體現學生的主動性。例如,可以布置具有開放性和
試驗性的課后作業給學生完成,重點考察其主動思考和創新能力。
本文首先從數據庫產業發展、就業技能需求和傳統教學內容等三個方面分析了大數據背景下非計算機專業數據庫課程變革環境。然后,從當前存在的一些問題切入,提出包括教學目標、教學內容、教學方法和教學評價在內的四位一體的課程改革思想。最后,本文必然存在一些考慮不全面的地方,但希望能夠為非專業數據庫課程改革提供借鑒。