劉加伶,馮 欣,尹 靜
(重慶理工大學計算機科學與工程學院,重慶 400054)
在當前的計算機應用領域中,數(shù)據(jù)庫占有重要的地位。例如:在企業(yè)、銀行、大型商業(yè)、學校、政府機關等機構,數(shù)據(jù)庫已成為存儲業(yè)務信息的主要方式。數(shù)據(jù)庫技術的發(fā)展是現(xiàn)代計算機信息系統(tǒng)和計算機應用系統(tǒng)的基礎和核心,它已成為先進信息技術的重要組成部分。2002年,在《中國計算機科學與技術學科教程 2002》(簡稱CCC2002)中,《數(shù)據(jù)庫原理》課程被列為16門核心課程之一,地方高校的IT類專業(yè)都開設了該門課程并將其作為專業(yè)基礎課程來定位和建設。
隨著信息技術的快速發(fā)展,可視化程序設計、計算機網(wǎng)絡技術、數(shù)據(jù)庫技術、多媒體技術和軟件工程等計算機技術已經(jīng)出現(xiàn)了大融合,由此帶來了數(shù)據(jù)庫應用技術的快速發(fā)展和進步。然而,一般本科院校IT類專業(yè)數(shù)據(jù)庫技術的教學現(xiàn)狀卻不能很好適應社會對數(shù)據(jù)庫人才需求的變化,主要表現(xiàn)為:
1.專業(yè)設置不能反映數(shù)據(jù)庫人才需求。隨著數(shù)據(jù)庫技術的發(fā)展和進步,國家對數(shù)據(jù)庫技術人才的要求也發(fā)生了變化。這就要求我們對數(shù)據(jù)庫技術人才的培養(yǎng)模式做出相應的調整。
各類企業(yè)、公司對數(shù)據(jù)庫技術人才的要求區(qū)別很大,例如,數(shù)據(jù)庫的用戶主要是使用數(shù)據(jù)庫應用系統(tǒng),他們是從綜合應用的角度掌握數(shù)據(jù)庫的基本知識,了解數(shù)據(jù)庫系統(tǒng)的結構、功能、使用方法。應用系統(tǒng)開發(fā)人員是在DBMS上開發(fā)信息系統(tǒng)的專門技術人員,需要掌握數(shù)據(jù)庫設計的方法,要利用DBMS提供的接口開發(fā)應用,進行系統(tǒng)優(yōu)化設計。對于大型數(shù)據(jù)庫系統(tǒng)則非常需要有經(jīng)驗的高水平的DBA來管理、維護數(shù)據(jù)庫,包括日常的性能檢測、故障排除、數(shù)據(jù)備份、安全審計、系統(tǒng)升級等。因此,社會對數(shù)據(jù)庫技術人才的需求是多層次、多類型、多視角的,這就要求本科院校設置相關的專業(yè),提供對口的人才。
2.課程模式滯后于數(shù)據(jù)庫技術發(fā)展。目前一般本科院校IT類專業(yè)主要以《數(shù)據(jù)庫原理》+《數(shù)據(jù)庫課程設計》的課程模式進行教學,而數(shù)據(jù)庫技術的知識層次和內容體系已經(jīng)發(fā)生了深刻的變化。例如網(wǎng)絡環(huán)境下的DBMS、支持多層體系結構與中間件技術數(shù)據(jù)庫技術、數(shù)據(jù)分析、數(shù)據(jù)倉庫等新的數(shù)據(jù)庫技術已經(jīng)得到了廣泛的發(fā)展和應用。因此,在數(shù)據(jù)庫課程上也應緊緊圍繞IT專業(yè)人才的需求,對不同IT人才分別“量身”制定層次性的課程培養(yǎng)模式[1]。
3.教學模式單一。目前一般本科院校IT類專業(yè)的教學仍然主要以統(tǒng)一的“授課+課程設計的模式”,對不同專業(yè)學生的教學缺乏針對性和層次性。這樣,學生仍然缺乏對專業(yè)的認識以及應具備的實踐能力和創(chuàng)新能力。按照學校關于加強學生實踐能力和創(chuàng)新能力、培養(yǎng)高素質應用型人才的要求,我們的教學目標應具有“基礎、應用和綜合”的層次性,用一句話概括,就是使學生具備“對數(shù)據(jù)庫系統(tǒng)的認知、分析、設計、應用能力和學科素質”。這樣的教學目標較為龐大,單靠一門課程、一個課程設計是難以達到的[1]。
傳統(tǒng)的數(shù)據(jù)庫課程教學往往忽略了IT類各專業(yè)培養(yǎng)目標的區(qū)別,在課程安排和課程內容講授上大同小異,特別是缺乏對課程體系整體層次的把握。要滿足社會對數(shù)據(jù)庫技術人才的多層次、多類型、多視角需求,僅僅通過原有模式的教學是難以實現(xiàn)的。我們需要進一步研究數(shù)據(jù)庫技術的課程體系和教學模式,從不同的角度來構建科學的教學體系,組織課程體系的內容,并在科學的體系上培養(yǎng)學生的能力。因此,IT類專業(yè)的數(shù)據(jù)庫技術課程體系內容應該根據(jù)不同專業(yè)的培養(yǎng)目標,將整個數(shù)據(jù)庫的教學內容劃分為相互依賴、漸進提高的多個層次,由此構成多類型、多層次、多視角需求的課程內容體系。
1.多類型。目前IT產業(yè)對數(shù)據(jù)庫人才的需求主要分為:數(shù)據(jù)庫綜合應用人員(包括網(wǎng)絡數(shù)據(jù)庫應用)、數(shù)據(jù)庫應用開發(fā)人員(包括網(wǎng)絡數(shù)據(jù)庫應用開發(fā))和數(shù)據(jù)庫管理員(DBA)三大類。高校的IT類專業(yè)人才供給應分別針對三類人才設置相應的專業(yè)方向,將IT類專業(yè)劃分為:信息管理和技術、計算機科學與技術、軟件工程,如圖1所示。

