前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇數據庫系統原理論文范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
關鍵詞:數據庫課程;個體差異;分類教學實踐模式
同濟大學計算機科學與技術專業作為國家教育部第三批高等學校特色專業建設點,秉承“夯實基礎、面向應用、培養創新、國際接軌”的辦學宗旨,在創造性的“一體兩翼”人才培養模式下,完善了本科教育課程體系,完成了學科方向布局、分類分層培養課程體系建設[1]。基于總的學科發展與各級各類專業人才培養規劃的目標,我們對主干課程之一的數據庫課程進行了教學模式的研究與探索。
數據庫技術是計算機信息系統中的核心和基礎,是應用最廣泛的技術之一,也是計算機科學技術發展最快的領域之一。數據庫課程不僅是計算機科學與技術專業、信息安全專業、信息管理專業等的必修課程,也是大部分非計算機專業的選修課程。通過數據庫課程的教學,學生應掌握數據庫系統的基礎理論、基本技術與實踐技能。在同濟大學計算機系的本科專業必修課數據庫課程的教學實踐中,一方面由于學科發展和分類分層培養目標的確立,使得該課程的教學實踐模式與體系需要進行新的規劃與設計;另一方面,數據庫課程相關的教學和實踐環節中,學生所表現出來的學習興趣、知識背景、創新能力以及未來的就業取向等多方面的差異,也對于傳統的課堂教學模式提出了新的挑戰和研究課題。要取得好的教學與實踐效果,讓學生更好地發揮所長,需要不斷的研究與探索課程的教學實踐模式。
基于計算機系學科發展與專業人才培養總體規劃,根據數據庫課程自身的特點、數據庫相關研究和應用技術的發展,并參考國際、國內一些主要大學數據庫課程的教學資源和科研文獻,我們提出一種數據庫課程分類分層教學模式:根據培養目標、學習興趣、知識背景和創新能力的不同將學生分為3種類型,有針對性地調整和完善課程的教學內容和實踐環節,對不同類型的學生采用不同的教學方式,側重不同的教學與實踐內容,更好地體現該課程教學的基礎性、科學性、先進性與實用性。
1課程的教學對象分類
計算機科學與技術本科專業的培養目標為:培養具備良好的科學素養,系統地掌握計算機科學與技術,包括計算機硬件、軟件與應用的基本理論、基本知識和基本技能與方法,能在科研部門、教育單位、企業、事業、技術和行政管理部門從事計算機教學、科學研究和應用的計算機科學與技術學科的高級專門人才[2]。
但是,同一年級同一專業學生的學習興趣、知識背景和創新能力并不完全相同,如有的學生數學基礎好、擅長理論分析,有的學生編程能力強、喜歡軟件開發,有的學生則傾向于計算機應用系統的管理。因此,基于計算機科學與技術專業和信息安全專業的人才培養總體規劃,根據學生的個體差異,我們將數據庫課程的教學對象與培養目標分為以下3種類型:
1) 理論強化型。學生通過課程學習將具備堅實深入的數據庫理論知識,掌握扎實的實驗技能,具有良好的科學素養和較強的創新能力,能獨立開展科研和實際工作。
2) 工程研發型。學生通過課程學習將掌握數據庫基礎理論和主流數據庫軟件產品,以及數據庫系統分析和設計方法,具備較扎實的研究與開發數據庫應用系統的技能,成為國內乃至國際認可的高級研發型工程技術人才。
3) 應用管理型。學生通過課程學習將掌握數據庫系統基礎理論,以及數據庫系統開發與管理的基本方法,熟悉主流數據庫軟件產品,能較好地設計、管理與評估數據庫項目方案。
目前,國內已有許多高校,以不同形式的實驗班或培訓課程,對不同類型的學生分別培養。如清華大學的“計算機科學實驗班”、北京大學的“元培計劃實驗班”、同濟大學的“圖靈班”和“卓越工程師班”等。在數據庫課程分類教學與實踐模式研究探索中,我們把計算機系特色教學的“圖靈班”、“卓越工程師班”和其他學生分別作為數據庫課程教學的理論強化型、工程研發型和應用管理型對象。
2課程的分類教學與實踐模式
對于上述3種不同培養目標的學生,我們在數據庫課程的教學總綱基礎上,有針對性地設計不同的教學方案,調整課堂授課內容的廣度和深度,選用不同教材,安排不同的課程實驗與課程設計,開展不同的課后活動,引導學生研究與解決不同的開放思考問題,盡量充分調動不同類型學生的學習積極性和主動性,使學生能根據自身的發展目標、研發能力和學習興趣等在各自擅長和需要拓展的領域內得到更充分的發展。
2.1分類調整授課內容
數據庫課程的基本教學內容主要包括:數據庫基本概念、關系數據庫基礎理論、關系數據庫標準語言SQL、數據庫安全性、數據庫完整性、關系查詢處理和查詢優化、數據庫恢復技術、并發控制、數據庫設計與實現以及數據庫技術的新進展等。對于不同類型的學生,我們有針對性地拓展和加強不同部分的知識。
1) 對于理論強化型學生,拓展和加強關系數據庫理論知識,強化數據庫管理系統(DBMS)原理與相關算法實現,如存儲、索引、查詢處理及其優化、事務處理、并發控制、數據庫恢復等的機制與主要算法。教材上傾向于國外原版教材,即《Database System Concepts》[3] 輔之以《Database Management Systems》[4]和《Database Systems: The Complete Book》[5]。
2) 對于工程研發型學生,在關系數據庫理論知識基礎上,強化DBMS的底層算法實現與數據庫系統工程設計方法,介紹基于一種主流數據庫產品的應用系統設計與實現。教材上使用國內經典教材結合國外原版教材,即《數據庫系統概論》[6] 輔之以《Database System Concepts》[3]和《Database: Principles, Program- ming, and Performance》[7]。
3) 對于應用管理型學生,則在關系數據庫理論知識基礎上,強化關系數據庫的查詢優化技術、數據庫事務處理技術、數據恢復和并發控制技術、DBMS的安全技術和完整性檢查技術,介紹基于主流數據庫產品的應用系統設計、開發與管理技術。教材上使用國內經典教材,即《數據庫系統概論》[6]輔之以《Database System Concepts》[3]和《數據庫系統原理》[8]。
2.2分類安排課程實驗
數據庫課程的實驗內容主要包括:數據庫安裝與配置、數據庫使用、SQL語言使用、數據庫安全性、數據庫完整性和數據庫編程等。對于不同類型的學生,我們在課程實驗中有針對性地安排了不同的內容。
1) 對于理論強化型學生,課程實驗將完成6~8個DBMS底層算法的研究與實現,主要包括存儲、索引、查詢處理、查詢優化、事務處理、并發控制、數據庫恢復等算法,另外還有一個理論方法探索或實際應用系統研發的綜合大作業。
2) 對于工程研發型學生,課程實驗將完成4~5個DBMS底層算法的實現,如存儲、索引、查詢處理與優化等的算法,完成1~2個通過ODBC訪問數據庫、數據庫設計與應用開發實驗,一個實際系統工程研發相關的綜合大作業。
3) 對于應用管理型學生,課程實驗將完成6~8個數據庫應用系統設計與管理相關的部分實驗,主要包括安裝了解DBMS、SQL數據定義與查詢、SQL更新與視圖,數據庫事務處理、數據恢復與并發控制、數據安全性與完整性以及一個實際應用開發管理相關的綜合大作業。
2.3分類進行課程設計
數據庫課程設計的目的是讓學生加深對數據庫系統基礎理論知識的理解,提高數據庫應用系統設計與開發的實踐能力,全面拓展數據庫原理課程相關的綜合研發能力。通過課程設計實現一個實際的數據庫應用系統,熟悉并能靈活運用所學基礎理論,掌握數據庫應用系統的設計方法、開發技術,提高分析問題和解決問題的能力,強化動手能力,進一步了解和研究分析DBMS的體系結構與主要技術,并在一定程度上把握課程相關的理論技術發展與前沿動態。數據庫課程設計的主要內容包括3個方面。
1) 數據庫應用系統的研發:綜合運用數據庫理論與技術方法設計一個較完善的有實際意義的數據庫;掌握流行數據庫管理系統SQL Server/ORACLE/ DB2等的應用與開發技術;利用高級語言開發完整的數據庫應用系統。
2)DBMS研究分析以及功能實現與擴展:以開源代碼的DBMS為基礎熟悉并研究分析DBMS的體系結構、基本功能及其實現,完成一些系統功能的實現和進行相應的可擴展性研發,形成系統分析報告、算法實現軟件包和技術文檔。
3) 領域研究綜述與熱點問題研究探討:跟蹤數據庫相關領域的理論與技術發展,完成相關的前沿研究或技術問題的綜述,對領域熱點問題開展研究探討,形成綜述報告、技術報告或研究論文。
對于不同類型的學生,我們開展不同主題的課程設計,有不同的考查側重:
1) 對于理論強化型學生,課程設計更強調在開源代碼的數據庫系統如Postgres上,針對DBMS底層實現做進一步研究與擴展,以3~5人的課題小組為單位,分析開源DBMS的體系結構和主要的技術方法,并對其中某方面進行重點研究與擴展實現;此外,強調對領域前沿的了解,對某方面理論與技術研究的綜合把握與研究分析,并能對一些領域熱點問題展開研究探討,完成領域某方面的綜述報告和研究論文。
2) 對于工程研發型學生,課程設計強調在Oracle或SQL Server等數據庫產品基礎上,以實際應用為背景,以3~5人的課題小組為單位,設計一個中等規模的數據庫應用系統,并要求對系統研發過程中的各個設計與技術實現環節能夠有較全面的把握;此外,強調對領域技術動態的了解,并能對領域技術和應用有較全面的認識和分析,對實際系統研發能形成有效的技術方案和分析報告。
3) 對于應用管理型學生,課程設計將以3~5人的課題小組為單位,在Oracle或SQL Server等數據庫產品基礎上,構建一個實用的數據庫系統,強調數據庫的設計方法和過程的全面把握,以及對項目研發過程中各個實踐環節的全面調度與管理;此外,強調對領域研究與技術動態的了解,對系統開發與應用相關的知識體系和管理模式有較全面的認識和分析,能對實際項目開發與管理形成有效的方案和分析評估報告。
2.4分類開展課后活動
數據庫課程以各種形式的課后活動,培養不同類型學生對課程的學習興趣,是對課堂教學的有益補充。
1) 對于理論強化型學生,增加一些相關的領域研究現狀和動態的介紹,提出一些開放思考問題,引導學生更深入、廣泛地了解相關理論與技術的研究和發展現狀,培養學生對本學科的學術前沿的研究熱情和研究能力。由教師引導學生去找尋一些課程相關的理論與技術熱點或難點問題,主要追蹤數據庫領域的重要國際會議與國際期刊,國際會議如SIGMOD/PODS、VLDB、ICDE等,國際期刊如ACM Transactions on Database Systems (TODS)、IEEE Transactions on Knowledge and Data Engineering (TKDE)、VLDB Journal等,以及追蹤國際國內一些著名的數據庫研究小組,學生以自由組合小組形式展開針對某個主題的研究探討,完成領域綜述以及研究論文,并在討論課上做口頭報告;更進一步鼓勵學生加盟數據庫相關領域導師的實驗室和課題組,參與相關的實際科研項目的研究。
2) 對于工程研發型學生,增強數據庫前沿理論研究與應用技術的介紹,培養學生對本學科的理論與技術前沿的研究探索熱情和研發能力,由教師或企業研發人士引導學生去探討一些相關的理論與技術熱點問題,完成領域技術分析報告以及研究或技術型論文,并在實驗課上做口頭報告;鼓勵學生參與相關導師的實驗室和課題組,具體開展一些相關實際課題的研發;引導學生在小學期的企業實習期間有效地參與和完成實踐項目的調研和分析設計與實現工作。
3) 對于應用管理型學生,加強數據庫軟件產品和應用案例的介紹,培養學生對本學科技術前沿的研究探索熱情和應用管理能力,邀請企業數據庫工程師舉行講座,引導學生去思考一些相關的技術熱點問題,完成領域綜述以及數據庫系統開發案例分析報告,并在實驗課上做口頭報告;鼓勵學生參與相關導師的實際項目研發;引導學生在小學期的企業實習期間有效地參與相關企業項目的研發與管理實踐的調研分析。
3結語
數據庫課程分類教學與實踐模式是計算機本科專業課程教學的一種新模式的探索,通過對學生個體
差異的分析,有針對性地分類采用不同的教學內容、集中實驗以及課程設計和課外輔導,因材施教。在數據庫課程教學研究與實踐中,我們針對計算機科學與技術專業和信息安全專業的本科生探索和逐步應用分類教學和實踐模式,在課堂教學、實驗教學、課程設計、課外實踐等多方面進行了探索,從學生們的課程作業、實驗報告、技術分析報告、應用系統設計、DBMS分析報告、領域綜述報告、研究或技術論文、參與相關導師的研討班與課題工作、期中和期末考試等情況來看,分類教學和實踐模式在較大程度上激發了學生的學習和研究的熱情與潛力,大部分同學取得了較好的學習和實踐效果。當然,我們還需要不斷研究數據庫課程教學與實踐各個環節,特別是課程自身的體系與數據庫日益發展的相關領域的研究與技術應用間的關聯,以探索更合理、更優化的教學實踐模式。
參考文獻:
[1] 蔣昌俊,苗奪謙,王曉國,等.“一體兩翼”的創新人才培養模式[EB/OL]. [2009-02-19]. 高教教學參考,2009,3(1):1. /Model1024.asp?id=1425.
[2] 同濟大學計算機科學與技術系. 計算機科學與技術專業培養計劃(2006修訂)[EB/OL]. [2009-09-30]. cs.tongji. /prog/InforWeb/publish/newsdetail.jsp?newsno=904.
[3] Abraham Silberschatz,Henry F. Korth,S. Sudarshan. Database System Concepts(影印版)[M]. 5th ed. New York:McGraw- Hill,2006.
[4] Raghu Ramakrishnan,Johannes Gehrke. Database Management Systems[M]. 3rd ed. New York:McGraw-Hill,2002.
[5] Hector Garcia-Molina,Jeffrey D. Ullman,Jennifer D. Widom. Database Systems:The Complete Book[M]. New Jersey: Prentice Hall,2002.
[6] 王珊,薩師煊. 數據庫系統概論[M]. 4版. 北京:高等教育出版社,2006.
[7] Patrick O’Neil,Elizabeth O’Neil. Database:Principles,Programming,and Performance[M]. 2nd ed. San Fransisco: Morgan Kaufmann,2001.
[8] 李建中,王珊. 數據庫系統原理[M]. 2版. 北京:電子工業出版社,2004.
Classified Teaching and Its Practice Model for Database System Course
GUAN Ji-hong1, WEI Qing-ting1, 2
(1.Department of Computer Science and Technology, Tongji University, Shanghai 201804, China;
2.School of Software, Nanchang University, Nanchang 330046, China)
一、數據庫技術教學中存在的問題
1.理論與實際聯系不緊密
注重理論教學,數據庫使用技術講述的少,使學生不能將所學知識融會貫通,不能適應企業對數據庫應用人才的需要。
數據庫原理與應用課程是一門實踐性很強的計算機課程,但目前實驗課時少,導致學生不明確實驗目的,實驗內容不清楚,考核中實驗課也沒有一定的比例等。
2.方法和手段過于陳舊
當前數據庫原理與應用課程多采用課件進行多媒體教學,一方面,減輕了教師板書的負擔,增加了授課的信息量,通過課件也能夠使教學內容更加形象化地展現出來;但另一方面,教師在授課時過分依賴課件給教學質量帶來了一定影響,如當學生長時間注視投影時,容易產生視覺疲勞;在使用課件進行教學時,演示節奏加快,不能很好的實現教與學的交互,學生的思維難以與之同步,促使教學質量下降。因此必須綜合的運用多種教學方法和教學手段,合理地使之相結合,調動學生的學習積極性,促進學生的學習。
二、數據庫教學改革的途徑
1.優化教學內容,完善知識體系
在實施數據庫原理與應用課程教學時,應從基本原理、設計方法到應用開發,涵蓋教學內容如下:基本原理包括數據庫系統概述、關系數據庫、關系數據庫查詢語言SQL、關系系統及其查詢優化、關系數據理論等,這些內容是教學的重點,它們涵蓋了關系數據庫的基本原理,對數據庫的設計、應用和開發起著指導作用;設計方法包括軟件工程原則、數據庫恢復技術、并發控制、數據庫安全性、數據庫完整性等;應用開發包括IBM DB2數據庫系統、基于高級程序設計語言的C/S(B/S)構架的應用。
2.改革教學方法,優化教學手段
結合多種教學方法進行教學:①采用案例教學,加快學生的學習步伐。針對課堂教學、實驗教學和課下練習,均設計了不同的教學案例。從數據庫基本原理、設計、實現和開發等諸方面,對案例逐步展開,加快學生對抽象理論和方法的理解與掌握。②采用任務驅動教學法。針對教學中的重要知識點,精心設計教學任務。任務驅動教學法的基本過程為:提出任務、分析任務、學生操作、交流討論、鞏固創新、總結等。在任務的驅動下,促使學生自主思考,并通過自主學習、協作學習等方法,探求解決問題的途徑。③采用理論與實踐相結合的教學方法。設計了與理論教學內容相對應的實驗,以提高學生實踐能力,促進對理論內容的吸收。④采用合作學習教學法。合作學習教學法即結構式分組教學模式,使其和任務驅動教學法相結合,對學生進行合理分組,使之相互合作和激勵,主動積極地參與學習,培養學生探索創新能力和團結協作的精神。該方法主要用在實驗教學當中。
3.注重實踐環節,培養創新能力
教學過程中必須將理論教學與實踐教學相融合,鼓勵引導學生靈活掌握理論知識,并能夠應用到實際工程中。實踐教學是本課程教學的重要環節,上機實驗與課程設計安排要合理。教師在課堂上應給學生指定實驗的主要目的、方法及關鍵點,讓學生能夠帶著問題去上機,使實驗更有針對性,使實驗課程更有意義。上機時應對學生進行實時指導,并對上機過程中普遍存在的問題進行統一講解。在課程的后期需要安排兩周的課程設計或綜合性實驗訓練促進知識點之間的相互聯系,所選題目應具有一定的實用性,讓學生能夠應用軟件工程的基本原理設計一個具有實用價值的數據庫應用系統,使所學知識融會貫通。
①培養創新意識。富于想象并敢于大膽提出問題,注重實踐,具有勤奮努力、百折不撓的拼搏精神,這是進行創新教育的必備條件。
②建立一種全新的創新教育激勵機制。學生課程設計或綜合性實驗后,不但要形成軟件,還應鼓勵學生撰寫相應論文,在論文中闡述其設計思路、運用的知識及自己的體會。對于一些優秀論文,教師應給予一定獎勵,并從中挖掘人才,建立課外研究小組,與教師一起從事數據庫應用和開發研究。
③建立一支富有創新精神的教師隊伍。實施創新教育,培養創新人才,教師無疑是教育的關鍵和主體,教師應通過組織課堂教學、進行課后輔導、開展答疑解難、指導課程設計和綜合性實驗等環節,循循善誘、潛移默化地培養創新人才。
4.改革考核方式,重視能力培養
各企、事業單位內部運行著多個應用信息系統,而應用系統的安全保護等級決定系統運維人員的水平。例如統計核心業務系統信息安全保護等級為二級,因此要求運維人員技能不低于二級等級保護的技能水平。要求核心業務系統運維人員責任心強,熟悉常用的操作系統和系統軟件,掌握關系數據庫常規使用方法和日常數據庫管理的基本SQL操作命令,熟悉統計核心業務系統的功能和結構,具有網絡及硬件設施日常維護能力。從上述計算中心主要的日常運維工作可以看出,計算中心的工作人員應掌握計算機軟、硬件的基本理論知識;熟悉項目建設、技術方案論證、基礎設施建設、需求分析、技術架構、系統部署、系統測試、系統運行維護方案制定、系統的定級測評等軟件開發和運維過程中各個環節的目標、工作任務、主流開發技術等;具有較強的組織、協作、協調溝通能力。由此可見,在企、事業單位的計算中心、信息中心、網絡中心或相關部門,要求任職人員具有扎實的理論基礎、較強的實踐技能和經驗,計算機中心的專業人員在各部門的信息化建設中占主導地位。
二、教學體系與課程教學模式改革思路
1.適應社會需求,完善教學體系。根據學校的特點,明確以培養應用型人才為目標。計算機應用型人才的培養,必須以市場需求為導向,確定人才培養方案。同時積極進行教學改革,研究應用能力、創新能力培養模式,建設穩定的實踐教學基地,完善教學質量控制過程,以達到課內課外教學實踐相結合,提升學生實踐動手能力和創新能力。論文根據實際工作中應用技能的需求,將專業課程分群組、能力培養分方向,優化課程體系。①知識體系模塊化。應用型計算機專業的知識體系主要分為以下幾個模塊:公共基礎課程模塊、專業基礎課程模塊、程序設計課程群、計算機硬件課程群、操作系統課程群、數據庫應用技術課程群、網絡技術模塊、軟件工程與開發技術等模塊。其中:公共基礎課程應強化學生的數學基礎和英語能力;專業基礎課程重點建設《離散數學》、《數據結構》;程序設計課程群建設以C/C++程序設計語言為主線,以《Java語言程序開發》和《.Net程序開發》為兩個選修方向;計算機硬件技術模塊以匯編語言與計算機組成原理為核心,以嵌入式程序設計與開發為方向;操作系統課程群重點講解《操作系統原理》,并以《Linux/Unix操作系統》為選修方向;數據庫應用技術模塊以《數據庫原理》為主體,以提升主流數據庫管理系統的管理與應用能力為具體實踐訓練目標;網絡技術模塊以網絡原理為中心,實踐操作內容以華為網絡體系和思科網絡體系為方向;軟件工程與開發技術模塊以軟件工程為核心,以開發某一領域的應用系統軟件為目的。②實踐技能規范化。目前的教育教學體系理論知識講的多,而實踐訓練較少,以上課程群除課程包含的實驗/上機之外,至少都應單獨設置一門相關的實踐環節課程。目前,獨立設置實踐環節課程如下:專業基礎模塊有2周的《數據結構課程設計》;程序設計課程群有兩門課程實習,即2周的《C/C++課程設計》、3周的《軟件設計實習》;計算機硬件課程群有1周的《計算機組成原理與接口技術課程設計》;操作系統課程群有1周的《操作系統課程設計》;數據庫應用技術課程群有1周的《數據庫課程設計》,并有《軟件設計實習》與之相結合;網絡技術模塊和軟件工程與開發技術模塊均采用3周、校外、校企合作形式的實習。
2.教育教學與課程教學模式改革。課程教學應以應用能力培養為導向,增加實踐性教學環節,廣泛開展校企合作,實現專業化的技能培養,嚴格質量控制過程管理,以提高學生適應社會需求能力。下面以數據庫課程教學改革為例,探討應用型人才培養的課程教學模式。①以應用能力培養為課程教學目標。《數據庫原理》課程以當前主流數據庫技術和應用為背景,以數據庫管理系統為核心、以數據模型為線索,重點講授關系數據庫的理論與應用技能。數據庫應用技術是軟件開發人員必備的一項技能。設計一個數據庫容易,設計一個好的數據庫難。本課程要求學生熟悉數據庫系統的基本概念與原理,掌握數據庫系統的設計步驟和常用方法,能熟練地運用數據庫SQL語言進行數據操縱,具有開發實用的數據庫應用系統的能力并有效地進行數據庫應用系統的維護。②理論實踐相結合,注重實際需求。數據庫技術既有堅實的理論基礎,又是實踐性非常強的一門技術。《數據庫原理》課程必須注意分析實際應用系統設計、開發、運維管理過程中出現的常見問題。如對數據庫管理系統的監控工作,主要包括:定期檢查數據庫集群運行狀態、數據庫對象的空間擴展情況、數據增長情況、數據庫當日備份完成情況、所有實例的狀態、正常登陸到所有數據庫的例程,記錄數據庫的cpu使用、I/O、buffer命中率等。這部分內容在教材中很難見到,但實際工作中卻極為常見,因此必須做必要的講解。③重視設計規范,案例教學,強化實踐能力。數據庫應用系統的設計既有數據庫結構設計,又有應用系統程序設計,一個好的數據庫結構是應用系統的基礎。為了強化學生設計、開發數據庫應用系統的能力,增加了《數據庫課程設計》實踐課。課程以實際應用系統需求為案例,運用常用的CASE工具(如PowerDe-signer),從系統需求分析的數據流圖、業務流圖、數據字典的繪制,到概念模型、邏輯模型、物理模型的建立,嚴格按照給定的數據庫設計規范進行數據庫設計,并撰寫系統需求分析和系統設計文檔。同時以某種程序設計語言為工具進行系統功能開發,實現一個實用的應用系統。④注重課程間的銜接,提倡校企合作。數據庫類課程由有實踐經驗的教師或企業中的數據庫設計、開發人員講授。在系統的設計、開發過程中,數據庫技術與程序設計相結合,學生深刻地認識到數據庫結構設計的重要性,能更深入地理解數據庫設計理論、方法和經驗,同時學生程序設計能力也進一步提升,這門課程是保證學生在校四年程序設計不斷線的重要環節。
關鍵詞:數據庫;備份恢復;應用設計
中圖分類號:TP311 文獻標識碼:A文章編號:1009-3044(2007)06-11494-02
1 引言
隨著信息技術的迅猛發展,計算機在銀行業得到了廣泛的應用,為保證綜合業務信息實時處理系統(以下簡稱綜合業務系統)7×24小時不間斷的安全生產運行,銀行通常采用磁盤陣列機、雙機熱備份、流帶備份等軟硬件容錯技術,以有效提高綜合業務系統的安全性。管理的數據對企業來說是非常重要的,不允許在系統運行發生故障的情況下丟失任何數據,DBMA (Database management system)應該保證應用系統即使發生故障,也能夠在故障清除之后恢復故障發生所丟失的數據。
在當今信息社會,最珍貴的財產并不是計算機軟件,更不是計算機硬件,而是計算機內的寶貴數據。建立網絡最根本的用途是要更加方便地傳遞與使用數據,但人為錯誤、硬盤損壞、電腦病毒、斷電或是天災人禍等等都有可能造成數據的丟失。所以應該強調指出,數據是資產、備份最重要的部分。
鑒于各種因素的不確定性,各大企業,尤其是十分重視數據安全的企業,都采用了數據備份系統。在中國,數據的安全性己得到越來越多的企業的重視。許多商業銀行都采用了遠程數據備份系統,以保障數據的安全。隨著,企業對數據的重視程度的提高,數據備份將成為企業保障數據安全的重要措施。
2 數據存儲備份和恢復概述
2.1 備份和恢復的基本概念
總的來說,備份以及恢復包括了為了預防數據庫的數據丟失,以及為了能夠重建數據而采取的任何策略與手段。
2.1.1 數據庫備份
備份(backup)的最簡單的方式就是復制數據。對于數據庫來說,需要復制的不僅僅是用戶數據,還包括一些重要的數據庫組件,比如控制文件、數據文件等。在發生數據丟失或應用程序錯誤時,可以利用備份來重新建立應用程序所需的數據與環境。
備份可以分為“物理備份”與“邏輯備份”兩種類型。
物理備份(PhysicalB ackup)
物理備份,是指將數據庫文件從一個位置復制到另一個位置上,需要進行備份數據庫包括數據文件、歸檔重做日志以及控制文件等。物理 備 份 就是數據庫文件的復制,這是在數據庫備份與恢復策略中最常使用的一種備份方式。一般利用操作系統自帶的命令和工具來制作物理備份。
邏輯備份(LogicalBackup)
邏輯備份,是利用export(導出)等工具執行SQL語句的方式將數據庫中的數據讀取出來,然后再寫入到一個二進制文件中。在需要恢復的時候,可以利用import(導入)等工具從這個二進制文件中讀取數據,并通過執行SQL語句的方式將他們寫入到數據庫中。對應地,邏輯數據恢復的并不是操作系統物理文件,而是邏輯數據(比如,表和存儲過程)。可以利用export等工具將邏輯數據讀取到一個二進制文件中。在數據庫的備份與恢復策略中,邏輯備份通常作為物理備份的一種補充方式。和物理備份相比,通過備份導出的數據庫和數據文件完全脫離了關系,并且可以被導入到其他的數據庫,甚至運行于其他操作平臺的數據庫中,因此具有更大的靈活性。
2.1.2 數據庫恢復
數據庫系統中的恢復主要是指恢復數據庫本身,即在故障引起數據庫癱瘓以及狀態不一致之后,將數據庫恢復到某個正確狀態或一致狀態。從數據庫理論的角度看,數據庫恢復可以用一個簡單的詞來概括,即“冗余”。換句話說,數據庫是否能夠恢復,主要取決于在系統其他位置是否冗余地保存了當前數據庫的所有信息,而冗余主要是通過數據庫物理備份來實現的。
數據庫的恢復實際上包括了兩個概念:數據庫修復和數據庫恢復。
數據庫修復:數據庫修復是指利用備份的數據庫文件來替換已經損壞的數據庫文件,這項操作主要是在操作系統級完成的。
數據庫恢復:數據庫恢復是指利用重做日志文件的增量備份來重新建立己經丟失的數據,這項操作主要是在操作系統級別完成的。
對于發生介質損壞的數據庫來說(即數據庫文件丟失或損壞),通過數據庫修復可以彌補數據庫的物理缺失,即數據庫文件的損壞與丟失;而通過數據恢復則可以彌補數據庫的邏輯損失,即數據庫中的邏輯數據的損失與丟失。
對數據庫進行物理備份,保留的只是數據庫在進行備份時刻的一個精確副本。通過數據庫修復可以將數據庫恢復到進行備份的那個時刻。但是如果將數據庫恢復到發生故障的那個時刻,就必須通過應用歸檔重做日志和聯機重做的方式進行數據庫恢復。也就是說,先將數據庫恢復到進行備份的那個時刻,然后再在數據庫備份的基礎上,通過應用重做數據而重現從備份時刻開始到故障發生之前這一段時間中所有的數據修改操作,從而將數據庫恢復到故障發生之前的狀態。
2.2 數據安全的因素分析
曾有一位計算機專家說過,系統災難的發生,不是是否會,而是遲早的問題。造成系統數據丟失的原因很多,有些還往往被人們忽視。正確分析威脅數據安全的因素,能使系統的安全防護更有針對性。一般,導致系統失效的因素主要有以下方面:
(1)系統物理故障
主要是系統設備的運行損耗、存儲介質失效、運行環境(溫度、濕度、灰塵等)對計算機設備的影響、電源供給系統故障、人為的破壞等。
(2)系統軟件設計的缺陷
現今操作系統環境和應用軟件種類繁多,結構復雜。軟件設計上的缺陷也會造成系統無法正常工作。另外,版本的升級、程序的補丁等都會對系統造成影響。
(3)使用人員人為失誤
由于操作不慎,使用者可能會誤刪除系統的重要文件,或者修改了影響系統運行的參數,以及沒有按照規定要求、操作不當導致系統失靈。
(4)自然災害
首先,地理環境決定了我國具有較高的自然災害發生率,如地震、嚴重的洪澇災害等。其次,火災也是一大隱患。火災的發生概率要比自然災害高得多。一般來講,一個大型城市每年平均都會發生幾百起火災事故。雖然災害與其他因素相比發生的頻率并不高,但這樣的災害只要發生一次,就會給銀行帶來很大的麻煩。
3 數據存儲備份和恢復的現狀
3.1 目前,銀行業內數據存儲備份和恢復存在如下問題:
其一,目前的系統備份有著和目前的競爭環境不適應的地方。首先,每天的備份均采用手工將數據導出的方法進行,這種備份方式當出現流帶問題或數據庫系統崩潰時,恢復將耗費很多的時間,無法在很短的時間內進行恢復,這將導致整個業務系統的癱瘓。
其二,在非工作時間如果系統意外宕機,必須由系統工程師立即趕赴現場進行系統的重啟和恢復,由于路途耽誤,到達現場后再進行啟動恢復將耗費很多時間,這將對業務造成很大的影響。
同時,現存備份方式存在如下隱患:
第一,由于生產用機不能停機,使開發和測試用的數據和生產數據卷無法完全分離開來,開發系統影響生產系統的性能,生產系統的安全性無法保證。由于開發過程無法完全使用真實的生產數據,因此新開發的應用程序無法具有更高的代碼質量。備份速度慢,不能適應數據量的增長。
第二,不少的系統管理員每天都在做著同一樣的工作― 對數據進行備份。一旦哪一天疏忽了,而這一天系統又恰恰發生了故障,需要進行數據恢復,那么此時就無能為力了。由于整個備份工作完全依賴于系統管理員手工完成,備份無法保證規范性和高可靠性。一方面,日復一日的備份工作加重了管理人員的工作:另一方面,由于是手工作業,數據備份的質量更多地依賴系統管理人員的自覺性,由于出差、生病等各種原因,都可能造成備份工作的疏漏。有時,還可能發生失誤,如誤將有用的磁帶內容覆蓋了。
3.2 ORACLE備份與恢復的基本策略
在開始創建數據庫之前就應該考慮如何指定備份策略,以保證數據庫在發生各種故障時都可以得到恢復,尤其是針對介質故障的情況,如果在創建數據庫之前沒有考慮到備份策略,那么根本就無法應付類似硬盤損壞這樣嚴重的介質故障。在建立備份策略的時候需要具體問題具體分析,比如操作系統的資源配置、數據庫系統的運行要求等都會對備份的策略產生重要的影響。Oracle數據庫作為數據庫領域的主流數據庫產品,其備份準則與策略如下:
如果用一個簡單的詞來概括“數據庫的備份與恢復”,那就是“冗余”。為ORACLE數據文件、控制文件以及重做日志文件建立的備份可以統稱為數據庫的一個“冗余集”。
ORACL E數據庫備份與恢復采用了如下的黃金法則:存儲冗余集的硬盤或其他介質,應當獨立于存儲數據文件、聯機重做日志文件以及控制文件的硬盤或其他介質。通俗地講,所謂法則就是不要把備份的數據和系統當前的正在使用的數據放到同一個位置上。遵循這個法則,就能夠保證即使存儲當前的數據庫文件的硬盤發生損壞,也不會影響到恢復數據庫所需的備份文件,這樣數據庫仍然是可恢復的。
由此可知,一個產品化的ORACLE數據庫至少要求使用兩個硬盤:一個硬盤用于存儲冗余集(應當通過ORACLE的復合功能將聯機重做日志文件以及控制文件復合到這個硬盤中),另一個硬盤用于存儲當前的數據庫文件。
4. 銀行系統備份與恢復方案實現
4.1 利用BCV卷進行快速數據備份
銀行需要全天24小時運作,這給的備份工作留下的時間微乎其微,而隨著銀行的進一步擴展,可供備份的時間將會更少。
BCV ( BusinessContinuanceVolume,業務連續性卷)是EMC存儲上的一塊空間,利用BCV卷可以對STD(Stand volume)標準卷進行快速的數據備份。BCV的使用主要是為了將ORACLE數據庫系統和EMC的設備有機地結合在一起。
對BCV生成的備份數據有三個方面用途:
(1)用于數據庫崩潰時進行數據的恢復,由于每天進行的BCV卷是ORACLE數據庫在每天某個時間點的物理備份,如果數據庫崩潰后需要進行恢復,就可以利用該BCV卷加上archive log進行恢復。由于有當天的數據庫物理全備,所以可以對數據庫進行快速的恢復,以減輕對業務的影響;
(2)將備份出來的數據分流到其他機器上進行報表的分發和處理,以減輕主機的工作壓力,使交易能夠正常進行;
(3)用于程序的測試,由于數據是最近的生產數據的全備份,可以給程序測 提供全真的環境,這樣測試出來的程序有很大的實用性。
要完成基于ORACLE 的BCV聯機備份,需要兩個步驟,第一步是BCV的建立,第二步是BCV的分離。建立BCV是為了得到數據,而分離BCV,則是為了使用數據。BC V一旦建立,就使圖中R1及R2的STD卷和BCV卷處于同步狀態。處于同步狀態時,STD卷所作的一切更改均同步到BCV上,而且這種鏡像過程非常快,對于數十GB的數據量來說,在10分鐘之內均可完成,一旦分離,就可以得到一個數據庫的物理全備,該物理全備可用于數據庫測試和恢復。
利用EMC公司的BCV工具對硬盤或邏輯驅動器進行的鏡像,即將當前的數據庫系統數據精確地復制一份到其它設備中,然后通過分離鏡像的方式就可以得到一個獨方的與當前數據庫完全相同的備份。
4.2 利用SRDF建立容災系統
利用磁帶拷貝進行數據備份和恢復是最常見的傳統災難備份方式。這些磁帶拷貝通常都是按天、按周或按月進行組合保存的。使用這種方式的數據拷貝通常是存儲在盤式磁帶或盒式磁帶上,并存放在遠離基本處理系統的某個安全地點,不過,從使用磁帶拷貝方式進行的系統備份和恢復過程可以看出,基于磁帶拷貝方式的傳統災難備份方式存在明顯缺陷,越來越不適合用戶不斷發展的業務系統的需要。
為滿足當前業務需求,我們選擇了EMC的高端智能存儲系統使用SRDF技術規劃。SRDF技術是EMC公司Symmetrix存儲系統用于保護本地數據的磁盤鏡像(RAID-1)技術的一種發展。EMC SRDF解決方案是基于存儲系統的智能解決方案,與主機的操作類型及應用無關。使用SRDF時,其數據保護機制與服務器CUP、HBA、IO卡及應用處理程序無關,不占用服務器的資源,同時,可自動保護任何服務器類型和任何操作系統中的數據。同時,該智能存儲平臺,通過優秀的CACHE算法使數據盡可能使用CACHE I/0操作替代硬盤I/0操作,將對整個系統硬件性能的提高起著決定性作用
SRDF有如下特點:
SRDF的運行完全獨立于主機和主機操作系統,不額外占用任何主機CPU、主機通道和網絡資源,且支持幾乎所有主流商用主機配置,SRDF是目前較為成熟的遠程實時容災熱備份解決方案。
由于EMC SRDF方案中只要求企業存儲系統之間直接互通,無需對應用作任何修改。系統在進行容災切換時,只需幾條命令即可,整個切換過程簡單,對網點用戶透明。SRDF還支持備份現場到生產現場的恢復(Restoration )。
使用在線的、獨立于主機的鏡像數據解決方案,將生產站點數據復制到一個或多個物理上獨立的目標Symmetrix系統,而勿需考慮位置的遠近。提供的能力包括:同步和異步遠程復制,將數據快速地從源卷傳輸到位于災備中心的遠程卷。并且能徹底改變傳統的白天營業,晚上備份的工作方式。當數據中心運行中斷時,SRDF可以在幾分鐘內從鏡像目標獲得數據,恢復系統的運行。另外,SRDF可以實施數據在不同環境間的實時有效復制―無論這些環境相距遠近。
采用EMC智能存儲系統的SRDF遠程磁盤鏡像技術等作為數據備份技術,生產中心和災備中心之間通過直連光纜實現數據備份通道,生產中心和災備中心通過廣域網的IP協議相連接。
5 結束語
論文首先對數據庫系統的備份和恢復的原理和方法進行了認真的研究,并結合某銀行系統的綜合業務系統的需求,通過ORACLE數據庫的備份和恢復,并利用EMC的BCV,對綜合業務系統的備份和恢復進行了開發。并闡述了數據備份和恢復的重要性,由于數據的重要性,許多大的企業和單位都將數據的備份和恢復放在非常重要的位置上,隨著數據備份和恢復的發展,今后的發展前景將十分的廣闊。
參考文獻:
[1]王海亮.精通Oracle10g備份與恢復[M].中國水利水電出版社,2005.
[2]滕永昌,高楊.Oracle數據庫系統管理[M].清華大學出版社,2003.
[3]孟小峰等.數據庫技術發展趨勢[J].軟件學報,2004(15),12:1822-1836.
[4]趙廣利,趙煥忠.基于Oracle數據庫安全管理技術的實現[J].計算機工程與應用,2000(36),4:98-99.
論文摘要:目前,大多數高職高專院校以《SQL Server數據庫與應用》課程作為計算機等相關專業的專業課,但這是一門理論性較強的課程,傳統的以理論講解為主的數據庫課程教學顯然不能適應高職院校教學,本文針對這一不足提出該課程與一門前臺語言整合的教學改革思路。
1 數據庫技術在計算機信息管理專業中的地位
1.1 課程性質與任務 是“計算機信息管理”專業必修的核心課程,有很強的實用性。教授學生理解關系型數據庫原理,掌握關系型數據庫的設計、管理和維護,讓學生學完之后能夠利用數據庫知識進行信息處理和管理。
1.2 課程培養目標 通過數據庫技術課程的學習,具有設計、使用和維護一個一般數據庫系統的基本能力,能夠根據具體的信息管理工作要求,設計出符合要求的數據庫系統,并掌握一定的界面開發能力。
1.3 課程教學內容 主要知識點:關系型數據庫的基本概念、數據庫的設計、具體創建表、創建數據的方法、常用的數據庫對象、SQL語言,重點是數據的查詢統計語句、數據庫的安全與管理,至少學習一種前臺開發平臺與數據庫的連接及數據基本操縱方法。 能力要求:熟練掌握數據庫的設計與創建、掌握數據庫安全與管理維護操作。通過實際項目的學習,能夠根據用戶需求設計合理數據庫,熟練掌握SQL查詢和統計語句,能夠編寫SQL語句查詢分析數據。
2 數據庫技術課程教學中存在的問題
2.1 單獨開設,注重理論教學,學生運用知識的能力差 目前,大多數高職院校計算機信息管理專業都會單獨開數據庫技術這門課。很多教師在教學活動過程中強調知識點的完整性,按照教材的章節順序進行講解,不能充分調動學生學習的積極性。學完之后,學生只掌握了一些基本概念,一些簡單的SQL語句等,但還不能理解數據庫技術作為信息管理系統后臺技術支持的重要性,在進行數據庫程序開發時,自己不能設計合理的數據庫。
2.2 授課方式、方法不適宜 在傳統的數據庫技術教學中,教師重視理論知識的講解,一般是講解完理論知識,然后操作一遍給學生看,上機課讓學生模仿做一遍。這種教學方式,只是停留在對知識點的學習,沒有把課程系統化,學生不能理解這門課程在整個信息系統開發過程中的具體應用,學生雖然能夠模仿做出每次課程的操作,但對知識的理解不夠深入,自己思考的少,在遇到實際問題的時候不能自己分析解決,甚至在學習過程中興趣不高,感覺不到數據庫技術的作用。
3 數據庫技術與其他前臺語言的整合
數據庫技術作為現代信息化技術的后臺技術支持,除了具有一定的實用性外,還需要前臺語言的連接,這樣才能形成一個具有一定實用價值的系統。目前信息系統的結構是C/S結構或B/S結構。用于C/S模式開發的主要有VB、DELPHI等,用于B/S模塊開發的主要有ASP、JSP、PHP等,目前,隨著電子商務的發展,B/S模式的程序更加普及,社會對B/S模式程序設計、維護的人員需求較大。
考慮到單獨開設數據庫技術的教學效果不是很好,筆者所在的學校嘗試將數據庫技術與ASP整合起來,培養學生網站數據庫的開發維護能力。經過充分的社會調研,分析工作崗位要求確定教學內容,以“夠用、實用”為原則,讓學生學有所得,并培養學生具有一定的自學能力。
改革后,采用項目課程的形式進行教學設計。課程教學內容圍繞學生成績管理系統展開,重點是網站數據庫的設計,并講解一定的前臺網頁開發技術。將教學內容對應到項目的各個環節,整個教學過程模擬計算機企業數據庫項目開發的流程。
3.1 教學內容的分解 進行數據庫項目開發,首先是進行需求分析,明確系統功能,分析當前工作過程中需要存儲的數據,可以收集一些紙質的管理文檔,確定系統需要的基本數據結構,所有數據庫技術課程最先講述的應該是關于系統數據邏輯設計方面的內容;確定系統的基本數據結構后,接下來要做的就是將它轉化為系統的存儲結構,這部分涉及到數據庫的創建和數據表的設計與創建;建好數據庫和表后,就要實現數據庫數據的基本操作,如增加、查詢、修改、刪除,這部分內容一般對應于數據庫項目開發中的程序設計環節,SQL語言的學習;學完數據操作語句之后,針對項目開發中可能涉及的復雜查詢、數據統計,以及實現復合操作的要求,還涉及到視圖的設計與建立、存儲過程和觸發器的設計和創建;學完以上內容之后,涉及的就是數據庫安全和維護方面的內容,屬于數據庫應用項目初步完成之后的工作;最后,就是綜合運用前面所提到的知識,開發一個完整的數據庫應用項目,數據庫技術課程內容的分解及對應的應用程序開發過程如圖1所示。
3.2 課程實施建議 學時:總學時72,其中理論36學時,實踐36學時。前導課程:Excel、網頁制作、ASP。
3.3 項目的實施 教師首先給學生演示開發好的系統,讓學生了解系統的功能,整個項目的開發過程。然后結合教學內容將項目進行分解,明確開發步驟和本課程對應的知識模塊,將整個項目分解為多個子項目,針對每個子項目展開知識講授,并利用項目方式,讓學生分組完成子項目,在所有講授完畢之后,讓學生對子項目進行組合并修改,形成一個完整的項目,最后舉行作品匯報會,讓學生相互評價完成項目的情況,給出評語及建議,教師對學生完成的項目進行驗收和總結課程的教學成果。整個教學過程循序漸進,環環相扣,既將課程內容講授給學生,又讓學生經歷了整個數據庫項目的開發過程,教學效果明顯提高。
3.4 項目教學的保證措施 教學過程設計的再好,如果保證不了實施順利進行,那也是沒有用的,對于項目課程來說,教學過程也是循序漸進的,因此在開展教學之前,任課教師就必須制定保證措施,以保證教學順利進行。根據實踐經驗,我們制定了數據庫技術項目課程的相關措施如下:①教師要摸清學生情況,根據學生特點制定項目內容,并合理分好學生項目組,一個項目組成員,最好要搭配好、中、差的學生,讓他們可以互相學生,保證實訓項目的順利完成,教師在設計項目課程時,難度要適中,才能達到預期的教學效果。②項目的設計要是學生比較了解的實際項目。項目教學中的項目一定要是學生比較清楚,容易理解的實用項目,脫離了這個基本規則,就很難調動學生的積極性。本課程所給出的項目——學生成績管理系統,每個學生考試完都有成績,成績是怎么保存的?學生在家上網就能查詢到自己的成績,這是怎么實現的?學生用了學校的成績管理系統,自然就會想到這些問題,并能激發他們學習興趣。③制定有效、嚴格的成績評定辦法,促進學生保質保量地完成項目。高職學生在學習方面缺乏一定的自律性,在進行項目教學時,不把握好教學過程,教學效果反而會更糟,因為項目課程前后的連貫性很強,學生沒有完成前面布置的項目,后面的項目就無從下手。所有在設計項目課程的同時,一定要制定嚴格、有效的成績評定辦法,以考促學。例如,取消理論考試,考核成績將以項目驗收的成績為準,學生只有通過項目演示、現場答辯的相關考核,才算成績合格。考核方式要給學生一定壓力,督促他們學習,考核方式要注重對職業技能和職業素質的培養、要符合高職學生的特點。
4 結語
在《數據庫技術》的教學實踐過程中,將其與前臺開發技術ASP整合,并采用項目的形式進行教學,教學中數據庫原理的有關內容和概念貫穿于整個教學過程,即讓原理部分與應用緊密結合。這樣既能讓學生能知其然并知其所以然,又能避免了純粹講原理的枯燥和泛味,取得了良好的教學效果。
參考文獻
[1]李康樂.高職高專數據庫技術改革新思路,哈爾濱金融高等專科學校學報.[J],2009.6.