陳紅順, 黃秋穎, 周鵬, 孫瑋
(北京師范大學珠海分校 信息技術學院, 珠海 519087)
數據庫技術是計算機科學的重要分支,是計算機領域中最為廣泛的應用技術之一[1]。計算機類專業都開設了相應的數據庫課程,以培養學生進行信息管理、分析、設計、開發和應用等多方面的能力。
但隨著云計算、 大數據的興起,一切都可以成為數據,如人們購買行為、網絡用戶瀏覽痕跡等,這些數據不僅數據量大,而且還具有非結構的特點,傳統的以關系數據庫為代表的數據庫技術難以滿足大數據時代的需求,一些新興的數據庫技術應運而生。在這種形勢下,高校計算類專業的數據庫課程也有必要進行相應的改革,以滿足新形勢下人才培養的需要[2]。
傳統的數據庫課程,教學內容以關系數據庫為主線,主要采用“教師為中心”的教學模式。在大數據時代背景下,這種課程教學難以適應新時代計算機類專業人才的需要。
關系數據庫技術產生于上世紀60年代,主要研究結構化數據的有效組織和存儲,以減少數據冗余、實現數據共享和保障數據安全,并實現高效的數據查詢。隨著大數據時代的來臨,數據的來源變得多樣化,如智能手機、GPS終端、傳感器等都可以成為產生數據的來源,從這些設備收集到的數據不僅數據量巨大,而且還包含大量非結構化的數據[3]。傳統以關系數據庫為主線的數據庫課程,缺少大數據環境下海量非結構化數據管理與分析相關的內容,在教學內容方面明顯滯后。
傳統的課程教學主要采用“教師為中心”的教學模式,即教學時多以教師講解為主,課堂上教師與學生之間交流、互動較少,課下缺乏真實的案例實踐,造成學生學習積極性不高。隨著移動互聯網、大數據等前沿計算機技術的迅速發展,通過互聯網運用計算機學習的在線教育席卷全球。如今,打開互聯網,輕松可以找到各種各樣、種類繁多的教學資源。因此,大數據環境下,學生知識的獲取不再局限于校園里、課堂上,只要有網絡,學生可以隨時隨地獲取自己感興趣的優質教育資源。傳統的教學模式已經受到了大數據時代的沖擊,急需變革。
教學內容安排方面,需要做到傳統的關系數據庫技術與新興數據庫技術相結合,在強調學科基礎知識的同時注重培養學生解決實際問題的能力[4]。
關系數據庫技術以嚴格的結構化數據為對象,包括了數據庫學科重要和通用的基礎理論和思路。教學內容主要包括數據庫基礎知識、關系代數、SQL語言、關系數據理論、規范化設計、查詢優化技術、恢復技術、并發控制等,上機實踐可以選擇Oracle或SQL Server作為實驗平臺,內容主要包括SQL語言的應用、存儲過程與觸發器、小型數據庫的設計以及數據庫應用系統的設計開發等。
新興數據庫技術是指支持分析處理海量異構數據的分布式數據庫技術。其中代表性的NoSQL數據庫技術指的就是與傳統關系數據庫或關系-對象數據庫技術不同的技術。自Google公司提出BigTable分布式數據庫系統以來[5],各種NoSQL數據庫層出不窮,目前主要包括列存儲數據庫、鍵值數據庫、文檔型數據庫和圖形數據庫四大常見類型。因此,新興數據庫技術的教學內容主要包括NoSQL的優勢和理論基礎、NoSQL數據模型及分類、常見NoSQL數據庫和NoSQL數據庫應用案例[6];上機實踐可以選擇列存儲數據庫HBase、鍵值數據庫Redis、文檔型數據庫MongoDB和圖形數據庫Neo4J,實踐內容主要包括常見NoSQL數據庫的操作及典型應用案例,目前市面上已經有大量的教材和參考書,也方便學生自學。
在課程課時安排方面,有兩種方案可供選擇:一是將新興數據技術整合到原有數據課程中,同時壓縮關系數據庫技術的課時,其中關系數據庫技術大約占2/3的總學時,新興數據庫技術大約占1/3的總學時,由于課時關系,新興數據庫技術只能簡單介紹,并通過1個典型案例,讓學生了解NoSQL數據庫的應用場景;二是將數據庫課程分為兩門課程,以關系數據庫技術為主的基礎課程大二開設,以新興數據庫技術為主的提高課程可以在大三以專業方向課或專業選修課的形式開設,以便讓學生在深入掌握了關系數據庫技術之后,對NoSQL數據庫技術有一個全面深入的了解。各高校的計算機類專業可以根據人才培養目標和專業師資情況選擇其中一種方案。
在教學過程中,可以采用案例教學法和項目驅動教學法等多種方法,注重培養學生的問題意識。例如,在給學生講解范式理論的時候,學生僅從課本字面進行理解普遍覺得難以接受,而通過案例教學,先給學生一個設計不好的關系模式作為案例,引導學生分析其中存在哪些問題,并進一步引導學生思考為解決這些問題應當如何對關系模式進行分解。這樣,學生在案例分析過程中學會了思考,由原來的被動接受到主動發現問題,并加深了對相關知識點的理解。
課程還可以要求學生完成一個實際的數據庫課程設計作品,由2~3人成立小組完成,開發語言和平臺不做限定,教師在選題初期給予一定的指導,具體的需求分析、數據庫設計、系統設計和開發以及測試和實施均有學生自行完成。這種項目驅動的教學法會有效調動學生的學習積極性,提高學生自覺學習的能力。
課堂教學法還可以與課外活動相結合。例如,組織大數據興趣小組,組織學生研究和探索大數據相關的主題,以激發學生的學習興趣。
數據庫課程是理論與應用緊密結合的課程,一直有明確的工程背景和應用驅動。因此,在實際的教學過程中,教師必須精選合適的教學案例。例如,在關系數據庫的教學過程中,以學生熟悉的網絡購物為背景,設計了網上書城(bookstore)數據庫,根據理論教學的進度安排,圍繞該數據庫配套設計了創建數據庫、數據查詢、數據更新和視圖、數據庫安全性、數據庫完整性、關系規范化、Transact-SQL編程、查詢處理和查詢優化、并發控制及數據庫備份與恢復等10個上機實驗[7]。在完成上述實驗的過程中,學生利用自己所學知識解決了熟悉應用場景中的問題,不僅提高了動手實踐能力,同時也提高了學習興趣。
傳統的數據庫課程教學存在課程內容明顯滯后、傳統教學模式面臨挑戰的問題,通過調整教學內容、豐富教學方法和精選教學案例三方面的改革,以滿足培養新時代計算機類專業人才的需要。實踐證明,改革后的數據庫課程教學,教學內容涵蓋了傳統的關系數據庫技術與新興數據庫技術,可以適應時代需求,豐富的教學方法可以有效調動學生的學習積極性,精選的教學案例以學生熟悉的應用場景為背景,能有效提高了動手實踐能力。