趙友杰 曹涌 熊飛
摘要:針對大數(shù)據(jù)時代下數(shù)據(jù)庫技術(shù)的新需求,該文探討了基于關(guān)系和非關(guān)系數(shù)據(jù)庫結(jié)合的《數(shù)據(jù)庫原理與應(yīng)用》的課程教學(xué)方案。首先總結(jié)了新需求中涉及的主要技術(shù)知識點,構(gòu)建了課程知識樹。其次基于相關(guān)知識點,開發(fā)了《數(shù)據(jù)庫原理與應(yīng)用》實驗實訓(xùn)系統(tǒng)。實踐證明,該方案能夠滿足大數(shù)據(jù)時代下的數(shù)據(jù)庫技術(shù)需求,且在一定程度上提高學(xué)生學(xué)習(xí)的靈活性,實現(xiàn)一定范圍內(nèi)的因材施教。
關(guān)鍵詞:大數(shù)據(jù)時代;數(shù)據(jù)庫原理與應(yīng)用;教學(xué)改革
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)21-0087-03
Abstract: In view of new demand of database technology in the era of big data, this paper discussed the course-teaching scheme of database theory and application based on the combination of relational and non-relational database.Firstly, the main technical knowledge points were summarized in the new requirements and the knowledge tree was constructed. Secondly, the experimental training system of database principles and applications was developed based on related knowledge points. The practice proves that the scheme can meet the demand of database technology in the era of big data, improve the flexibility of students' learning to a certain extent, and achieve a certain range of individualized teaching.
Key words: Era of Big Data; Principle and Application of Database; Teaching Reform
隨著物聯(lián)網(wǎng)、云計算和大數(shù)據(jù)的發(fā)展,各行業(yè)數(shù)據(jù)增長迅猛。數(shù)據(jù)作為一種新資源,已被越來越多的人所認(rèn)可。同時,數(shù)據(jù)的海量化、多類型化、多維化,使得數(shù)據(jù)庫技術(shù)從關(guān)系數(shù)據(jù)庫向非關(guān)系數(shù)據(jù)庫、單機(jī)處理向分布式處理發(fā)展。《數(shù)據(jù)庫原理與應(yīng)用》是目前大多數(shù)高校都開設(shè)的一門專業(yè)基礎(chǔ)課程[1-5],具有較強(qiáng)的綜合性、應(yīng)用性和實踐性。它是計算機(jī)應(yīng)用、信息工程、電子信息、自動化等專業(yè)的基礎(chǔ)課程,是機(jī)械交通、生態(tài)旅游、電子商務(wù)、財務(wù)管理等眾多專業(yè)的選修課程。在不同專業(yè),其教學(xué)目標(biāo)以及對學(xué)生應(yīng)用能力的要求都存在著很大的差異,卻也具有一定的相同之處。在大數(shù)據(jù)時代下,如何滿足不同專業(yè)的學(xué)生需求,培養(yǎng)新時代的數(shù)據(jù)庫技術(shù)人才,成為高校數(shù)據(jù)庫教學(xué)改革的核心任務(wù)之一[6]。
1 現(xiàn)狀及問題
1.1大數(shù)據(jù)時代新需求
大數(shù)據(jù)時代前,數(shù)據(jù)來源主要是管理記錄,被動采集為主。數(shù)據(jù)庫類型主要是關(guān)系型(二維表)。所以高?!稊?shù)據(jù)庫原理與應(yīng)用》課程以SQL server、MySQL、Oracle等關(guān)系數(shù)據(jù)庫技術(shù)為主。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的移動設(shè)備自動采集數(shù)據(jù)。隨著智能手機(jī)的普及,越來越多的數(shù)據(jù)變?yōu)槲谋?、圖像、音頻、視頻等非關(guān)系型數(shù)據(jù)。針對大數(shù)據(jù)時代的新需求,NoSQL等非關(guān)系數(shù)據(jù)庫技術(shù)發(fā)展迅速。如何結(jié)合SQL和NoSQL技術(shù),培養(yǎng)新時代的數(shù)據(jù)庫技術(shù)人才,是新時期《數(shù)據(jù)庫原理與應(yīng)用》課程改革需要解決的重要問題。
1.2 高校專業(yè)差異
《數(shù)據(jù)庫原理及應(yīng)用》課程教學(xué)涉及眾多專業(yè),不同專業(yè)的培養(yǎng)方案不同,前期的計算機(jī)基礎(chǔ)差異較大。計算機(jī)相關(guān)專業(yè)隊數(shù)據(jù)庫技術(shù)要求高,需要系統(tǒng)的學(xué)習(xí)關(guān)系和非關(guān)系數(shù)據(jù)庫的相關(guān)技術(shù)。信息管理相關(guān)專業(yè)主要針對關(guān)系型數(shù)據(jù)庫,要求學(xué)生熟悉和掌握關(guān)系數(shù)據(jù)庫技術(shù),能夠結(jié)合一門語言開發(fā)簡單的管理信息系統(tǒng)。生態(tài)旅游專業(yè)前期編程課程很少,只要求了解數(shù)據(jù)庫技術(shù),不涉及開發(fā)技術(shù)。以上所示,不同專業(yè)隊數(shù)據(jù)庫技術(shù)的需求差異較大,如何設(shè)定不同專業(yè)的培養(yǎng)目標(biāo),滿足不同行業(yè)的數(shù)據(jù)庫技術(shù)需求,是當(dāng)前《數(shù)據(jù)庫原理與應(yīng)用》課程必須面對的問題。
1.3 學(xué)生能力差異
相同的專業(yè),學(xué)生能力參差不齊,學(xué)習(xí)興趣與積極性差別較大?!稊?shù)據(jù)庫原理及應(yīng)用》一般分為理論和實驗教學(xué)。理論教學(xué)為多媒體教室知識點講解,實踐教學(xué)為機(jī)房上機(jī)練習(xí)。理論教學(xué)經(jīng)常出現(xiàn)學(xué)生注意力不集中,交頭接耳甚至玩手機(jī)等現(xiàn)象,教師監(jiān)督困難。實驗教學(xué)中,一般針對上節(jié)理論課的主要知識點,根據(jù)相關(guān)題目實踐練習(xí)。因教師要考慮大多數(shù)學(xué)生的學(xué)習(xí)能力,故實驗中涉及的練習(xí)題目需要難度適中。能力強(qiáng)的同學(xué),可能用一半時間就完成了實驗。能力差的同學(xué)則需要課下另外增加更多時間練習(xí),才能完成實驗任務(wù)。如何針對不同能力的學(xué)生,實現(xiàn)因材施教,不僅是《數(shù)據(jù)庫原理與應(yīng)用》課程,也是所有課程教學(xué)中存在的普遍問題。
2 實驗實訓(xùn)系統(tǒng)
實驗實訓(xùn)系統(tǒng)是將課程中主要的知識點,以一定的形式隱含在網(wǎng)絡(luò)系統(tǒng)中,學(xué)生以在線練習(xí)的形式逐一掌握(如圖1所示)。在線實驗系統(tǒng)有很多的優(yōu)點。首先,在線練習(xí)容易抓住學(xué)生的注意力,促進(jìn)學(xué)生的交流,激發(fā)學(xué)生的主動性。其次,練習(xí)中的錯誤能夠讓學(xué)生認(rèn)識到自己的不足,了解與其它同學(xué)的差距,促進(jìn)學(xué)生良性競爭。最后,在線練習(xí)能夠讓學(xué)習(xí)者自己發(fā)現(xiàn)探索規(guī)律,而不是有老師闡述告知結(jié)果??傊粋€好的實驗實訓(xùn)系統(tǒng),不僅讓學(xué)生能夠?qū)W到扎實的基礎(chǔ)知識,激發(fā)學(xué)生的積極主動性,還能讓學(xué)生結(jié)合實際舉一反三。
3 實施方法
3.1課堂組織
將《數(shù)據(jù)庫原理與應(yīng)用》的章節(jié)分為兩部分:關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫。其中關(guān)系數(shù)據(jù)庫又分為關(guān)系數(shù)據(jù)庫原理、基本命令、綜合編程。原理部分沿用傳統(tǒng)的多媒體教學(xué),主要包含關(guān)系數(shù)據(jù)庫基本術(shù)語、關(guān)系運算、概念模式、范式與設(shè)計理論等,并以在新練習(xí)的形式考核。基本命令主要包含數(shù)據(jù)庫對象操作、表對象操作,以及表中基本的添加、修改、刪除、查詢等命令,是整個數(shù)據(jù)庫課程的核心知識,是學(xué)生掌握及應(yīng)用數(shù)據(jù)庫技術(shù)的重點部分。綜合編程部分主要包含TSQL、函數(shù)、存儲過程、觸發(fā)器、游標(biāo)等高級SQL編程部分,是學(xué)生全面應(yīng)用數(shù)據(jù)庫技術(shù),培養(yǎng)學(xué)生解決復(fù)雜數(shù)據(jù)庫問題的能力?;久詈途C合編程兩部分,主要以機(jī)房即講即練的方式,練習(xí)主要以在線考核的形式,讓學(xué)生在在線系統(tǒng)中掌握基本的SQL命令及SQL編程。非關(guān)系數(shù)據(jù)庫部分,主要分為非關(guān)系數(shù)據(jù)庫基本原理、非關(guān)系數(shù)據(jù)庫基本操作、綜合編程。其中基本原理主要講解非關(guān)系數(shù)據(jù)庫的存儲結(jié)構(gòu)與設(shè)計理論?;静僮鞑糠种饕訦base為例,講述非關(guān)系數(shù)據(jù)庫的添加、修改、刪除、查詢等基本操作。綜合編程部分主要講解使用Java或python調(diào)用非關(guān)系數(shù)據(jù)庫,實現(xiàn)基本應(yīng)用。
3.2理論教學(xué)
理論教學(xué)部分主要涉及的章節(jié)如表1所示,主要讓學(xué)生了解關(guān)系與非關(guān)系數(shù)據(jù)庫的相關(guān)概念,掌握基本的關(guān)系運算,理解ER圖及范式理論,理解關(guān)系與非關(guān)系數(shù)據(jù)庫的存儲架構(gòu)差異,熟悉數(shù)據(jù)庫設(shè)計理論及一般思路。相關(guān)知識點將以在線競賽的形式考核。
3.3實踐教學(xué)
(1) 基本命令知識樹
SQL基本命令可以分為:DDL、DML、DCL。其中DDL主要有數(shù)據(jù)庫、表、視圖等的創(chuàng)建(create)、修改(alter)、刪除(drop)組成;DML主要包含數(shù)據(jù)表中記錄的添加(insert)、刪除(delete)、修改(update)、查詢(select)等組成。DCL主要有數(shù)據(jù)庫用戶的賦權(quán)(grant)、廢除用戶權(quán)限(revoke)、提交當(dāng)前事務(wù)(commit)等組成。關(guān)系數(shù)據(jù)庫中基本命令知識樹如圖2所示。
非關(guān)系數(shù)據(jù)庫的基本命令可以分為數(shù)據(jù)定義語言DDL和數(shù)據(jù)操作語言DML。DDL主要為非關(guān)系數(shù)據(jù)庫中表對象的創(chuàng)建、注銷與刪除。DML主要包含表中記錄的添加、刪除、修改、查詢等(如圖3所示)。
(2) SQL編程提高
關(guān)系數(shù)據(jù)庫編程主要包含TSQL編程、函數(shù)、存儲過程、觸發(fā)器、游標(biāo)等技術(shù)(如圖4所示)。需要學(xué)生掌握TSQL編程的基本語法,熟悉常用的系統(tǒng)函數(shù),掌握自定義函數(shù)、存儲過程、觸發(fā)器、游標(biāo)的創(chuàng)建和調(diào)用。具體知識樹如圖3所示。對于非計算機(jī)專業(yè)學(xué)生,可以根據(jù)不同情況有選擇性地安排此部分教學(xué)任務(wù)。
非關(guān)系數(shù)據(jù)庫編程主要包含程序調(diào)用、MapReduce處理、Hive類SQL等部分(如圖5所示)。程序調(diào)用是利用Java或python調(diào)用非關(guān)系數(shù)據(jù)庫,實現(xiàn)表中記錄的增刪改查等基本操作。MapReduce處理是指使用Hadoop的HDFS與MapReduce處理NoSQL數(shù)據(jù)。Hive類SQL主要基于MapReduce原理,使用類SQL實現(xiàn)大數(shù)據(jù)的聚合統(tǒng)計等批量處理。
3.4綜合實習(xí)
《數(shù)據(jù)庫原理與應(yīng)用》課程是非常重要的專業(yè)必修課,一般會安排實習(xí)。實習(xí)是數(shù)據(jù)庫技術(shù)的綜合運用,可以安排具體的行業(yè)數(shù)據(jù)庫設(shè)計及開發(fā)應(yīng)用實例。培養(yǎng)學(xué)生將數(shù)據(jù)庫設(shè)計理論和技術(shù)相結(jié)合,應(yīng)用到實踐中的能力。主要涉及的內(nèi)容如表2所示。
4 結(jié)束語
本文主要討論了大數(shù)據(jù)時代對數(shù)據(jù)庫技術(shù)的新需求,并在此基礎(chǔ)上提出基于關(guān)系和非關(guān)系數(shù)據(jù)庫結(jié)合的《數(shù)據(jù)庫原理與應(yīng)用》的課程教學(xué)方案。該方案首先總結(jié)了大數(shù)據(jù)時代新需求中涉及的主要技術(shù)知識點,構(gòu)建了數(shù)據(jù)庫課程知識樹。其次基于相關(guān)知識點,開發(fā)了《數(shù)據(jù)庫原理與應(yīng)用》實驗實訓(xùn)系統(tǒng),能夠讓學(xué)生根據(jù)自己的專業(yè)和能力實現(xiàn)在線練習(xí)。實踐證明,該方案能夠滿足大數(shù)據(jù)時代下的數(shù)據(jù)庫行業(yè)需求,且在一定程度上提高學(xué)生學(xué)習(xí)的靈活性,實現(xiàn)一定范圍內(nèi)的因材施教。
參考文獻(xiàn):
[1] 高英,信鳳芹,韓丹,郭春燕.提高《數(shù)據(jù)庫原理》教學(xué)質(zhì)量的探討[J].教育教學(xué)論壇,2012(29).
[2] 張福安,包振強(qiáng).數(shù)據(jù)庫原理及應(yīng)用課程教學(xué)改革與實踐[J].安徽工業(yè)大學(xué)學(xué)報·社會科學(xué)版,2010(1).
[3] 亓文娟,晏杰.應(yīng)用型本科院?!皵?shù)據(jù)庫原理及應(yīng)用”教學(xué)改革研究[J].洛陽師范學(xué)院學(xué)報,2014(5).
[4] 顧永軍,齊敬敬.《數(shù)據(jù)庫原理及應(yīng)用》課程教學(xué)改革探討[J].時代教育,2014(13).
[5] 晏杰.《數(shù)據(jù)庫原理及應(yīng)用》實踐教學(xué)改革研究[J].安陽工學(xué)院學(xué)報,2014(4).
[6] 孫銀博.數(shù)據(jù)庫技術(shù)在大數(shù)據(jù)中的應(yīng)用[J].電腦知識與技術(shù),2016(3).
【通聯(lián)編輯:王力】