圖1 IT產業(yè)數(shù)據(jù)庫人才需求與高校IT類專業(yè)方向分類
這三類專業(yè)的人才培養(yǎng)目標和主要的數(shù)據(jù)庫相關課程分別為:
(1)信息管理和技術。本專業(yè)培養(yǎng)掌握現(xiàn)代管理知識和計算機技術,具有計算機信息系統(tǒng)的分析與設計和信息管理的知識與技能,能承擔經(jīng)濟管理活動中信息的管理與分析和計算機信息系統(tǒng)的開發(fā)與維護的信息管理高級專業(yè)人才。
數(shù)據(jù)庫相關主要課程:程序設計、數(shù)據(jù)結構、數(shù)據(jù)庫原理、信息系統(tǒng)分析與設計、電子商務、信息資源組織與管理、信息系統(tǒng)分析設計、大型數(shù)據(jù)庫技術等。
(2)計算機科學與技術。培養(yǎng)德、智、體全面發(fā)展,具有良好的人文和科學素養(yǎng),受到良好的實際應用訓練,掌握本學科的基本理論、專業(yè)知識和技能,具有較強的解決實際問題的能力,能夠承擔軟硬件開發(fā)、維護與管理工作的高素質應用型專門人才。
數(shù)據(jù)庫相關主要課程:程序設計語言(C、C++等)、數(shù)據(jù)結構、面向對象程序設計、數(shù)據(jù)庫原理及應用、.Net應用軟件開發(fā)系列課程及應用實踐。
(3)軟件工程。培養(yǎng)具有良好的人文、科學素養(yǎng),受到良好的應用訓練,掌握軟件工程的基本理論、掌握國際上最新的軟件開發(fā)技術和軟件項目管理方法,具有較強的實踐動手能力,能從事信息技術領域相關工作的高素質應用型專門人才。
數(shù)據(jù)庫相關主要課程:程序設計基礎、數(shù)據(jù)結構、面向對象程序設計(Java)、Windows程序設計、Web程序設計、數(shù)據(jù)庫原理及應用、軟件工程導論、軟件質量保障與測試等。
2.多層次。由于數(shù)據(jù)管理技術的發(fā)展和新技術的出現(xiàn),以數(shù)據(jù)庫應用技術為主線,可以把數(shù)據(jù)庫技術劃分為以下6個知識層次:
(1)啟蒙層:計算機基礎。“計算機基礎”是所有IT類專業(yè)以及非IT類專業(yè)了解并學習計算機的入門課程及公共基礎課程。“計算機基礎”課程中介紹了數(shù)據(jù)庫的一般概念,以及Access數(shù)據(jù)庫的基本功能和應用。這為IT類專業(yè)學習數(shù)據(jù)庫提供了啟蒙知識。
(2)奠基層:程序設計基礎和數(shù)據(jù)結構。“程序設計基礎”和“數(shù)據(jù)結構”是IT類專業(yè)必修的學科基礎課程。其中,“程序設計基礎”相關課程主要學習高級程序設計語言,以及結構化和面向對象程序設計思想,為IT類專業(yè)學習數(shù)據(jù)庫應用系統(tǒng)開發(fā)提供基本的編程技能;“數(shù)據(jù)結構”課程介紹數(shù)據(jù)的存儲結構和訪問方式,為IT類專業(yè)學生學習數(shù)據(jù)庫的二維表結構和物理存儲模型提供了儲備知識。
(3)起步層:數(shù)據(jù)庫原理和技術相關課程。IT類各專業(yè)方向開始學習數(shù)據(jù)庫技術的基礎知識。從起步層開始,各專業(yè)方向的數(shù)據(jù)庫教學趨于差異化。根據(jù)不同專業(yè)的人才培養(yǎng)目標,數(shù)據(jù)庫基礎課程的知識側重點也有所區(qū)別。
計算機科學與技術專業(yè)設置“數(shù)據(jù)庫技術”課程,主要學習數(shù)據(jù)庫的基本概念,數(shù)據(jù)庫在軟件開發(fā)中應用以及SQL語言檢索應用等,側重數(shù)據(jù)庫技術知識點的應用。
軟件工程專業(yè)設置“數(shù)據(jù)庫原理及應用”課程,主要學習關系數(shù)據(jù)庫基本概念、SQL語言、數(shù)據(jù)庫應用系統(tǒng)開發(fā)方法等,側重掌握數(shù)據(jù)庫基本原理和數(shù)據(jù)庫應用開發(fā)技能。
信息管理技術專業(yè)設置“數(shù)據(jù)庫原理”課程,主要學習關系數(shù)據(jù)庫理論、數(shù)據(jù)庫設計理論和SQL語言等,側重于數(shù)據(jù)庫原理及理論知識。
(4)應用層:數(shù)據(jù)庫應用開發(fā)、建模和資源管理。該層中計算機科學與技術和軟件工程專業(yè)都主要側重于數(shù)據(jù)庫應用程序開發(fā)(包括與系統(tǒng)數(shù)據(jù)庫相關的Windows應用程序開發(fā)、與網(wǎng)絡數(shù)據(jù)庫、分布式數(shù)據(jù)庫等有關的.net應用程序開發(fā)、Web應用程序開發(fā)等)。而信息管理與技術專業(yè)的應用方向則主要培養(yǎng)學生的數(shù)據(jù)庫分析和建模技術(如“數(shù)據(jù)庫建模”課程),以及數(shù)據(jù)管理和信息檢索應用(如“信息資源管理”課程)。
(5)進階層:數(shù)據(jù)庫分析、設計和測試。該層中計算機科學與技術和軟件工程專業(yè)主要在“軟件工程”課程中學習有關數(shù)據(jù)庫設計和測試的內容。信息管理與技術專業(yè)則在“信息系統(tǒng)分析與設計”相關課程中進一步學習數(shù)據(jù)庫、web數(shù)據(jù)庫的分析設計,以及數(shù)據(jù)庫測試方法;另外,還進一步學習大型數(shù)據(jù)庫、網(wǎng)絡數(shù)據(jù)庫和分布式數(shù)據(jù)庫等先進數(shù)據(jù)庫技術。
(6)深化層:數(shù)據(jù)挖掘技術。數(shù)據(jù)分析和數(shù)據(jù)挖掘技術已隨著產業(yè)界各類分析型應用成為數(shù)據(jù)庫應用的一個重要分支,是數(shù)據(jù)庫知識的理論升華。“數(shù)據(jù)挖掘”相關課程是所有IT類專業(yè)的專業(yè)選修課程,各專業(yè)學生可根據(jù)個人學業(yè)和就業(yè)發(fā)展選擇對相關技術進行深入學習和研究[2]。
3.多視角需求。表1從系統(tǒng)角度構建了多層次的數(shù)據(jù)庫技術課程內容體系。該體系滿足各IT專業(yè)對數(shù)據(jù)庫教學多層次的要求,也滿足各專業(yè)視角對人才培養(yǎng)的多視角需求。例如:滿足計算機科學與技術專業(yè)與軟件工程專業(yè)培養(yǎng)數(shù)據(jù)庫應用系統(tǒng)開發(fā)人才的需求;滿足信息管理與技術專業(yè)培養(yǎng)數(shù)據(jù)庫設計與管理,信息資源管理等方面人才的需求[3]。另外,數(shù)據(jù)庫實踐教學應遵循循序漸進的多層次教學方案:課程設計→綜合課程設計→企業(yè)實習→畢業(yè)設計。

