摘要:通過對數據庫技術專業人才能力結構和特征的研究,提出數據庫系統的知識結構,分析當前高校數據庫系統相關課程的教學現狀,從數據庫系統知識結構、教學層次的區分、實踐教學的創新等幾個方面,探討提高數據庫系統教學質量的途徑。
關鍵詞:數據庫系統;知識結構;教學層次;教學質量
大量信息處理是當前社會生活的重要特征,計算機作為信息處理的主要工具,其學科在數據庫系統領域發展迅速,為適應這一形勢,國內高校將數據庫系統理論與技術的教學作為計算機專業和信息管理專業教學的重要組成部分,此外,為達成提高大學生信息素質的目的,有相當數量的非信息類專業的本、專科也開設與數據庫技術有關的課程。然而,據筆者觀察,數據庫的教學質量并不理想。數據庫理論與技術是計算機學科中一個較為獨立的分支,其內容涉及數據庫應用、數據庫系統工程、數據理論與新技術研究等多個層面,而我們在實際的教學中,往往不去區分授課對象專業背景和知識背景,千篇一律地以同樣的教材、同樣的內容、同樣的方法施教,教師達不成教學目標,學生無所適從,學習成效較差。對此,本文系統分析數據庫系統教學中存在的一些問題,并結合數據庫系統的特點提出提高教學質量的五個途徑,以供探討。
1理清數據庫系統的知識結構
數據庫理論與技術是計算機學科中一個較為獨立的分支,研究數據如何高效地組織與管理。當前,我們把數據庫作為計算機學科一個分支,然而,數據管理(信息管理)自從有文明以來就是人類重要活動之一,長期以來,人們積累的數據管理的理論和經驗,到今天依然有其價值,是數據庫理論的重要組成部分。計算機的發明給數據管理帶來了革命性的變化,因為計算機具有的存儲數據量大、數據傳輸便捷、計算速度快且準確的特點,所以當今數據管理活動無不以圍繞計算機技術而展開。
1.1數據庫系統的知識結構
筆者對一名勝任的數據庫系統專業人員所需的知識結構作了研究,得到結果如表1所示[1-2]。
表1中“基礎知識”一項所列的課程是學習數據庫系統知識的先行課程,為數據庫系統專業人員提供必要的計算機軟硬件知識,數理邏輯知識和信息檢索的基本原理和方法,這是數據庫系統開發、管理和應用的基礎。“數據庫基本原理與設計”一項是作數據庫系統設計所需的基本理論知識和規范,當前存在的各種數據庫模型中,關系數據模型最為成熟,數據庫系統原理的教學還是以關系數據模型為核心的,掌握關系數據庫原理是通往數據庫世界的入門鑰匙。其次半結構化數據XML有很好的應用前景。“數據庫系統實現”一項是將數據庫系統設計藍圖變成實實在在的可運行的系統所需的知識和技巧,涉及數據庫系統的物理層。“數據庫新技術及延伸”一項所列的是數據庫理論、模型、技術的新研究領域及相關聯的一些延伸領域。“商業系統及代碼開源系統”列出的是商業上成熟應用的一些數據庫管理系統(DBMS),是軟件公司推出的數據庫產品,作為數據庫從業人員,熟悉若干DBMS的使用是必要的,不過,前提是掌握前幾項所列的數據庫系統基本知識。其中Postgresql的源代碼是開放的,而且是免費的,適合作數據庫系統的研究對象。各部分知識構成的關系如圖1所示。
1.2當前數據庫系統教學內容的結構性偏差
1.2.1基礎知識的學習欠缺
目前國內高校中系統學習數據庫知識的主要是計算機專業和信息管理專業學生。對計算機專業來說,計算機軟硬件知識和數據邏輯知識方面的課程開設是充分的,欠缺的是信息檢索和情報學方面的相關課程設置,這種現狀不利于培養學生的信息素質和信息意識。而對信息管理專業來說,計算機和數理邏輯知識相對較少,這對進一步深入學習數據庫系統知識是一個障礙。另外,有些高校的信息管理專業招生是文理兼收(比如筆者所在單位)。比較來看,文科學生對計算機與數理邏輯知識接受能力較差,所以干脆不開設計算機系統原理和離散數學這兩門被認為很難的課程,這不能不說是個遺憾。另外,值得一提的是,為普及信息知識而開設數據庫課程的非信息類專業,基礎知識總是被忽略,學生在沒有任何基礎的情況下即開始學習數據庫原理或一些商業系統的應用,這樣做無異于“空中搭樓閣”。當然,限于學時,對非信息類學生不可能進行這些基礎知識的系統教學,如何有效縮減這些基礎知識以利于這一類學生的教學值得我們研究。
1.2.2對商業系統的學習認識不足
如上文提到的,作為數據庫從業人員,熟悉若干DBMS的使用是必要的,原因主要有兩點:一是構建數據庫系統通常情況下需要以這些產品為平臺;二是獲得數據庫系統應用的直覺經驗,也就是感性認識。但正如圖1所示,對各類商業系統的研究和使用是需要前4個知識模塊作支撐的數據庫系統的,教學上不能以此為本。然而,在實際的數據庫教學中,有些教師卻把學習這一類系統產品的使用(如VFP、Sql server、Oracle)作為教學的主體,這是本末倒置。若以學習某一數據庫軟件產品為主體進行教學,則后果可能是:學生學習了產品的各種使用細節,依然對數據庫系統的構建一無所知,從而造成學生學習興趣降低,失去進一步深入探究數據庫系統原理的動力。另外,有些高校甚至要求學生學習多門(多達4~5門)數據庫管理系統軟件的課程,從VFP、Paradox、SQL Server到Oracle都有,暫且不論這些單位是否具備相應的實驗條件,學習內容的重復已足以讓學生厭倦,同時也讓學生產生“所謂數據庫技術就是用好這些數據庫產品”這樣的荒謬認識。關于商業系統的教學,筆者認為,比較好的辦法是選擇一個教師已經熟練掌握的且較為典型的一個軟件系統展開教學,同時應鼓勵學生自學其感興趣的數據庫軟件,針對能力強的學生,甚至可以啟發他們去開發一個數據庫管理系統原型,據筆者了解,國外有不少數據庫商業系統軟件,其原型就是在校大學生設計開發的。
1.2.3系統實現教學偏弱
表1中所列“數據庫系統實現”一項是將數據庫系統設計藍圖變成實實在在的可運行的系統所需的知識和技巧,是數據庫系統知識很重要的組成部分。然而,教師普遍在這部分內容教學上投入的精力不足,究其原因,主要是:1)國內普遍使用的教材將“數據庫系統原理與設計”和“數據庫系統實現”二項合并,作為一門課程由一名教師來講,而我們的教師在授課時存在“重理論、輕實現”現象,再加上學時限制,后面的教學內容自然就不受重視了;2)這部分內容雖然涉及的是數據庫系統的物理層,然而實際上肉眼是看不到的,教師講起來有難度,學生也覺得抽象,學起來吃力,產生“教學相怠”;3)部分教師和學生對數據庫系統實現的重要性認識不夠,認為數據庫系統的實現工作大部分可以交給商業DBMS去做,沒必要費力去追根問底。為加強數據庫系統實現的教學,筆者認為:1)應該將數據庫系統實現作為一門單獨的課程,由在這方面有專長的教師授課;2)制作一些高質量的多媒體演示(如動畫)來展現數據庫系統的物理層活動,提高教學效果;3)不能認為DBMS能做的就沒必要搞清楚,理解DBMS的工作原理本身就是學生應該具備的知識。
2區分數據庫系統知識的教學層次
當前社會生活與信息的處理和服務息息相關,人們幾乎每天都會和各種各樣的數據庫直接或間接地打上交道。數據庫系統相關從業人員按所從事的工作性質可以分為4種角色:1)數據庫相關理論與技術的研究人員;2)數據庫應用系統的設計、開發和維護人員,統稱為工程人員;3)數據庫應用系統管理人員(DBA);4)數據庫系統的用戶。這4類人員在知識結構上、能力和素質要求上是不同的,作為高校,培養這4類人才,在教學上應區別對待。
2.1數據庫系統的教學層次
為實現數據庫系統的教學目標個性化,我們可以將培養不同類型的人才分為4個教學層次:研究層次、工程層次、管理層次和應用層次,各自教學側重點也有差別[3],如表2所示。
2.2各層次教學特點
2.2.1研究層次
開展數據庫理論與技術研究需要有本專業方向上較為深厚的理論基礎和寬泛的專業知識背景,能了解和把握前沿的理論創新和技術發明。在面向這一層次的教學中,應提高基礎知識和數據庫系統的原理及實現的學習考核標準,尤其是目前偏弱的數據庫系統實現方面的內容,更應予以加強。此外,對數據庫新技術及其延伸的相關科目應多涉及一些,拓展學生思路,培養學生的科研素質。值得一提的是,在實踐環節上,常用的商業數據庫管理系統的研究價值并不高,可以鼓勵學生對代碼開放的一些DBMS(如Postgresql)作探索性的研究和使用,為自行研制數據庫管理系統原型打下基礎。
2.2.2工程層次
培養勝任的數據庫系統工程人才是數據庫系統教學的重點。數據庫應用系統的設計、開發和維護是一個系統工程,在教學上,除傳授必要的數據庫系統相關知識以外,應對下列能力和知識的培養有所側重:1)對具體業務過程進行分析、建模的能力;2)將客觀世界的信息轉化為計算機中數據表達的能力;3)關系數據庫的設計理論;4)程序設計能力;5)軟件工程;6)商業數據庫管理系統平臺的應用。
另外,對于數據庫系統工程人才的培養,將任務驅動機制引入實踐教學很有必要。數據庫應用系統的開發,除需具備數據庫技術知識以外,還要對所面向的業務過程做出適宜的分析和建模。引導學生結合具體的任務,從系統的規劃、分析開始,一步一步地完成概念建模、數據建模、數據結構設計、管理程序設計等,最后完成系統原型。這個過程可以培養學生在實踐中綜合應用所學知識對實際問題進行分析和解決問題的能力。
2.2.3管理層次
對一個現有的數據庫應用系統進行有效的管理是數據庫管理員(DBA)的職責,其職責內容主要有:1)決定數據庫中的信息內容和結構;2)決定數據庫的存儲結構和存取策略;3)定義數據的安全性要求和完整性約束條件;4)監控數據庫的使用和運行;5)數據庫的改進和重組。毫無疑問,一個合格的數據庫管理員應具備基本的數據庫應用系統工程方面的知識,此外,由于DBA所面向的是多用戶(多到可以是一個企業所有的工作人員)的大型數據庫系統,對企業來說,高級的DBA就是CIO(首席信息官),所以提升學生的管理素質和與人溝通的能力也很重要[4],在教學上,對諸如信息資源管理、組織行為學、信息經濟學等管理類課程的教學應予以側重。
2.2.4應用層次
對為提高信息素質的非信息類專業學生進行數據庫教學屬于這個層次。當前國內普通高校有相當數量的非信息類專業的本、專科開設與數據庫技術有關的課程,目的是利用現有的數據庫系統來存儲和獲取所需的信息。這類學生計算機基礎知識并不多,且也不會花過多學時來學習數據庫技術,這給教學帶來難度。不過,即使作為一個數據庫系統用戶,若不具備數據庫原理的基本知識,也不能正確、有效地使用數據庫。為適應這一層次的教學,我們可以有針對性地將相關內容做縮減,濃縮成一門課程讓學生學習。縮減的方法可根據學生的類別(文科還是理科)和知識背景等具體情況而定,不過,至少應涵蓋下列內容:1)計算機基礎知識;2)信息檢索基本原理和方法;3)關系數據模型;4)關系數據操作(含關系運算、標準SQL語言、約束與觸發器);5)一種商業數據庫管理系統(DBMS)的基本應用。
3注重實踐教學的創新
數據庫系統知識是理論與實踐并重的,相關課程具有應用性、系統性強的特點,教學上,除教師課堂講授外,還應有多種實踐教學形式加以輔助。實踐教學應注重培養學生的自主思考、自主學習和動手的能力,教師在設計實踐內容和方法時不必拘泥于固有的實踐教學模式,應以提升學生的分析問題、解決問題能力為目的勇于創新。
3.1實踐教學形式的多樣性
實踐教學在形式上不應僅限于“教師布置題目,學生到機房上機操作”,根據不同的教學目標,因地制宜采取多種實踐教學形式,包括課程上機實驗、課程設計、案例系統演示、優秀數據庫系統觀摩、項目開發實踐,社會調查、畢業實習和畢業設計等等。
3.2實踐教學環節的改進
目前實踐教學環節存在實踐教學的內容和范圍局限性大、實踐環節難以激發學生興趣、考核標準難以統一且流于形式。為保證實踐教