



摘要:隨著云計算技術和物聯網應用的開展,海量信息的存儲與管理對傳統的面向工程化教育的數據庫技術教學模式提出挑戰。如何在學時縮短、注重基礎設計技術、引進數據庫新技術、工程化實訓等因素之間做出有效平衡,是文章探討的主要問題;同時,在面向卓越工程師教育的數據庫技術教學架構、實現方法以及實踐檢驗等方面,文章也進行了論述。
關鍵詞:卓越工程師教育;數據庫技術;教學模式;網絡數據庫
0.引言
隨著互聯網技術的普及應用,信息呈爆炸性增長,數據量的急劇膨脹為海量信息的存儲和應用帶來了挑戰。數據庫、存儲和網絡計算等技術在應對挑戰的過程中逐漸成熟,導致了云計算應用和物聯網產業的誕生。云計算和物聯網技術的應用打破了傳統的數據存儲和管理技術架構,急需掌握全新數據庫技術的應用人才。另一方面,普通高校作為信息社會建設的后備人才培養基地,必須緊跟社會發展。當下,我國高校所開設的數據庫原理及應用課程滯后于社會實際需求,教學模式主要分為兩大類:一是側重理論、模型、方法,主要講解傳統的數據庫模型、數據庫設計、數據庫管理,對網絡環境下的數據庫技術探討甚少;二是側重應用技術,比如單一數據庫軟件技術,如SQL SERVER數據庫或ORACLE數據庫等的培訓,缺乏設計理論。
近年來,上海理工大學光電信息與計算機工程學院對網絡環境下的數據庫理論、設計、應用等內容進行研究,編寫了國家十一五規劃教材《數據庫原理及應用》,并進行了教學檢驗。然而,在教學實踐中,還面臨著很多問題:(1)教學課時減少,而教學內容卻越來越復雜和新穎,如何解決二者之間的矛盾需要仔細探討;(2)傳統的數據庫理論模型與新的應用技術的引用之間如何平衡選取;(3)全新的數據存儲、管理和應用模型還沒有適宜的教材和資料可借鑒;(4)如何在較短的學時內使學生掌握有效的網絡數據庫操作技能,更是一個難題。本文提出了一套新穎的教學模式和方法,核心思想是注重網絡應用的數據庫設計技術、與時俱進的數據庫新技術的引進以及豐富完整的數據庫設計實踐方案。
1.課程架構
傳統的數據庫原理和數據庫技術課程往往走向兩個極端,要么重視原理,要么重視技術。如何將二者融為一體,進一步引入數據庫新技術,并且在縮短學時的情況下提高學生的實際動手設計能力,是一個有挑戰性的難題。上述問題使我們認識到:(1)基礎原理不能放松。因為這些原理能夠讓學生認識到數據庫模型的理論價值,這就需要教師挑選有代表意義的數據庫模型進行講解。(2)數據庫技術是本課程的主要內容,目標是培養學生的數據庫應用分析、設計、開發等技術,因此在加強技術內容的同時必須強化分析、設計和實踐等教學過程。(3)數據庫技術應用性很強,必須與時俱進。特別是近年來,隨著云計算技術和物聯網應用的逐步展開,與此相關的數據庫新技術被引入本科教學中尤為迫切,這些技術包括集群數據庫技術、列數據庫技術,以及計算機集群架構、存儲區域網絡、網絡計算架構等。(4)數據庫實踐的全局性和完整性越來越重要。過去的數據庫教學實踐往往圍繞基礎的SQL、安全性、數據庫備份等基礎技術來進行,這些是一個個知識點的簡單實踐,無法體現數據庫設計與應用的全局性和完整性,學生無法感受到網絡環境下一個數據庫是如何設計與實現的。所以,必須構建能夠覆蓋數據庫設計的各個階段、融合各個知識點、適應網絡環境應用的數據庫設計教學模型。根據上述思想,我們構建了面向卓越工程師教育的數據庫原理及應用課程架構,如圖1所示。
2.課程內容安排
圍繞圖1所示架構,我們對該課程學時進行了安排。總學時為48,其中理論教學學時為32,實踐學時為16。按照上述4個問題,具體教學內容及學時安排如下。
1)簡明的數據庫模型板塊。
該板塊主要分4個部分:第1部分是數據庫引論架構,主要介紹數據庫的概念和架構,通過數據庫存儲模式的變遷,介紹數據庫的三層結構和二個映射,進而介紹數據庫物理的獨立性和邏輯的獨立性,使學生對數據庫的整體有一個完整的直觀認識。這一部分的教學學時為2。
第2部分是關系模型介紹。首先通過關系代數直觀地介紹數據庫模型構建的數學基礎,通過關系的集合、選擇、投影、連接和除法等運算,建立學生的數據庫模型空間,需要2學時;通過關系代數介紹關系數據庫的核心概念,包括碼、外碼、實體的完整性、參照的完整性、自定義完整性,描述關系數據庫設計的抽象模型,通過事例描述讓學生直觀感受關系數據庫,需要2學時;進一步引進范式的定義、模式分解方法,通過簡單事例描述問題本質,重點對概念進行直觀講解,略去繁瑣的推導和證明,主要目的是使學生掌握模式分解技術,需要3學時;SQL語言部分簡單介紹,學生自己閱讀,并上機實踐,需要4學時。
第3部分介紹對象數據庫模型。利用關系模型為基礎,根據對象存儲和訪問的特點,講解對象數據庫基本技術,主要通過對象一關系擴展模型介紹一個應用案例,需要3學時。
第4部分介紹列數據庫應用。通過無線傳感網產生的海量數據存儲的需要,講解列數據存儲模型的優缺點,進而引進HBASE的數據庫的基本介紹,給出參考資料,需要2學時。
2)完備的數據庫分析與設計技術板塊。
本板塊分為3個部分:第1部分介紹新型數據庫存儲架構,從單磁盤、多磁盤RAID、計算機集群存儲和存儲區域網絡等環境,介紹數據庫應用網絡化的過程和存儲模式的基本原理,需要2學時;第2部分為數據庫分析與設計,主要包括數據庫需求分析方法、用E-R模型構建概念模型、用數據庫模型實現數據庫、概念模型到數據庫模型的轉換技術等,需要6學時;第3部分主要講解數據庫的完整性、并發一致性、安全與數據庫恢復技術,這里要結合本板塊前兩部分的內容,把這些技術滲透到數據庫設計及應用的各個階段,需要4學時。
3)完整的實踐模型。
為了適合網絡環境下數據庫的應用,需要構建相應的數據庫應用實踐模型,針對分布式存儲、全局信息目錄、網絡數據服務獲取技術等方面來設計案例。案例首先要考慮在網絡環境下的多個數據庫服務器模式,通過各個服務器上的數據存儲模型的構建,逐步形成全局數據庫模型,引進副本機制、容錯機制,探討數據庫的一致性和完整性應用。其次,要考慮分布與集中存儲的網絡通信代價、存儲代價、數據一致性維護代價、實時性要求、并發規模要求以及實現技術代價之間的平衡,使學生初步掌握網絡環境下數據庫設計的核心框架。第三,通過一種數據庫模型(關系模型、對象存儲模型和列數據存儲模型)在一個模擬網絡環境下實現來鍛煉學生設計開發能力。如果試驗資源有限,可以把學生分成小組,小組內的學生共享計算機,構成網絡數據庫存儲環境。16學時的實踐內容分配如下:基礎試驗環境配置和基本語言環境熟悉需要4學時,數據庫案例實現需要12學時。考慮學生的基礎不同,可以為每個試驗小組配一名輔導員,輔導員可以是做過相關實踐工作的研究生。
4)數據庫新技術。
主要介紹集群數據庫產品和列數據庫系統。例如,初步介紹Oracle RAC和HBase數據庫。然后,列出完整的參考資料,供學生課后閱讀。這一部分用2學時。
3.構建試驗模型
如何在32個理論教學學時和16個實踐教學學時內完成上述教學內容是一個難題。我們運用形象直觀法進行理論教學,運用現代教學手段,構建完整的實驗模型鍛煉學生的應用能力。這些改革措施在上海理工大學近2年的教學實踐探索中獲得了良好的效果。
1)運用形象直觀法進行理論教學。
數據庫原理理論教學是本課程實施的難點,如何在較短的時間內講授龐雜、抽象的理論是一個難題。隨著本科學生與社會需求對接的迫切,各個學校紛紛調整教學計劃,縮短教學時數,提出第4年全實習的概念,把4年的課程壓縮至3年。由于時間的壓縮,首先導致各個課程學時的縮短,進而導致原有的先修課關系受到影響。例如計算機體系結構、數據庫原理、計算機網絡、軟件工程課程并行開設,致使數據庫原理所需的網絡知識、體系結構知識、軟件工程知識得不到有效的時間保證。因此,形象直觀法尤為重要。本文介紹數據庫三層結構、二層映射機制的形象教學方法。
數據庫架構是采用內模式、模式、外模式3層模式,通過模式/內模式映射實現了數據庫的物理獨立性,通過模式/外模式映射實現了數據庫的邏輯獨立性。這些概念需要在緒論中講解,如何使初次學習數據庫的學生能理解這些概念以及明曉該架構的優勢,我們運用形象直觀法解決了這個問題。
假設一個數據庫的模式是一個大象,大象的體重就是數據庫內容;數據庫的外模式就是盲人摸象所得到的一個個局部信息;內模式就是大象所站立的基礎,例如大象初始站在一條小船上,大象的四只腳站在小船上的形式就是內模式(存儲模式)。時間慢慢流逝,大象在長大(比喻數據庫的內容在增加),原有的小船(存儲系統)已經無法承受大象的重量,需要把大象(數據庫)移到兩條小船上(2個存儲系統),而大象的形態保持不變(數據庫的完整性、一致性),把大象遷移到2個船上的機制,就是模式/內模式映射。這種機制表現了數據庫的物理獨立性。另一方面,每個盲人所摸到的位置面積比例在放大,但還是在大象的原有部位,這種保持盲人原有認識不變的機制為模式/外模式映射。同樣,盲人無需知道也不會感知到大象在幾條船上,并且大象的其他部位發生變化,對盲人是沒有影響的,這種機制體現了數據庫的邏輯獨立性。具體內容如圖2所示。
2)通過現代教學手段提高教學效率。
動畫技術和網絡瀏覽Flash技術為數據庫技術的理論講授提供了基礎。針對數據庫內容理論教學任務重的現實,我們對關鍵技術實現了Flash動畫,學生只需一個瀏覽器就可以觀看該課件,同時教師在講授原理時可以充分利用這些動畫,提高教學效率和教學效果。目前我們已經完成了關系代數的形象化教學課件,其他教學動畫還在陸續研制中。
3)構建完整的實驗模型鍛煉學生的應用能力。
針對上海豫園商城財務監管項目的實踐,我們抽象出面向數據庫原理及應用的實驗模型。該模型從企業信息監管的現狀出發,設計出了一種融合多種財務軟件的數據匯集框架。根據子公司分布在不同城區而形成的跨Internet的特點,設計出了多級分布式存儲模式的數據庫模型,對數據庫融合的有利因素和不利因素進行了細致分析。根據監管數據的業務情況,對集團企業的存儲數據量、通信數據量、數據庫事務處理規模給出定量分析。按照軟件工程規范和數據庫設計技術給出了總體設計、詳細設計、數據庫約束以及服務器配置等技術方法。用SQL語言實現了數據定義、用ODBC實現了遠程數據訪問機制。最終,實現了多個數據庫存儲的分布式網絡數據存儲模式。該事例的財務數據及其結構關系如圖3所示。
4)合理組織學生參加實踐組。
由于網絡數據庫的實習需要多臺計算機方可完成,要構建這樣的專有環境勢必給教學資源帶來壓力。為了有效解決這個問題,我們設計了學生實踐組,組內每個學生的計算機都構成了網絡數據庫存儲環境。組的規模不宜過大,設一個教學班為60人,每個組由5人構成,共12組。每個組配置一個實驗輔導員,輔導員可以是具有開發經驗的研究生,他們必須熟悉系統的各個方面。為了充分發揮個人優勢,組內每個成員分配以不同的任務,如圖4所示。
在圖4中,系統配置人員應該熟悉計算機網絡、熟悉IP配置和服務器參數配置,主要負責各個機器上的數據庫安裝與設置。數據庫設計人員的核心任務是根據模型要求,對數據庫的功能、性能和物理處理環境進行分析,并實現上述環境下的數據庫應用模型。遠程數據獲取人員必須具備ODBC或相似支持軟件的程序設計能力,其主要職責是書寫數據服務系統及接口。通信程序設計人員主要熟悉TCP通信模塊,編寫機器間的數據傳輸。數據庫配置分析人員要結合數據庫設計人員、系統配置人員的工作結果,給出數據庫應用過程中的性能、擴展性問題分析。所有人員在完成本工作后,輪換工作角色,對上一次設計結果進行溫習和優化。
5)對數據庫新技術進行探討,逐步引入本科教學。
數據庫技術的教學是一個與時俱進的過程,隨著云計算技術和物聯網應用的飛速發展,新的數據管理和處理技術為數據庫技術的教學內容帶來了新的血液,同時也對數據庫技術的教學者提出了挑戰。我們在上海重點科技攻關項目“廣義網絡環境下的協同信息處理和并行控制技術研究”、教育部博導基金項目“物聯網大規模并發監控實時機制研究”支持下,對無線傳感信息的大規模存儲和遠程并發訪問機制進行了研究探討,除了研究理論方法外,尤其重視數據的存儲和遠程訪問的實現。與此同時,構建了物聯網異構數據網關,探討了無線傳感網海量信息存儲的HBASE技術,實現了馬陸葡萄園的葡萄生長因子信息匯集系統。目前,我們正組織研究生對這些問題歸類、總結、簡化,進而將設計教學案例,融入本科教學中。
4.結語
隨著網絡化應用環境建設的發展,數據系統需要新技術的支撐。同時,卓越工程師教育需要有更強實踐能力的學生。面對教學時數逐漸縮短的現狀,如何培養滿足上述要求的數據庫設計與開發人員成為數據庫技術教學人員亟待解決的問題。本文提出的教學框架和實踐方法在上海理工大學計算機科學技術和網絡工程專業教學實踐中被證明是有效的。本文所介紹的實踐機制是因環境、學生對象、教師研究狀況和實驗設備狀況等諸多因素確定的,教師可以根據這些實際因素設計不同的教學案例。當案例逐漸豐富時,數據庫技術教學的效果將會更好。
(編輯:郭田珍)