表1 數(shù)據(jù)庫技術課程體系
從表1數(shù)據(jù)庫課程知識體系中可以看出,數(shù)據(jù)庫技術的相關知識點散布在相關的不同課程中,如《數(shù)據(jù)庫原理》《大型數(shù)據(jù)庫技術》《數(shù)據(jù)倉庫與數(shù)據(jù)挖掘》《信息系統(tǒng)分析設計》《軟件工程》《應用程序設計》等,各課程自成一體,各自為陣,課程內容難免簡單重復和遺漏。因此,提煉課程的重點知識點,并實現(xiàn)知識點有機聯(lián)接是數(shù)據(jù)庫教學體系建設的關鍵。
關聯(lián)知識點的選取不僅要考慮知識點本身重要性,也要重點考慮與下層(即前期課程基礎)課程和上層(后續(xù)課程)的關聯(lián),以及學生對課程實際掌握的情況。圖2給出了根據(jù)數(shù)據(jù)庫課程體系構建的數(shù)據(jù)庫關聯(lián)知識點體系。

圖2 數(shù)據(jù)庫技術關聯(lián)知識點教學體系
其中,啟蒙層的計算機基礎課程可提供一些數(shù)據(jù)庫基礎相關的啟蒙知識,并初步接觸數(shù)據(jù)庫管理系統(tǒng)的基本操作;奠基層主要提供程序設計的基本思想、流程和數(shù)據(jù)結構的一些相關概念。在教學過程中,這些知識點應作為課堂教學的重點內容,并強調其與后續(xù)數(shù)據(jù)庫課程的緊密關聯(lián)性。處于起步層的數(shù)據(jù)庫原理、技術及基礎應用課程的教學是整個教學體系“承上啟下”的中間層,在知識點相應課程的教學中,教師應首先通過回顧相應先行課程的關聯(lián)知識點來引導學生,如在講解數(shù)據(jù)庫系統(tǒng)三級模式結構、關系數(shù)據(jù)庫二維表結構時,可先將數(shù)據(jù)結構中的邏輯結構、存儲結構及順序表結構的基本概念進行回顧,從而實現(xiàn)與數(shù)據(jù)庫邏輯結構、物理存儲結構和關系數(shù)據(jù)庫二維表結構概念的銜接。處于應用層的數(shù)據(jù)庫應用系統(tǒng)開發(fā)相關課程需承接來自起步層的數(shù)據(jù)庫設計、關系數(shù)據(jù)庫語言、數(shù)據(jù)庫鏈接等相關知識點,并為進階深化層提供數(shù)據(jù)庫管理系統(tǒng)及綜合數(shù)據(jù)庫應用系統(tǒng)開發(fā)的基本知識和技能。此外,考慮到學生學習相關知識的遺忘性,在較高層的數(shù)據(jù)庫內容教學中,應盡量提煉與低層課程內容的關聯(lián)知識點,如進階深化層的大型、分布式數(shù)據(jù)庫技術的應用中可繼續(xù)將數(shù)據(jù)庫應用程序開發(fā)中的數(shù)據(jù)庫鏈接作為關聯(lián)知識點,從而加強學生在此知識點上的記憶和學習。
依次提煉相應課程的教學關聯(lián)知識點,可實現(xiàn)教學內容相互依賴、相互支撐、循序漸進,鞏固記憶的完整數(shù)據(jù)庫教學體系。
數(shù)據(jù)庫課程是IT類專業(yè)學生課程中的重中之重。學好數(shù)據(jù)庫課程要在計算機基礎、數(shù)據(jù)結構、程序開發(fā)等先修課程的基礎上,從基本理論知識開始,逐步進入不同的實踐環(huán)節(jié)。這一切都需要有一個良好的循序漸進的課程和教學體系。因此,通過構建滿足多類型、多層次、多視角需求的數(shù)據(jù)庫技術課程體系框架,可實現(xiàn)相關課程內容之間的有機聯(lián)系,優(yōu)化教學內容。通過進一步建立基于知識點關聯(lián)的教學體系,挖掘數(shù)據(jù)庫技術課程體系內部以及與其他基礎或專業(yè)課程的有機聯(lián)系,可實現(xiàn)多層次的、循序漸進的數(shù)據(jù)庫技術課程教學體系。在數(shù)據(jù)庫教學中,應將基于知識點關聯(lián)的教學方法在教學組內進行規(guī)范統(tǒng)一,使不同的教師在講授同一門課程時能達到大致相同的教學效果。
[1] 劉加伶.基于數(shù)據(jù)庫技術的課程群建設與探索[J].重慶工學院學報:社會科學,2008(8).
[2] 賈代平.Oracle DBA核心技術解析[M].北京:電子工業(yè)出版社,2006.
[3] 余先倫.大學本科理論課程建構主義研究型教學組織形式[J].重慶三峽學院學報,2012(1):134-137.