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