緒論:寫作既是個人情感的抒發(fā),也是對學術真理的探索,歡迎閱讀由發(fā)表云整理的11篇數據庫系統(tǒng)原理論文范文,希望它們能為您的寫作提供參考和啟發(fā)。
中圖分類號:G642文獻標識碼:A 文章編號:1009-3044(2007)05-11445-01
1 引言
根據《高等學校計算機科學與技術專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)》數據庫系統(tǒng)原理課程是計算機科學與技術、計算機工程、軟件工程及信息技術專業(yè)方向的核心課程,主要研究信息模型與信息系統(tǒng)、數據庫系統(tǒng)、數據建模、關系數據庫、數據庫查詢語言、關系數據庫設計、事務處理等核心內容。其中還包括分布式數據庫、物理數據庫設計、數據挖掘、信息存儲與信息檢查、超文本和超媒體、多媒體信息與多媒體系統(tǒng)、數字圖書館等選修內容。關系數據庫理論與設計是整個數據庫系統(tǒng)原理課程中核心中的核心內容。根據筆者近二十年對數據庫課程的講授經驗,從關系數據庫原理課程的教學內容出發(fā)研究數據庫課程的教學方法。
2 認真分析研究教材,注重學科聯系
數據庫是研究數據處理技術的一門綜合性的學科,它涉及到離散數學、數據結構、操作系統(tǒng)、軟件工程、計算機原理及其它應用領域的知識和方法相結合的學科。在關系代數和關系演算中,用到離散數學的理論;在研究數據的物理組織時,用到數據結構的相關知識;在研究事務的并發(fā)時,用到操作系統(tǒng)的理論和方法;在進行數據庫設計時,用到軟件工程的原理和方法;在講授數據庫系統(tǒng)的組成時,用到計算機原理等方面的知識。由于學科的交叉性,突出了數據庫課程在整個計算機學科中的重要地位。
由于大部分學校在講授數據庫系統(tǒng)原理前開設了Visual Foxpro 6.0程序設計課程,它屬于原理的應用部分,是關系數據庫的產品之一。教師在進行課程講授時,要結合理論講清Visual Foxpro6.0應用了數據庫的哪些原理。如數據表來源于規(guī)范化理論或者模式分解理論,Visual Foxpro6.0講的數據表、記錄、字段(數據項)和原理中講的關系、元組、屬性是同一個概念的不同名稱等。
3 注重基本概念教學,為理論學習打好基礎
3.1 弄清概念之間的區(qū)別與聯系
在數據庫課程的教學中,掌握好基本概念對理論課程的學習很有幫助,數據庫中的有些概念貫穿在課程的始終,這些概念的掌握對整個課程的學習有很重要的作用。如數據庫、數據庫系統(tǒng)、關系、元組、實體、屬性、事務、完整性約束等。有的概念聯系比較緊密,弄清概念之間的聯系與區(qū)別,對概念的掌握有較大幫助。如實體和屬性的概念,實體是客觀存在并可以相互區(qū)別的事物,屬性是對實體特征的描述,它們之間有必然的區(qū)別,但是也有一定的關系。實體和屬性不是絕對的,如果屬性需要進一步描述,則屬性就作為實體,反之如果實體不需要再進一步描述,則實體也可以作為另一實體的屬性。如在考慮學生管理數據庫時,政治面貌如果只考慮現在的情況(黨員、團員等),則政治面貌就是學生實體的屬性,但是如果考慮學生何時入團、何時入黨,則政治面貌就是一個實體。再如事務和程序的概念等都有較強的聯系。
3.2 掌握概念定義的前提和層次性
數據庫中的概念由漸入深,隨著課程教學內容的逐漸深入一些基本概念也更加具體和完善。例如在課程中,有四個地方都定義了碼,在介紹概念模型時,碼定義為:唯一標識實體的屬性集。在研究關系模型時,碼定義為:表中的某個屬性組,它可以唯一確定一個元組。給出了碼的粗略描述,沒有實質性的量化定義。而在關系數據庫中,講授關系的形式化定義時,碼定義為:若關系中某一屬性組的值能唯一的標識一個元組,則稱該屬性組為候選碼,若一個關系有多個候選碼,則選中一個為主碼。在講授規(guī)范化理論時,學習了函數依賴后,利用函數依賴的概念定義碼為:設K為R中的屬性或者屬性組合,若KU則K為R的候選碼。若候選碼多于一個,則選定其中的一個為主碼。從理論上來說,這四個概念都是正確的,但一個比一個更具體、更嚴密、更準確。
同樣在對函數依賴講授時也采用了同樣的手法,在關系數據理論中函數依賴定義為:設R(U)是屬性集U上的關系模式,X、Y是U的子集,若對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數確定Y或者Y函數依賴于X,記作XY。為了便于Armstrong公理的證明,對函數依賴又給出了定量的描述。定義為:若對于R(U)的任意一個可能的關系r,t和s是r的任意兩個元組,X、Y是U的子集,若對于任意一個t[X]=s[X],必然有t[Y]=s[Y],則稱X函數確定Y或者Y函數依賴于X,記作XY。教師要講清楚對同一概念為什么這樣處理,這些概念層層的描述有什么好處。掌握了同一概念的不同定義,便于對這些概念的深入理解。
4 注重理論與實踐的結合
4.1 注重動手能力,搞好課程實驗
學習數據庫課程的主要目的是為了應用,結合所學的數據庫語言搞好每一章的課程實驗,以便驗證所學理論是很重要的。如在講授SQL語言時,讓學生建立一個數據庫,并結合所學內容做查詢、插入、刪除、修改等實際操作,真正理解和掌握SQL語言的應用環(huán)境。在講授數據庫安全性和完整性時,利用實際系統(tǒng)讓學生對系統(tǒng)做數據控制。提高學生對數據庫課程的認識,激發(fā)學生的學習欲望。
4.2 加強課程設計,提高學生綜合能力
數據庫設計理論主要是為了指導數據庫實踐,通過系統(tǒng)的理論學習和部分單元訓練,通過課程設計讓學生掌握數據庫設計的全過程,并進一步掌握數據庫課程。課程設計是數據庫中必不可少的,我采取將學生分組的方式每5-6名同學一組,為每組同學擬定一個題目,如圖書管理系統(tǒng)、學生檔案管理系統(tǒng)、銷售管理系統(tǒng)、能源管理系統(tǒng)等,教師提出要求讓學生深入圖書館、學生管理部門或者企業(yè)進行系統(tǒng)調查,進行需求分析設計出數據流圖,編寫數據字典,然后進行概念結構設計,從數據流圖和數據字典中提煉出E-R圖,再進行邏輯結構設計、物理結構設計、數據庫實施和維護的設計。讓每一位同學明確數據庫設計的過程,使每一組同學進行上機調試,使所有功能進行程序實現,最后讓同學們進行設計答辯。
通過課程設計和設計答辯,學生鞏固了理論知識,豐富了課程實踐,掌握了如何運用理論指導實踐,也對今后其它課程設計以及畢業(yè)設計和畢業(yè)論文的書寫打下了基礎,收到較好的效果。
4.3 擴展學生思路,向學生傳授新知識
由于課本的出版周期長,更新也較慢,也由于課本編寫的一些要求,所以課本上有些內容是陳舊的,對有些問題也不可能全面的介紹,有些新知識也很難溶入到教材中。我在講授課程時,除了給學生有意補充新知識外,又給學生開設了“數據庫中的空值問題”、“數據倉庫和數據挖掘技術”、“目前數據庫的研究方向”、“數據庫的查詢優(yōu)化問題”等專題講座。擴充了學生的視野,激發(fā)了學生的興趣,為他們今后的學習和研究打下了一定的基礎。
5 結語
數據庫系統(tǒng)原理課程是計算機專業(yè)的核心課程,隨著計算機科學的發(fā)展,數據庫系統(tǒng)原理課程也在不斷的發(fā)展,教學內容不斷更新,教學方法也在不斷改革,所以課程教學改革是一個永恒的課題。只有不斷的改革教學方法和教學手段,才能使教學更加豐富,使學生學到更多的知識。
參考文獻:
[1]教育部高等學校計算機科學與技術教學指導委員會編制.高等學校計算機科學與技術專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)》[M].北京.高等教育出版社,2006.
關鍵詞:數據庫系統(tǒng);教學改革;創(chuàng)新能力
中圖分類號:G642 文獻標識碼:B
1數據庫系統(tǒng)課程教學中的局限性
本科數據庫系統(tǒng)課程通常包括三部分內容:數據庫原理、數據設計和數據庫應用。數據庫原理是其基礎,數據庫設計和應用是提高,它們相輔相成、互相促進。大部分院校都將數據庫應用作為一門獨立的課程開設,開設Visual FoxPro、Delphi、SQL Server等。綜合考慮,數據庫系統(tǒng)課程開設存在一些共同的缺陷。
1.1重視理論教學,輕視數據庫設計
在教學時,多數教師重點偏向理論教學,對數據建模、關系數據庫、數據查詢語言核心內容用大量的時間講授,而對于數據庫設計則用很少的時間,很少向學生介紹具體的數據庫使用技術,使學生不能將所學知識融會貫通,不知道如何將所學理論與實際結合。致使部分學生對數據庫系統(tǒng)課程失去應有的興趣,學生不能掌握課程的實質,達不到應有的目標。
1.2對實踐教學環(huán)節(jié)重視不夠
目前實驗課教學存在很多弊端,例如學生不明確實驗目的,實驗內容不清楚,考核中實驗課也沒有一定的比例等,使得實驗流于形式,既花費了時間又沒有起到應有的作用。
1.3課程內容相互獨立,忽視知識間的聯系
數據庫系統(tǒng)中,各章之間聯系相對緊密,有些概念在不同的章節(jié)中重復出現,但這些概念都是由淺入深,逐步完善,知識點也是相互交錯。教師講授時,有時忽視這些知識間的聯系,將問題單一化,不利于學生知識的掌握。例如在關系數據理論中,在講授將關系分解為保持函數依賴的第三范式并具有聯接無損性的算法時,要求在求出極小集后,將函數依賴按左部相同的合并,并將每一組依賴作為一個分解。在講授數據庫設計時,在邏輯結構設計時,要求實體之間的一對一關系,可以將兩個實體的碼組成一個關系也可以與任意一端的關系合并,對一對多關系,可以將兩個實體的碼組成一個關系也可以與將一端關系的碼與一端關系合并,同時強調具有相同碼的關系可以合并。實際上,模式分解理論與邏輯結構設計的轉換規(guī)則是相同的;在模式分解中,函數依賴的左邊屬性一定是關系的碼,而在邏輯結構設計時,一對一或者一對多的關系也是將被決定屬性合并到決定屬性(碼)所在的中關系中。
1.4考核模式單一,不利于學生能力的發(fā)揮
傳統(tǒng)的考試模式通常以期終一張試卷作為學生的最終評分依據,造成學生為考試過關而學,死記硬背一些概念、規(guī)則方法,而不能提高學生自身能力,教師僅為完成教學任務而教,并不注重培養(yǎng)學生的能力。
2教學改革的方法及措施
2.1注重基本概念教學
在數據庫課程的教學中,掌握好基本概念對理論課程的學習很有幫助,數據庫中的有些概念貫穿在課程的始終,這些概念的掌握對整個課程的學習有很重要的作用。如數據庫、數據庫系統(tǒng)、關系、元組、實體、屬性、事務、完整性約束等。有的概念聯系比較緊密,弄清概念之間的聯系與區(qū)別,對概念的掌握有較大幫助。如實體和屬性的概念,實體是客觀存在并可以相互區(qū)別的事物,屬性是對實體特征的描述,它們之間有必然的區(qū)別,但是也有一定的關系。實體和屬性不是絕對的,如果屬性需要進一步描述,則屬性就作為實體,反之如果實體不需要再進一步描述,則實體也可以作為另一實體的屬性。如在考慮學生管理數據庫時,政治面貌如果只考慮現在的情況(黨員、團員等),則政治面貌就是學生實體的屬性,但是如果考慮學生何時入團、何時入黨,則政治面貌就是一個實體。再如事務和程序的概念等都有較強的聯系。
另外,數據庫中的概念由漸入深,隨著課程教學內容的逐漸深入一些基本概念也更加具體和完善。例如在課程中,有四個地方都定義了碼,在介紹概念模型時,碼定義為:唯一標識實體的屬性集。在研究關系模型時,碼定義為:表中的某個屬性組,它可以唯一確定一個元組。給出了碼的粗略描述,沒有實質性的量化定義。而在關系數據庫中,講授關系的形式化定義時,碼定義為:若關系中某一屬性組的值能唯一的標識一個元組,則稱該屬性組為候選碼,若一個關系有多個候選碼,則選中一個為主碼。在講授規(guī)范化理論時,學習了函數依賴后,利用函數依賴的概念定義碼為:設K為R中的屬性或者屬性組合,若KU則K為R的候選碼。若候選碼多于一個,則選定其中的一個為主碼。從理論上來說,這四個概念都是正確的,但一個比一個更具體、更嚴密、更準確。
同樣在對函數依賴講授時也采用了同樣的手法,在關系數據理論中函數依賴定義為:設R(U)是屬性集U上的關系模式,X、Y是U的子集,若對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數確定Y或者Y函數依賴于X,記作XY。為了便于Armstrong公理的證明,對函數依賴又給出了定量的描述。定義為:若對于R(U)的任意一個可能的關系r,t和s是r的任意兩個元組,X、Y是U的子集,若對于任意一個t[X]=s[X],必然有t[Y]=s[Y],則稱X函數確定Y或者Y函數依賴于X,記作XY。教師要講清楚對同一概念為什么這樣處理,這些概念層層的描述有什么好處。掌握了同一概念的不同定義,便于對這些概念的深入理解。
2.2注重理論與實踐的結合
學習數據庫課程的主要目的是為了應用,結合所學的數據庫語言搞好每一章的課程實驗,以便驗證所學理論是很重要的。如在講授SQL語言時,讓學生建立一個數據庫,并結合所學內容做查詢、插入、刪除、修改等實際操作,真正理解和掌握SQL語言的應用環(huán)境。在講授數據庫安全性和完整性時,利用實際系統(tǒng)讓學生對系統(tǒng)做數據控制。提高學生對數據庫課程的認識,激發(fā)學生的學習欲望。
2.3加強課程設計,提高學生綜合能力
數據庫設計理論主要是為了指導數據庫實踐,通過系統(tǒng)的理論學習和部分單元訓練,通過課程設計讓學生掌握數據庫設計的全過程,并進一步掌握數據庫課程。課程設計是數據庫中必不可少的,我采取將學生分組的方式每5~6名同學一組,為每組同學擬定一個題目,如圖書管理系統(tǒng)、學生檔案管理系統(tǒng)、銷售管理系統(tǒng)、能源管理系統(tǒng)等,教師提出要求讓學生深入圖書館、學生管理部門或者企業(yè)進行系統(tǒng)調查,進行需求分析設計出數據流圖,編寫數據字典,然后進行概念結構設計,從數據流圖和數據字典中提煉出E-R圖,再進行邏輯結構設計、物理結構設計、數據庫實施和維護的設計。讓每一位同學明確數據庫設計的過程,使每一組同學進行上機調試,使所有功能進行程序實現,最后讓同學們進行設計答辯。
通過課程設計和設計答辯,學生鞏固了理論知識,豐富了課程實踐,掌握了如何運用理論指導實踐,突出了學生在教學中的中心地位,發(fā)揮學生的主觀能動性。這樣既使學生掌握了數據庫設計的理論又使學生學習了系統(tǒng)設計的方法,既提高學生程序設計能力又鍛煉了學生的協作能力,也為學生今后撰寫畢業(yè)論文(設計)打下了堅實的基礎。
2.4擴展學生思路,向學生傳授新知識
由于課本的出版周期長,更新也較慢,也由于課本編寫的一些要求,所以課本上有些內容是陳舊的,對有些問題也不可能全面的介紹,有些新知識也很難溶入到教材中。我在講授課程時,除了給學生有意補充新知識外,又給學生開設了“數據庫中的空值問題”、“數據倉庫和數據挖掘技術”、“目前數據庫的研究方向”、“數據庫的查詢優(yōu)化問題”等專題講座。擴充了學生的視野,激發(fā)了學生的學習興趣,為他們今后的學習和研究打下了一定的基礎。
2.5改革考試模式,注重學生能力的提高
試卷考試主要考查數據基礎理論知識,同時將平時成績和上機實習成績尤其是數據庫課程設計的成績納入最終成績中,使平時成績占30%-40%,降低期末考試的分數,讓學生用更多的時間投入到平時的學習中。
3結束語
數據庫系統(tǒng)課程是計算機專業(yè)的核心課程,隨著計算機科學的發(fā)展,數據庫系統(tǒng)原理課程也在不斷的發(fā)展,教學內容不斷更新,教學方法也在不斷改革,所以課程教學改革是一個永恒的課題。只有不斷的改革教學方法和教學手段,才能使教學更加豐富,使學生學到更多的知識。
參 考 文 獻
[1] 王珊,薩師煊. 數據庫系統(tǒng)概論(第四版)[M]. 北京:高等教育出版社,2006.
中圖分類號:G434 文獻標識碼:A 文章編號文章編號:16727800(2013)008017402
作者簡介作者簡介:邱月(1979-),女,碩士,湖北經濟學院信息管理學院講師,研究方向為數據庫技術。
0 引言
數據庫技術已經成為先進信息技術的重要組成部分,是現代計算機信息系統(tǒng)和計算機應用系統(tǒng)的基礎和核心。數據庫技術是將數據庫與軟件開發(fā)相結合,數據庫設計和基于數據庫的應用程序開發(fā)。為此,課程要求學生選用主流DBMS,自選某種高級程序設計語言,實現一個完整的以數據庫為核心的B/S或C/S架構的應用系統(tǒng)。掌握設計實現一個完整的產品化導向的數據庫應用系統(tǒng)的流程和方法,包括需求分析、數據庫設計、應用程序設計。本文分析了湖北經濟學院開設數據庫課程設計以來,實踐教學環(huán)節(jié)中存在的問題,結合項目模擬實訓教學方法的基本原理,提出了基于團隊項目模擬實訓的數據庫課程設計教學方法的具體方案及實施效果。
1 數據庫課程設計教學現狀
(1)題目過少不夠開放。湖北經濟學院是一所財經類教學型學校,開設的主要專業(yè)為經濟管理類。但目前的題目多數都是老師提供給學生的,題材類似,不可避免地會出現學生相互抄襲的現象。另外,題目呆板,沒有和本校的專業(yè)特色相結合,選擇余地太少。長此以往,會使學生養(yǎng)成不勞而獲的壞習慣,不利于學生畢業(yè)之后適應競爭激烈的社會。
(2)學生輕分析設計,重編程實現。 學生把編程工作放在數據庫設計中的首要位置,輕數據庫及其對象的設計,重開發(fā)工具的使用。很多學生只重視系統(tǒng)功能模塊的設計與實現,缺乏全局觀念。
(3)學生缺乏整體意識,團隊協作能力不強。在數據庫系統(tǒng)開發(fā)的過程中,學生對系統(tǒng)沒有整體規(guī)劃,經常把時間都花在需求分析和系統(tǒng)實現上,造成在學生項目后期沒有時間做系統(tǒng)測試,這樣開發(fā)出來的系統(tǒng)必然出現很多問題。
軟件開發(fā)是一個系統(tǒng)工程,特別強調團隊協作能力。如果一個課程設計題目只讓學生一個人完成,缺少與他人相互的交流,不利于交流與溝通能力的培養(yǎng)和項目的正常開展。原有教學模式下,學生做課程設計往往單打獨斗,沒有形成一個團隊。
(4)課程考核方式不夠科學。老師通常采用平時成績和實驗報告相加權作為總成績。在這種考核方式下學生是被動地完成任務,不知道所做項目的評定標準,因而積極性不高,也不能通過項目設計有效地提升自己的能力。
2 數據庫課程設計基礎準備及教學目標制定
2.1 基礎準備
綜合性的實驗課程往往需要很多課程作支撐。在該課程開設之前,前期學生應該已經學習了C、C++等一些經典的程序設計課程,學習了數據庫原理及軟件工程課程,對于數據庫原理課程中的相關概念例如數據庫文件的創(chuàng)建、表的建立以操作、視圖與SQL查詢、存儲過程與觸發(fā)器等進行了相關實驗,對于關系型數據庫基本概念和特性有一個比較完整的認識。由于課程設計中需要將數據庫原理與工程項目相結合設計出具體的應用程序和界面,所以學生還需掌握至少一門前臺開發(fā)工具,如 、或PHP等,讓不同層次的學生選擇不同的培養(yǎng)方案,有針對性地進行學習。
2.2 教學目標
結合教材上關于數據庫設計的思想和方法,對一些簡單的信息管理問題進行必要的分析和設計。在掌握了數據庫系統(tǒng)的基本原理和基本方法的基礎上,熟悉數據庫管理系統(tǒng)的工具及語言。能查閱資料解決數據庫技術方面的問題,具備在微軟開發(fā)平臺下進行數據庫設計和管理操作能力,培養(yǎng)數據庫應用系統(tǒng)開發(fā)的基本能力,項目合作、團隊精神及小組交流的能力,培養(yǎng)學生運用數據庫管理系統(tǒng)解決實際問題的能力。
3 數據庫課程設計教學構思
課程組根據學生的實際情況,制定了相應的教學計劃。本課程安排在一個學期內,32學時,每周具體安排如表1所示。
3.1 人員安排及開題
把整個班級按照開發(fā)小組的形式進行分組,每組4~5人,選一名組長,每個同學承擔不同的角色,共同完成任務。在整個過程中,為了達到鍛煉的目的,每個同學的角色可以互換。
在選題方面,應充分考慮到學生的專業(yè)特色,體現經管類專業(yè)的特點,選擇具有專業(yè)特色的案例,以激發(fā)學生的學習興趣。比如,針對“旅游管理”專業(yè)和“國際金融”專業(yè),可以根據專業(yè)要求來分別制定教學案例,使學生在數據庫課程設計中加深對本專業(yè)課程的理解,從而達到數據庫課程設計和專業(yè)特色融合的目的。在制定選題的過程中,教師應進行充分的調研,與該專業(yè)的教師進行討論,幫助學生選擇他們熟悉的題目,如旅游酒店管理系統(tǒng)、學生成績管理系統(tǒng)、人力資源管理系統(tǒng)等,或者選擇學生生活中經常接觸、能很快上手的內容。同時,應注意控制題目的規(guī)模和難度,使學生經過努力后能在規(guī)定的時間內完成。這個階段可以充分調動學生的積極性,鼓勵學生自己選題組建項目小組。這種方式經檢驗取得了較好的效果。
3.2 需求分析
在此階段,要盡可能收集課題的全面需求,利用不同小組互相模擬實際用戶的形式,開小組討論會來確定需求,增強學生的溝通能力和開發(fā)興趣,并引導學生自己畫出數據流圖。
例如,某家工廠的采購部每天需要一張訂貨報表,表中列出所有需要再次訂貨的零件。對于每個需要再次訂貨的零件列出下述數據:零件編號、零件名稱、訂貨數量,目前價格、主要供應者。零件入庫應有入庫單,零件出庫應有出庫單,通過放在倉庫中的CRT終端把入庫單或出庫單報告給訂貨系統(tǒng)。當某種零件的庫存數量少于庫存量臨界值時就應該再次訂貨。
當系統(tǒng)比較復雜時,應當采用分層描述的方法。一般第一層描述系統(tǒng)的全貌,第二層分別描述各子系統(tǒng)的結構。如還未表達清楚,可以繼續(xù)細化。
3.3 系統(tǒng)設計與實施
確定用戶需求后,進入系統(tǒng)設計階段。物理設計階段應該充分利用表、視圖、存儲過程、觸發(fā)器等各個數據庫對象的特點,建立一個完整的數據庫。要引導學生利用課程設計來熟悉數據庫開發(fā)的一些常用技術和工具。例如,在數據庫課程設計中可以教學生怎樣使用Power Designer來做數據庫設計。在軟件公司實際的數據庫系統(tǒng)開發(fā)中,有很多工具可以直接完成從數據庫概念模型到物理模型的設計和轉化。
系統(tǒng)實施階段,各小組可以選擇自己熟悉的程序設計語言動手編寫代碼,完成系統(tǒng)各個模塊的功能。開發(fā)語言可選擇機房環(huán)境,有Java、VB、VC、PB等;數據庫可使用提供的SQL Serever2000、DB2、MySQL5等主流DBMS;軟件架構兩層、三層都可以。教師對各小組學生在設計中遇到的具體問題,有針對性地給與啟發(fā)式的引導。
3.4 系統(tǒng)測試
系統(tǒng)測試階段可以選取小組之間交換測試,主要從功能測試、數據庫測試兩個方面找出系統(tǒng)的缺陷,對軟件質量進行評價打分。列出測試計劃,往各數據庫表中插入正確的測試數據,測試數據插入情況和各種約束作用,并記錄結果;往各數據庫表中插入錯誤的測試數據,記錄出錯結果;在各數據表中修改測試數據,記錄測試結果;各數據表中刪除測試數據,記錄測試結果;創(chuàng)建各權限等級的用戶,授予相應的權限,然后按權限等級執(zhí)行相應操作,查看操作結果是否正確,最后再編寫實驗報告。
數據庫功能測試主要是對界面進行測試,按用戶類型進行分部測試,查看每一種類型的用戶功能是否有欠缺;用戶操作是否符合實際,是否具有意義;尤其是在功能實現上,不同情況,會有怎樣不同的處理;查看在出錯的情況下,系統(tǒng)如何處理。3.5 完成設計報告
設計報告主要內容要求有系統(tǒng)需求分析(功能模塊圖)、基本ER圖(要求標明主碼、外碼、聯系類型)、用戶子模式設計、按模塊分析所編寫的應用程序等。撰寫設計報告前小組中各成員必須對自己的工作進行歸納、分析和總結。小結一般包括工作內容、工作量大小、自己完成情況、遇到的問題以及解決方法、收獲與體會、今后努力與改進方向等。教師給出設計報告書寫規(guī)范,學生根據系統(tǒng)分析設計結果完成該部分內容。報告編寫是考查一個學生總結工作、撰寫科技論文的能力。該環(huán)節(jié)考查的重點:報告是否內容完整、充實,條理是否清楚,格式是否符合科技文章規(guī)范。
3.6 檢查與考核
考核是檢驗教學成果的有效方式和重要手段,對學生學習和教師教學具有重要導向作用,不同的考核方式能激發(fā)學生的學習動機。除了加強平時考勤外,教師還需在每個階段對各個項目小組進行跟蹤檢查,對各個階段的完成情況進行記錄。從數據庫原理、數據庫應用和數據庫設計三方面對學生進行綜合評測,達到對數據庫系統(tǒng)主要內容和框架的評測。具體考核指標權重為:平時表現 (25%) + 任務完成情況 (30%) + 答辯 (20%) + 設計論文 (25%)。同時還要鼓勵學生在課程設計后,盡量撰寫相應科研論文,積極申報校級學生科研項目。對于能力非常突出的學生,可以建立課外研究小組,讓他們參與到教師在研的省部級科研項目中,進一步提升他們的專業(yè)技能和綜合素質。
4 結語
數據庫技術是一門理論和實踐并重的學科。課程設計是否成功的標準在于學生是否通過項目開發(fā),將自己所學到的數據庫知識運用于實際需求中,是否提高了學生的動手能力。通過兩年的教學實踐證明,以這種方式開展課程設計更貼近企業(yè)實際的項目開發(fā)方式,能倡導學生主動參與的探究式學習和研究,改變學生被動接受、大量反復操練的學習和實驗方式, 真正培養(yǎng)學生嚴謹周密的思維和臨時處理問題的能力,滿足企事業(yè)單位信息化建設的用人需求,有效地解決了理論教學與實踐教學脫節(jié)和經管專業(yè)學生數據庫工程實踐能力薄弱的問題。另外,做好數據庫課程設計作業(yè)有利于學生畢業(yè)設計報告和畢業(yè)論文撰寫。今后學生面臨的畢業(yè)設計其實就是一個完整的系統(tǒng)設計,是課程設計的擴大化、完整化,為設計報告的撰寫、文獻資料的查閱也為今后撰寫畢業(yè)論文打下堅實的基礎。
參考文獻參考文獻:
[1] 趙慧敏,楊鑫華,牛一捷. 數據庫課程設計實踐教學改革探索[J].當代教育論壇,2011(8).
[2] 張志鋒,王文冰.以就業(yè)為導向的學生綜合能力培養(yǎng)教改研究[J].計算機教育,2010(11).
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)35-10035-02
數據庫技術從20世紀60年代中期產生到現在幾十年來得到了迅速的發(fā)展,是計算機科學技術中發(fā)展最快的技術之一。在計算機輔助設計、人工智能、電子商務、工農業(yè)生產、行政管理、科學研究和工程技術等諸多領域得到了廣泛應用,已經成為計算機信息系統(tǒng)和應用系統(tǒng)的核心技術和重要基礎。通過這門課程的學習,使學生能夠正確理解數據庫的基本原理,熟練掌握數據庫的設計方法和應用技術。作為培養(yǎng)數據庫應用人才的主要基地,高等院校在過去、現在和將來都發(fā)揮著不可替代的核心作用。然而一些高等院校在傳統(tǒng)的課程教學過程中強調數據庫理論知識的完備性,缺乏學習的應用性和針對性,理論性強、概念抽象,理論和實踐教學存在不同程度的脫節(jié)。而應用性課程的教學又多以低端數據庫系統(tǒng)平臺為基礎,如SQL Server, Access等,對大型數據庫系統(tǒng)服務器的管理和應用涉及較少,不能很好地滿足企業(yè)對人才的需求。因此分析該課程目前教學過程中存在的主要問題,研究教學改革方案,就教學內容、教學方法、教學手段、教學組織與管理、考核方式等方面進行研究具有十分重要的意義。
1 傳統(tǒng)教學中的局限性
結合自己的教學體會,分析了計算機及相關專業(yè)數據庫原理與應用課程的教學現狀,認為該課程教學過程中存在的主要問題有以下幾個方面。
1.1 理論與實際脫節(jié)
數據庫原理與應用課程一般包括數據庫原理、設計和應用三個部分。原理是其基礎,設計和應用是提高,他們相輔相成、互相促進。但是目前一些高等院校教學的基本情況如下:
1)教師重點偏向理論教學,很少向學生介紹具體的數據庫使用技術,使學生不能將所學知識融會貫通,不能適應企業(yè)對數據庫應用人才的需要。
2)教師重點偏向流行數據庫開發(fā)工具的使用,忽視甚至放棄原理的教學,造成學生對具體開發(fā)工的操作能力突出,但缺乏完整的知識結構。高等院校數據庫原理與應用課程的教育目標是培養(yǎng)社會需求的數據庫應用人才,這就要求培養(yǎng)的學生既理解原理、具有扎實功底,又善于靈活運用、富于創(chuàng)新。
1.2 對實踐教學環(huán)節(jié)重視不夠
數據庫原理與應用課程是一門實踐性很強的計算機課程,但目前實驗課教學存在很多弊端,例如學生不明確實驗目的,實驗內容不清楚,考核中實驗課也沒有一定的比例等。
1.3 教學實踐有悖工程化原則
現代企業(yè)數據庫應用基本上是工程化的合作開發(fā),其基本特征是按軟件工程學的原則進行組織,軟件工程學的基本方法融入數據庫原理與應用課程的實踐環(huán)節(jié),使學生盡早建立起工程化的概念,順應人才市場需求的一條原則,但考察目前的教學過程可以看到,除了畢業(yè)設計(論文)之外,從課后作業(yè)、上機實踐到課程設計,幾乎都是學生的個人行為,大多數學生是抱著應付差事的心理被動地來完成這些任務的,缺乏創(chuàng)新思維。在畢業(yè)設計(論文)中反映出許多學生不懂得如何合作開發(fā)一個實用的數據庫應用系統(tǒng),嚴重影響了畢業(yè)設計的質量,學生畢業(yè)后也不能迅速適應所在單位的工作要求。
1.4 教學方法和手段缺乏多樣性
當前數據庫原理與應用課程采用CAI課件進行多媒體教學日趨流行,使用多媒體課件教學一方面減輕了教師板書的負擔,增加了授課的信息量,同時好的課件也能夠使教學內容更加形象化地展現出來;但另一方面,教師在授課時對課件的過分依賴也給課程的教學質量帶來了一些問題,如當學生長時間注視投影時,容易產生視覺疲勞;由于使用課件進行教學時,加快了演示的節(jié)奏,缺乏教與學的友好交互,學生的思維難以與之同步,從而使教學質量下降。因此必須合理的綜合運用不同的教學方法和教學手段,取長補短,調動學生的學習積極性,促進學生的學習。
2 數據庫原理與應用教學改革研究的具體措施
2.1 優(yōu)化教學內容,完備知識體系
數據庫原理與應用課程教學目標是通過課程的學習,強化基礎訓練,使學生理解數據庫的基本原理;應用軟件工程原則,掌握數據庫的設計方法,了解數據庫當前的研究發(fā)展狀況,掌握數據庫的應用技術。在實施數據庫原理與應用課程教學時,應從基本原理、設計方法到應用開發(fā),涵蓋如下教學內容:1)基本原理包括數據庫系統(tǒng)概述、關系數據庫、關系數據庫查詢語言SQL、關系系統(tǒng)及其查詢優(yōu)化、關系數據理論等,這些內容是教學的重點,它們涵蓋了關系數據庫的基本原理,對數據庫的設計、應用和開發(fā)起著指導作用。2)設計方法包括軟件工程原則、數據庫恢復技術、并發(fā)控制、數據庫安全性、數據庫完整性等。3)應用開發(fā)包括 IBM DB2數據庫系統(tǒng)、基于高級程序設計語言的C/S(B/S)構架的應用。
2.2 合理的教學方法和教學手段
在實際的教學過程中,合理的綜合使用各教學方法、教學手段,以學生為中心,多采用案例、任務驅動等相結合的教學方法,增加學生的實踐機會、自學機會和創(chuàng)新機會,極大地調動學生的學習的主動性和積極性,激發(fā)學生探究創(chuàng)造的興趣,鼓勵學生獨立探索,促進知識的加深和遷移。
2.2.1 結合多種教學方法進行教學
采用案例教學,加快學生的學習步伐,針對課堂教學、實驗教學和課下練習,均設計了不同的教學案例。從數據庫基本原理、設計、實現和開發(fā)等諸方面,對案例逐步展開,加快學生對抽象理論和方法的理解和掌握。
采用任務驅動教學法,針對教學中的重要知識點,精心設計教學任務。任務驅動教學法的基本過程為:提出任務、分析任務、學生操作、交流討論、鞏固創(chuàng)新、總結等。在任務的驅動下,促使學生自主思考,并通過自主學習、協作學習等方法,探求解決問題的途徑。
采用合作學習教學法,合作學習教學法即結構式分組教學模式,使其和任務驅動教學法相結合,對學生進行合理分組,使之相互合作和激勵,主動積極地參與學習,培養(yǎng)學生探索創(chuàng)新能力和團結協作的精神。該方法主要用在實驗教學當中。
2.2.2 使用多種教學手段進行教學
采用網絡和多媒體教學、小組討論、調研報告等多種教學手段來使學生提高主動參與意識,并注意增強學生的分析判斷能力和留給學生思考與討論的空間;更強調對學生進行學習方法的指導而不是灌輸式教學,從而使學生能舉一反三,觸類旁通。同時在教學過程中重視因材施教,努力實現教學方法的個體化,針對學生學習的個別差異解決好因材施教問題。
2.3 重視實踐環(huán)節(jié),培養(yǎng)創(chuàng)新能力
為了實現預期的教學目標,必須將理論教學與實踐教學緊密融合,鼓勵引導學生將理論知識靈活掌握,并具體應用到實際工程中。實踐教學是數據庫原理與應用課程教學的一個重要環(huán)節(jié),課程中的上機實驗、數據庫課程設計安排要合理。1)教師在課堂上應給學生指定明確的有利于消化課堂理論知識的實驗題目,讓學生上機時做到目的明確、有的放矢。2)上機時應對學生進行實時指導,并對上機過程中普遍存在的問題進行統(tǒng)一講解。上機實驗針對的往往是一定范圍的知識點,各個知識點相互聯系不夠緊密,具有一定的局限性,因此在課程的后期需要安排兩周的課程設計或綜合性實驗訓練,所選題目應具有一定的應用背景,讓學生能夠應用軟件工程的基本原則設計一個具有實用價值的數據庫應用系統(tǒng),使所學知識融會貫通。
2.4 改革考核方式,重視能力培養(yǎng)
數據庫原理與應用課程的考核分為理論知識考核與應用能力考核兩部分。理論知識考核重點考察學生對關鍵性概念和原理的熟悉和理解,著重考核學生綜合運用知識解決實際問題和創(chuàng)新思維的能力。應用能力考核方式要靈活一些,應將考核變?yōu)榧ぐl(fā)學生學習興趣的機會,所以我們可以通過平時的實驗、具體的數據庫設計開發(fā)任務等進行。為了避免在分組的實驗、設計任務中,有的同學不積極參與,可采用隨機抽查個人的方法來考核小組成績,促進小組內部互相監(jiān)督、互相幫助、互相學習,有利于培養(yǎng)學生學習的積極性,提高教學效果。
2.5 強化課程的組織與管理
為了更好的搞好課程教學,建立了集體備課制度,在開課的前一個學期期末,任課老師集中討論、確定教學計劃、教學日歷。開課前兩周內,大家對備課中出現的相關問題進行討論,取長補短。在教學進行過程中,要求任課老師要互相聽課,以取長補短,并不定期的對教學過程中出現的問題進行研討,從教學方法、形式和內容上進行討論,不斷探索,摸索出了一條適合實際情況的教學方法和模式。
3 結束語
本文在分析《數據庫原理與應用》課程理論與實踐教學中所存在問題的基礎上,提出了若干教學改革措施,并已付諸實施。目前本課程的教學工作取得較好的教學效果,讓學生的綜合素質和創(chuàng)新能力在循序漸進的過程中不斷得到鍛煉和提高,同時提高了畢業(yè)生的競爭力。我們將繼續(xù)在數據庫的教學改革上開展新的工作,在數據庫技術和網絡技術相結合的道路上作新的探索,努力尋求新的切入點,使理論教學和實際應用更好更緊密的結合起來,培養(yǎng)出更多適應信息化社會的復合型、應用型人才。
參考文獻:
[1] 薩師煊,王珊.數據庫系統(tǒng)概論[M].2版.北京:高等教育出版社,2000.
[2] 徐英俊.教學設計[M].北京:教育科學出版社,2001.
[3] 吳達勝,劉麗娟,孫圣力.數據庫原理與技術的理論與實踐教學的整體優(yōu)化研究[J].計算機時代,2005(11):31-32.
中圖分類號:G642 文獻標識碼:B
1引言
“數據庫原理”是經濟信息管理專業(yè)的重要專業(yè)課程之一,具有理論性、實踐性強的特點。同時,隨著數據庫系統(tǒng)在政府機構、企事業(yè)單位的廣泛使用,使該門課程具備很強的應用性。如何在數據庫原理教學中結合課程特點,讓學生牢固掌握數據庫原理的諸多知識點,并通過實踐訓練將這些知識點轉變?yōu)榭蓱玫募寄?是培養(yǎng)經濟信息管理專業(yè)應用型人才的需要,是增強學生就業(yè)競爭力的需要,也是我們進行本門課程教改實踐的重要出發(fā)點。
在以往的“數據庫原理”課程教學效果評估中,我們發(fā)現存在以下一些問題:
(1) 在教學環(huán)節(jié),理論和知識點講解多,案例的講解和分析少,學生覺得數據庫理論抽象和難懂;
(2) 數據庫原理課程與相關計算機語言課程的關聯少,學生即使掌握了SQL語句的語法規(guī)則和應用,卻不知如何與VB、Java等計算機語言相結合,構建一個數據庫應用程序;
(3) 對學生的數據分析能力和設計能力培養(yǎng)不夠,學生不知通過什么樣的分析過程建立合理的數據庫表、字段信息項和數據表關聯關系,學生設計的后臺數據庫和數據表的結構漏洞百出、不合邏輯;
(4) 實踐過程中缺乏項目工程組織。即使加大案例教學,但沒有一個完整的實際項目案例實踐,使學生對整個課程的學習感到支離破碎、不成體系,對本門課程的學習缺乏整體認識,也無法直接感受所學知識在實際工作中的地位和作用。
針對以上問題,我們對數據庫原理課程采用了案例教學法和項目驅動教學法,并進行了初步實踐,取得較好的效果。
2案例教學法、項目驅動教學法及其特點
2.1案例教學法及其特點
案例教學法是指教師根據教學目的和教學內容的需要,采用案例組織學生研究、討論,對案例中的事實和急需解決的問題進行分析、判斷并提出解決方案。案例教學法最早于1870年由美國哈佛大學法學院的克里斯托弗•哥倫姆布斯•蘭德爾教授創(chuàng)立,普遍被應用于醫(yī)學、法學、管理學等學科,用來教授業(yè)務實踐中的重要思想、內在原理和技能。目的是使學生在掌握了基本理論知識的基礎上,通過獨立思考和集體合作,進一步提高分析、解決實際問題的能力。
運用案例教學手段進行示范教學,實現邊講邊練,循序漸進地引導學生掌握相應的知識和技能,大大縮短了教學情景與實際情境的差距。案例教學法的特點,一是從以教為中心變?yōu)橐詫W為中心,既強調教師的組織指導作用,也重視培養(yǎng)學生的學習興趣和自覺性,實現了教與學的優(yōu)化組合;二是由只傳授知識改變?yōu)閭魇谥R與發(fā)展智能并重,在案例討論中不僅傳授知識,而且啟發(fā)思維,培養(yǎng)能力。
2.2項目驅動教學法及其特點
建構主義學習理論認為,知識,特別是技能,不是通過教師傳授得到的,而是學習者在一定的情境下,借助他人的幫助,利用必要的學習資料,通過意義建構方式獲得的。項目驅動教學模式是一種建立在建構主義教學理論基礎上的教學法,該方法以教師為中心,以學生為學習主體,以項目任務為驅動,充分發(fā)揮學生的主動性、積極性和創(chuàng)造性,變傳統(tǒng)的“教學”為“求學”、“索學”。項目驅動教學法是實施探究式教學模式的一種教學方法,適用于學習各類實踐性和操作性較強的知識和技能,也適用于培養(yǎng)學生自主學習、分析問題、解決問題的能力。
3數據庫原理教學實踐改革
“數據庫原理”課程的教學目的是使學生全面地了解和掌握數據庫系統(tǒng)的基本概念、原理及應用技術,教學內容包括基礎知識、關系模型、SQL、關系數據庫理論、數據庫設計和數據保護等。
3.1數據庫原理案例教學介紹
在數據庫原理教改實踐的教學內容組織上,我們以可視化開發(fā)工具PowerBuilder(以下簡稱PB)及其集成的數據庫SQL AnyWhere組織和設計針對各知識點的案例,在課堂講解中設定每一堂課的學習目標,以啟發(fā)、討論方式進行教學互動,以知識點配案例和演示的方式進行講解,使各知識點易于理解、易于掌握、易于應用。表1給出了針對“數據庫原理”課程的知識點所設計的相應案例。
3.2數據庫原理項目實踐介紹
在數據庫原理教學中,項目驅動教學法的特點是尤如學習中有一條主線,以一個數據庫管理信息系統(tǒng)的設計開發(fā)為一個項目主線,把零散的技能知識與訓練串在一起,以增強學生學習的系統(tǒng)性、完整性;教的過程是分塊的,做的過程卻是整體的,緊緊圍繞項目工程開展教、學、做,學完之后學生感到非常有成就感。在項目的完成過程中,采用過程性評價和終結性評價等評價方式相結合,有利于實時指導教學和學習。項目驅動教學法拉近了學生所學知識與實際應用的距離。
基于傳統(tǒng)的軟件工程生命周期開發(fā)方法,把項目劃分為若干個階段(需求分析、概要設計、詳細設計、編碼、測試、運行維護),各個階段有相對獨立的任務,按照工作計劃和分工逐步完成各個階段的任務,最后達成項目目標。在課程實踐中,把學生組織成5~7人的項目小組,并定義項目的目標、功能范圍、項目過程各階段的任務以及評價機制,把各知識點和需要培養(yǎng)鍛煉的能力項分解到各階段任務中,由各項目組自行制定項目計劃,由教師指導和監(jiān)督計劃的執(zhí)行并進行階段成果評價(見表2)。
4結束語
采用案例教學法和項目驅動法進行數據庫原理教學,有利于學生牢固掌握基礎知識,提高數據庫應用開發(fā)能力和實踐動手能力,加強團隊合作精神,提高學習熱情。今后,我們將進一步總結經驗,以使數據庫原理的教學改革不斷完善和成熟。
參考文獻:
[1] 柯勝男,黃明和,雷剛. 基于“項目驅動”的教學研究與探索[J]. 計算機教育,2007(4):25-27.
二、任務驅動式的案例教學法設計
針對以往教學方法的不足,本論文依據《數據庫原理及應用》課程的特點,設計了一種基于任務驅動的案例教學方法,該方法具體步驟如下。
1.問題設計及案例準備。
《數據庫原理及應用》課程的案例教學法與管理、法律等文科類課程的案例教學法不同,不需要廣泛收集和整理大量高質量的案例形成豐富的案例庫,不需要適時更新和補充新的案例,不需要強調案例形式多樣性和案例內容的廣泛性,而是要針對核心教學任務設計一個科學的問題,并圍繞著問題進行案例準備,要求所設計的案例,在縱向上能體現出數據庫系統(tǒng)設計和開發(fā)的完整生命周期,在橫向上能覆蓋《數據庫原理及應用》課程要求掌握的所有基礎理論。比如我們要求學生應用《數據庫原理及應用》課程所涉及的基礎理論,設計和開發(fā)一個學生管理系統(tǒng),該系統(tǒng)能完成以下任務:查詢出有哪些學生選修的課程中至少有兩門以上由教授開設。要完成該任務,學生需要完成的工作以及應用到的理論包括:(1)描述教學關系,需要繪制E-R圖;(2)將E-R圖轉換成合理的關系模式,并編制數據表,需要應用范式理論和函數依賴理論;(3)將數據文件保存在物理磁盤上,要求占用較少的存儲空間并能進行高效檢索,需要應用物理結構設計理論;(4)客戶從操作終端檢索所需要的信息,形成視圖,需要應用SQL語言;(5)保證數據視圖—數據表—存儲結構之間的相互獨立、相互關聯的關系,需要依賴數據庫系統(tǒng)的三層結構和兩級映射。案例需要圍繞著上述內容進行設計,不能遺漏。
2.基礎理論的講解。
由教師進行精練的理論知識講解,講解過程最好能結合解決實際問題的步驟,介紹在哪些環(huán)節(jié)需要用到它,這樣有助于將零散的知識串聯起來。
3.問題分解及教學過程控制。
案例教學的目的是充分發(fā)揮學生的主觀能動性,讓學生獨立思考、分析和處理案例設計階段所布局的問題,引導學生將核心問題分解成若干個子問題,在依次解決子問題的過程中主動的學習《數據庫原理及應用》課程中的基礎理論,并將其應用于實踐。教師可以根據教學內容、進度以及學生的掌握情況,適時地進行講解和點評,確保學生對核心內容的掌握和靈活應用。
4.總結和評價。
對案例教學法的全過程進行回顧,對重點和難點問題進行分析和講解,確保學生對所學知識的理解、掌握和應用,并從以下三個維度評價任務驅動式案例教學方法的總體效果:(1)案例維度,包括案例項目的構思、任務的分解以及問題的設計;(2)教學過程維度,包括課前的準備、課中的引導和控制、課后總結等;(3)績效維度,包括教師表現、學生成績、課堂反映等。
數據管理包括數據的分類、組織、編碼、存儲、檢索和維護等,數據管理技術的發(fā)展與計算機硬件、軟件的發(fā)展及計算機應用的范圍密切相關。迄今為止,計算機數據管理技術的發(fā)展經歷了四個階段:
一、人工管理階段
這一階段是指20世紀50年代中期以前,一般公認世界上第一臺計算機于1946年誕生,這期間,計算機主要用于科學計算,其它工作還沒展開。硬件方面:還沒出現可直接存取數據的存儲設備,主要依靠磁帶、卡片和紙帶來讀寫程序和數據。軟件方面:操作系統(tǒng)還沒產生,也無專門的數據管理軟件,主要依靠機器語言和匯編語言編程。由于沒有專門的數據管理軟件,我們將這一階段稱為—人工管理階段。該階段的特點是:
①數據不保存。計算時數據與程序一起輸入內存,運算處理后將結果數據輸出,隨著計算任務的完成,數據空間隨著程序空間一起被釋放。
②數據服務應用。數據處于從屬地位,一組數據對應一個程序(應用)。數據與程序不獨立。
③數據組織依靠人工。數據的存儲結構、存取方法、輸入輸出等必須由程序員自行設計與安排。
二、文件系統(tǒng)階段
20世紀50年代后期~60年代中期,計算機不僅用于科學計算也開始大量用于信息管理。隨著數據量的增加、數據的存儲、檢索和維護問題成為緊迫的需要。硬件方面出現了磁盤等直接存取存儲設備,軟件方面產生了高級語言和操作系統(tǒng)。操作系統(tǒng)中的文件系統(tǒng)是專門管理數據的軟件。數據結構和數據管理技術迅速發(fā)展起來。這一階段的數據管理有以下特點:
①數據可長期積存。對數據的維護與使用提供了可能。
②文件形式多樣化。有索引文件、鏈表文件和直接存取文件等。但文件之間相互獨立,數據之間的聯系要通過程序構造。
③數據相對獨立。數據可被多個程序重復使用。
④數據的存取基本上以記錄為單位。
隨著數據管理規(guī)模的擴大,數據量急劇增加,文件系統(tǒng)顯露出以下三個不足:
①數據冗余。由于文件之間氣管聯系,造成每個應用程序都有對應的文件(數據),勢必會造成同樣的數據在多個文件中同時存儲。
②數據不一致。由于存在數據冗余,在對數據進行更新操作時,就要通盤考慮,稍不謹慎,就可能造成同樣的數據在不同的文件中不一樣。
③數據聯系弱。數據文件相對獨立,要通過程序來構造它們之間的聯系。
三、數據庫系統(tǒng)階段
20世紀60年代后期,計算機應用于管理的規(guī)模更加龐大,數據量急劇增加,同時多種應用、多種語言互相覆蓋地共享數據集合的要求也越來越強烈。僅對文件系統(tǒng)及功能加以擴充已不能滿足需要。其時,計算機硬件、軟件有了進一步的發(fā)展。硬件方面:磁盤技術取得重要進展,大容量、高速存取磁盤相繼推出,且成本下降。軟件方面:出現了統(tǒng)一管理數據的專門軟件系統(tǒng)――數據庫管理系統(tǒng)(DBMS)。這些都為數據庫技術的產生提供了良好的物質條件和理論基礎。數據管理技術進入數據庫系統(tǒng)階段的標志性三大事件為:
⑴1968年美國國際商用機器公司IBM(International Business Machine)公司推出了IMS(Information Management System)系統(tǒng),該系統(tǒng)支持的是層次結構數據模型。
⑵1969年美國數據系統(tǒng)語言協會CODASYL(Conference On Data System Language)下屬的數據庫任務組DBTG(DataBase Task Group)公布了若干報告(稱為DBTG報告),提出了網狀結構數據模型。
⑶1970年起,IBM的研究員E·F·Codd發(fā)表一系列論文,提出關系模型,奠定了關系數據庫的理論基礎。
概括數據庫系統(tǒng)管理數據的方式具有以下特點:
①采用數據模型表示數據結構。用數據模型描述數據本身的特點和數據之間的聯系,且這種聯系通過存取路徑(指針)來實現整體數據的結構化。由于數據不再面向某一特定的應用,而是面向整個應用系統(tǒng),因而數據冗余明顯降低,實現了數據共享。
②具有較高的數據獨立性。數據庫體系結構分成用戶邏輯結構(外模式)、整體邏輯結構(概念模式)、物理結構(內模式)三級。數據物理結構的改變不影響整體邏輯結構、用戶邏輯結構及應用程序,即達成數據的物理獨立。而整體邏輯結構改變,不影響用戶邏輯結構,以達成數據的邏輯獨立。
③為用戶提供了方便的口。用戶可以使用查詢語言或命令操作數據庫,也可以用程序方式來操作數據庫。
④提供完善的數據控制功能。數據庫系統(tǒng)提供四方面的數據控制,以確保數據的安全與完整:
■ 并發(fā)控制:確保多用戶同時存取數據時的數據完整性。
■ 數據庫恢復:有意或無意造成部分或全部數據破壞后能恢復到某一已知正確狀態(tài)。
■ 數據完整性:確保數據的正確、有效、相容。
■ 數據安全性:防止不合法使用造成數據的泄露和破壞,保證數據的安全和機密。
四、高級數據庫技術階段
這一階段起始于20世紀80年代初,其主要標志是分布式數據庫系統(tǒng)DDBS(Distributed DataBases System)和面向對象數據庫系統(tǒng)OODBS(Object-Oriented DataBases System)的出現。
①分布式數據庫技術
分布式數據庫技術是傳統(tǒng)的集中式數據庫技術與網絡技術融合的產物,其基本特征:一是異地節(jié)點通過數據通信網絡互連;二是數據的物理分布性和邏輯整體性;三是本地自治與全局應用相結合。
②面向對象數據庫技術
面向對象的數據技術是傳統(tǒng)集中式數據庫技術與面向對象程序設計技術結合的產物,其特點為:一是面向對象的數據模型能完整描述現實世界的數據結構,能表達數據之間的復雜聯系,如嵌套與遞歸;二是具有面向對象技術的封裝性和繼承性,提高了軟件的可重用性。
除此之外,數據庫技術與其它新興技術的結合產生了許多新的領域如:
并行數據庫;主動數據庫;知識庫;多媒體數據庫;模糊數據庫;工程數據庫;空間數據庫等。
有理由相信,數據庫技術通過不斷完善和提高,它會朝著支持更大規(guī)模、更快速度、更廣泛的應用等方向發(fā)展。
參考文獻:
1、前言
通過實施部署PHD系統(tǒng)解決了石化企業(yè)信息化中存在的問題即需要建設統(tǒng)一的信息平臺,在數據中心的基礎上,將數據應用向深度和廣度計算拓展,將面向主題的、集成的、穩(wěn)定的、不同時間的數據集合應用,把分布在企業(yè)網絡中不同信息孤島上的數據集成到一起,整合多種數據源接入模式,搭建一個企業(yè)級工廠信息系統(tǒng)畢業(yè)論文模板,通過PHD實時數據庫和Oracle關系數據庫搭建企業(yè)級的數據平臺,確保數據交流通暢,實現真正的資源共享,將過程實時數據納入管理系統(tǒng)中實現數據深層次挖掘和分析,從而實現企業(yè)級管理控制一體化。通過信息集成,在工廠控制層和管理決策層之間建立實時的數據連接,使底層的儀表控制系統(tǒng)和上層的經營管理得以雙向交互、緊密配合,并為APC、流程模擬、在線優(yōu)化等提供了基礎平臺。
2、PHD 系統(tǒng)組件結構
PHD系統(tǒng)組件的結構是一個典型的客戶/服務結構,整個PHD數據庫由PHD服務器和PHD客戶端組成,PHD服務器端主要負責數據采集存儲,PHD客戶端負責數據的使用,如圖所示:
圖 1 PHD系統(tǒng)組件結構
主要的PHD Server 服務器組件包括如下所列:
PHD Server : 核心組件,提供PHDServer 實時數據庫核心功能,如數據存儲、壓縮、檢測、處理等。
Legacy API Server : 提供訪問PHD Server 150以上版本的API 函數的服務。
API Server : 提供應用程序訪問PHD Server 應用程序編程接口服務。
RDI Server : 提供通過特定實時數據接口RDI(Real Time Data Interface) 收集過程數據并發(fā)送數據到PHD Server 組件。
RDI Interface : 實時數據接口,提供與DCS,PLC的數據接口,支持多種通訊協議,如OPC,FTP 等。
PHDMAN : 應用程序用來管理和監(jiān)視PHDServer 。
PHD Archives :對實時數據進行歷史歸檔。
主要的PHD Server 客戶端組件包括如下所列:
TotalPlant Information 簡稱TPI , 主要提供各種位號點的配置,報表配置,以及一些工廠參照模型PRM(Plant Reference Model) 數據的配置平臺。
Visual PHD : 以OLE 方式提供的可視化PHD數據訪問組件。
Process Trend : 提供位號趨勢察看或SPC 功能。
從圖可以看出Microsoft Excel 2003和VB6.0可以通過VisualPHD組件訪問PHD Server 數據。[1]
3、 RDI實時數據接口
RDI 是PHD Server 的核心組件之一,它是連接DCS,SCADA ,APC,PLC 等過程數據和核心數據庫的數據通道和瓶頸,生產數據通過RDI 接口采集、濾波、壓縮,加入時間標簽和可信度存入活動歸檔文件中,供上層網絡系統(tǒng)查詢、監(jiān)控和信息系統(tǒng)集成應用。因此研究開發(fā)相關的RDI 開發(fā)標準和規(guī)范相當重要和關鍵, PHD RDI 在數據接口方面自成體系,有它自己的獨特體系結構和通訊方式,為第三方用戶的開發(fā)和應用提供了較為完善的通訊開發(fā)例子程序,用戶只要按照PHD RDI 數據接口規(guī)范,加入第三方(API函數),就能夠實現生產過程數據的實時采集。[2]
4、 PHD接口連接方式
圖 2 雙Buffer PHD連接Shadow
Shadow接口和Buffer接口連接有兩種方式:單Buffer PHD連接ShadowPHD;雙Buffer PHD連接Shadow PHD。
雙Buffer PHD連接ShadowPHD,有兩個Buffer,PHD同時收集數據,一個部分處在激活狀態(tài),一個部分處于備份狀態(tài)畢業(yè)論文模板,如果激活狀態(tài)的PHD發(fā)生故障,備份狀態(tài)的PHD就會立即替代,進入激活狀態(tài)。這種模式下數據正常連續(xù)采集的可靠性將會有很大的提高。[3]
5、實時數據庫軟件架構設計
圖 3實時數據庫軟件功能與架構設計
如圖3所示:系統(tǒng)被設計成三層結構,即控制層、應用層和數據表現層;
控制層是各裝置的DCS系統(tǒng)和接口組成,通過接口將實時過程信息輸入到實時數據庫系統(tǒng)中;
應用層是由實時數據庫系統(tǒng)與其之上的應用程序組成,實時數據庫采集來自DCS系統(tǒng)的過程信息。應用程序基于這些信息提供操作管理應用。客戶化的應用也基于這個平臺進行開發(fā);
數據表現層由客戶端軟件和瀏覽器組成,客戶端軟件為實時數據庫管理及應用提供應用平臺,瀏覽器用于操作管理的實時信息和組態(tài)界面,計算結果也通過該界面顯示。
PHD通過在RDI接口在服務器端和客戶端建立連接,采集來自現場的DCS、PLC、罐區(qū)的SCADA、LIMS、手工錄入等數據。RDI支持ODBC/OPC協議,一般通過現場的APP應用站或Buffer機作為數采的客戶端與PHD服務器建立連接。由于PHDServer 實現了與關系數據庫Oracle的無縫集成, 其把許多靜態(tài)配置數據如:位號名、數據類型、,掃描周期、單位等保存在Oracle 關系數據系統(tǒng)之中。而數據表現層由客戶端軟件和瀏覽器組成,通過WPKS服務器用戶可以通過B/S方式看到各種應用結果,如各裝置流程圖的實時數據、歷史趨勢,各種產品的產量和收率畢業(yè)論文模板,為調度和管理層提供可靠的數據支撐。[4]
6、實施PHD過程中需要注意的問題
為了確保PHD模塊能夠在項目工期內順利實施,首先要對裝置的DCS系統(tǒng)進行改造,需要在DCS系統(tǒng)的工程師站(如:和利時、浙大中控的DCS系統(tǒng))或APP應用站(如:橫河、DELTAV的DCS系統(tǒng))安裝OPCServer,這將為項目的順利實施打下堅實的基礎。
這里以DeltaV DCS系統(tǒng)為例進行介紹,首先要對改造進行風險評估并制定相應的故障處理應急預案,確定好改造方案后主要的工作分為離線部分和在線部分,離線部分的主要工作主要包括:
安裝Win Server 2003平臺
安裝DeltaV 的OPCServer軟件
應用站就位
敷設網絡電纜到原有的DeltaV網絡(Primary& Secondary)
敷設網絡電纜到OPC數據接收服務器(PlantLAN網絡)
供電系統(tǒng)連接
以上工作由于在原有網絡連線中新敷設網線,施工過程需要防止損壞原有網線的連接。
圖 4 DCS系統(tǒng)的物理連接示意圖
軟件在線工作內容包括:
新增應用站上電檢查
新增NODE(應用站)到原有DeltaV系統(tǒng)
根據需求,設置OPC數據接收服務器登陸帳戶
與OPC數據接收服務器進行連接及OPC通訊調試
數據傳送調試,數據調試時注意所有需通訊的DCS數據地址正確。
7、實現某一套裝置實時數據通訊的主要步驟
1、BUFFER機與APP機的OPC連接調試:
在Buffer機上面啟動OPCclient.exe,點擊Refresh List測試是否連通,如果在Avaliable Services中出現OPC服務器的名字,然后點擊OK。如果無法顯示請確認是否在APP機上面的啟動OPC Server的用戶名是否與Buffer機上面一致;[5]
2、安裝TPI并對其進行相應配置:
在自己的PC機上面上安裝Oracle client和PHD TPI軟件。安裝完畢后對TPI進行相關配置,設置用戶名密碼為uniformance。配置完畢后登陸TPI軟件 用戶名Uniformance 密碼uniformance;
3、用PHD提供的專屬命令對RDI進行配置:
在TPI中設置source system為OPC為接口的RDI,并把POLL參數設置為/p畢業(yè)論文模板,Host Name設置成BUFFER機的機器名并保存。在TPI中設置與同名的RDI source system設置成shadow并保存, Host Name設置成shadow機的機器名:LZSHPHDT。登錄到Buffer機,在命令行中執(zhí)行rdi_services uniformance/uniformance@uniformance,并觀察是否成功的建立RDI,在命令行中敲入phdman;執(zhí)行:def int,建立RDI的名字(如:def int rdi_FCC3); 執(zhí)行sta int 建立RDI的名字(如:sta int rdiFCC3)執(zhí)行sho sys察看是否rdi狀態(tài),確保為active狀態(tài);
4、設置shadow-buffer架構:
登錄到buffer機并執(zhí)行如下命令執(zhí)行
SET 對應建立的Rdi名字:MODE ACTIVE
SET對應建立的Rdi名字:ACTIVENODE IP/端口
登錄到shadow機并執(zhí)行如下命令執(zhí)行
SET 對應建立的Rdi名字:MODE SHADOW
SET對應建立的Rdi名字:ACTIVENODE BUFFER機IP地址/端口;
5、登陸TPI選擇Tag loader進行批量數據采集點的導入:
登陸TPI選擇Tag loader,Interface name設置對應裝置的RDI的名字,Interface type選擇OPC,default parent選擇TAGLOAD_OPC_PARENT;選擇按鈕TagLoad,Input File設置成放置導入模版的絕對路徑,并把update existing tag設置成默認選項,選擇OK。登錄到buffer機,在命令行中敲入phdman,執(zhí)行updatetag full, 執(zhí)行mon que 點名(monque cdu1_fi101)察看是否可以采集上數。登錄到shadow機畢業(yè)論文模板,在命令行中敲入phdman,執(zhí)行update tag full, 執(zhí)行mon que 點名(monque cdu1_fi101)察看是否可以采集上數。[6]
8、實施后的效果展示
圖 5 乙烯裝置實時數據生產工藝流程圖
9、結束語
基于PHD實時數據庫開發(fā)的應用,如流程監(jiān)控、操作監(jiān)控、趨勢分析等,可以為技術部門提供重要的指標點的實時數據,對裝置的當前運行情況進行分析提供給廠領導最快捷的生產信息用于決策。 PHD生產實時系統(tǒng)采用B/S分布式結構,即在DCS控制室設置一臺PHD Shadow實時數據庫服務器、一臺Oracle數據庫服務器和一臺Web服務器。PHD Shadow實時數據庫服務器負責集成所有裝置控制系統(tǒng)的生產數據,PHD Buffer服務器分布在各裝置控制室現場,廠長、總工、科室和車間管理人員通過瀏覽器來了解現場裝置的生產情況等實時數。通過PHD實時數據庫,能對生產線運行的各項技術經濟指標在線監(jiān)測、進行動態(tài)的能耗分析,并指導運行人員調整設備優(yōu)化運行,從而降低能耗,提高機組運行的經濟性。
參考文獻:
[1]實時數據庫原理及應用作者:張志檁ISBN:7801640284. 出版. 中國石化出版社2001
[2]Honeywell Inc. Process History DatabaseUser Guide USA: Honeywell International Inc. June 2004
[3]Honeywell Inc. Database SystemSpecification and Technical Data USA: Honeywell International Inc. June2004
[4]Honeywell Inc. PHD OPC Server User Guide USA: Honeywell International Inc. June 2004
[5]王成光.流程工業(yè)大型實時數據庫理論、技術與應用[D].浙江:浙江大學數控制科學與工程,2003.
【中圖分類號】G40-057 【文獻標識碼】B 【論文編號】1009―8097(2010)03―0132―03
引言
數據庫課程是計算機及信息類相關專業(yè)的核心課程,同時數據庫應用也是計算機應用的一個主要方向。在數據庫課程的教學環(huán)節(jié)中,實驗教學處于舉足輕重的地位。良好的實驗教學效果能有效地培養(yǎng)學生的數據庫系統(tǒng)分析設計能力、編程能力,從而為學生以后從事大型數據庫軟件的開發(fā)奠定良好的基礎。因此實驗教學效果的好壞,將直接影響到整個課程的教學效果[1]。
傳統(tǒng)的數據庫實驗教學模式一般采用由教師布置實驗任務,學生在實驗室完成;對于部分較大的實驗,學生也可在課后完成,教師根據學生完成的情況給予成績評定。然而在實際的實驗教學中,由于存在實驗課時安排不足,學生在課外進行實驗又缺乏有效的指導,同時由于學生在學習能力及學習積極性各方面存在差異,教師無法進行有效地監(jiān)控等問題,都在很大程度上影響實驗教學效果[2,3]。
隨著網絡技術的快速發(fā)展及廣泛使用,通過網絡學習已經成為大學生的一個重要學習途徑。在這樣的背景下,我們構建基于Web的數據庫課程遠程自主實驗教學平臺。它突破了傳統(tǒng)教學模式受時間、地點、實驗設備和師資條件等的限制,利用先進的網絡技術,創(chuàng)建一個遠程開放的自主實驗環(huán)境輔助實驗教學,提高數據庫課程實驗的教學質量,同時降低實驗室建設費用。
一 平臺設計方案
1 平臺設計思路
數據庫課程一般包括數據庫原理、設計及應用三個部分內容,其中原理是基礎,設計和應用是提高,它們相輔相成、互相促進。在教學安排上一般將它分為:數據庫系統(tǒng)原理和數據庫課程設計兩門課程。數據庫系統(tǒng)原理主要介紹基本原理,完成理論學習和部分設計任務,實驗教學內容主要是要求學生使用SQL語句完成數據庫的增、刪、改、查等各種基本操作。而數據庫課程設計主要完成系統(tǒng)的設計與應用任務,在數據庫課程設計中要求學生根據一個信息系統(tǒng)的需求,使用可視化的工具,如:PowerDesigner、ERWin等進行數據庫的設計,然后使用編程語言完成一個相對完整的數據庫系統(tǒng)。通過它使學生全面地掌握數據庫系統(tǒng)的完整設計過程和方法。
數據庫課程一般在二年級開設,而此時學生對于計算機相關知識的掌握還不很充足,因此學習需要一個漸進的過程,需要一種相對簡單、比較容易上手的數據庫系統(tǒng),目前主要使用微軟的SQL Server作為數據庫課程教學的基本工具。在較短的課時和實驗條件有限的情況下,一般都只能安排8-12學時的實驗,而這些時間對于鍛煉學生的實際動手能力是遠遠不夠的。雖然學生可以在自己計算機上安裝數據庫系統(tǒng)完成一些簡單的實驗,但是由于缺乏教師指導和個人自主性的原因,往往達不到效果,因此需要一個自主學習的實驗平臺,幫助學生完成數據庫的課程實驗。數據庫遠程自主實驗平臺的設計目的就是為遠程學習者異地實驗學習、實驗指導提供支持,通過將“實驗管理”、“作業(yè)管理”、“資源共享”、“師生交流”等進行整合,解決了網絡環(huán)境下網上實驗與提交、問題討論與答疑、教學資源共享、實驗完成情況監(jiān)控等一系列問題,從而提高數據庫課程實驗的教學質量。
基于Web的數據庫遠程自主實驗平臺的基本過程如下:
(1) 教師添加實驗。每個教師登陸系統(tǒng)后根據教學計劃,添加自己所教授班級的實驗內容和具體要求、該實驗的正確答案以及對該實驗的常見錯誤分析等。每個教師可以看到同一教學組其他老師已經提交的實驗;如果覺得實驗內容合適,可以將它作為自己所帶班級的實驗內容。
(2) 學生完成實驗。學生本機不需要安裝SQL Server數據庫,通過Web瀏覽器登陸系統(tǒng)后,就可以看到教師布置的需要完成的實驗要求,針對需要完成的每一個實驗利用平臺提供的基于Web的類似于SQL Server的查詢分析器(WebSQL)提交SQL語句,系統(tǒng)接收SQL語句并執(zhí)行數據庫操作后將相應的結果(正確結果或錯誤信息)返回。學生在做實驗過程中可以看到教師對該實驗的分析以及常見的錯誤原因分析,同時也可以針對該實驗向教師提問。最后學生提交自己設計的SQL語句作為最后的實驗結果。
(3) 教師監(jiān)控實驗和指導。系統(tǒng)記錄學生登陸系統(tǒng)的時間、離開系統(tǒng)的時間以及都做了哪些實驗。這樣教師便可以及時掌握和檢查學生的實驗完成情況,同時教師可以回答學生的問題,進行實驗指導。
2 平臺的主要功能結構框架
整個系統(tǒng)的總體結構框架如圖1所示。有四個權限:匿名用戶、學生、教師、管理員。
進入平臺就可以看到匿名用戶的相關功能,主要包括:擔任數據庫課程的相關教師基本信息介紹;課程介紹、課程大綱介紹;各種通知、實驗信息公告;教師的講課PPT下載;一些優(yōu)秀的數據庫課程設計作品展示;數據庫最新的研究進展;數據庫課程題庫;常見問題瀏覽;此外還可以對實驗室的設備、軟件、開設課程等提出意見。
系統(tǒng)管理員模塊主要功能包括:維護本課程相關的教師信息;和刪除通知;和刪除各種資源;對常見問題的進行回答和刪除;數據信息備份;查看所有教師布置的實驗和作業(yè);完成系統(tǒng)時間和一些系統(tǒng)編碼的設置。
教師模塊主要功能包括:
(1) 實驗管理。1)添加、修改、刪除實驗。2)布置實驗 (將某個實驗作為某個班級的一個實驗內容)。3)回答實驗疑問。對學生提出的實驗疑問做出回答,其他選擇相同實驗的學生都能看到回答的內容。4)實驗審閱管理。顯示自己所教授的班級;選中班級,可以查看班級的所有學生信息;選中某個學生,可以查看他的所有實驗完成情況、學生登陸系統(tǒng)進行實驗的日志信息,綜合實驗結果和日志信息對學生進行打分。
(2) 作業(yè)管理。功能類似于實驗管理,主要完成布置作業(yè)和檢查作業(yè)等功能。
(3) 學生信息管理。教師維護所教授班級的學生信息。
(4)信息。可以通知,如實驗時間、作業(yè)上交時間等,還可以其他資源信息,如:講義、最新技術文章、參考資料和題庫等。可以設定這些信息只能被某個班級訪問也可以設定信息全部公開。
學生模塊主要功能包括:
(1) 完成實驗。1)學生登陸系統(tǒng)后可以看到老師布置的所有實驗。選中某一個實驗,將會列出實驗標題、實驗內容、實驗類別等信息。學生在WebSQL界面上輸入SQL語句,執(zhí)行后將會看到該SQL語句的執(zhí)行結果。2)對某個具體實驗,可以查看老師給的正確答案、對該實驗的分析和常見的錯誤分析等。3)對實驗情況不了解的可以提出問題請老師回答。4)提交實驗報告。5)系統(tǒng)記錄學生登陸時間、離開時間、每次執(zhí)行實驗情況。
(2) 作業(yè)管理。學生登陸系統(tǒng)后可以看到老師布置的作業(yè),可以提交自己完成的作業(yè),對作業(yè)不了解的還可以提出問題請老師回答。
(3) 課程答疑。可以提交問題,也可以查看老師對具體問題的回答。
(4) 查看和本班級有關的通知和通告。
(5) 查看和本班級有關的講義、參考資料和題庫。
二 平臺的主要實現技術
1 平臺軟件結構
平臺采用的是基于的三層結構。結構如圖2所示,分為UI層(界面層)、BLL層(業(yè)務邏輯層)、DAL層(數據庫訪問層)、Model層(模型層)和DB(數據庫)。
其中UI層中是一些用來與用戶交互的頁面,UI層接受用戶提交的數據,調用BLL層中類的方法進行處理,返回結果給用戶。BLL層的類用戶處理業(yè)務邏輯,涉及到數據方面的操作時調用DAL層中類的方法進行處理,結果返回給UI層。DAL層用于處理BLL層中類方法對數據庫操作的請求,訪問數據庫,將返回結果給BLL層。Model層提供一些用于存儲的數據類型,供UI層、BLL層、DAL層進行調用,貫穿在整個系統(tǒng)結構中。
2 平臺數據庫實現
為了防止學生在進行數據庫刪除、修改等操作實驗時影響整個平臺的運行,平臺建立一個主數據庫,用于保存平臺本身必須的數據庫表;為每一個學生建立一個個人數據庫(在建立學生信息的時候創(chuàng)建,在刪除學生信息的時候刪除),以后學生的所有數據庫操作都在該個人數據庫上進行。
平臺主數據庫共包括17張用戶表和10張視圖。他們主要是:
1)teacher表,存儲教師信息。2)majorClass表,存儲班級信息。3)student表,存儲學生信息。4)experiment表,存儲實驗的信息。包括標題、實驗類別、實驗內容、實驗答案、問題分析、常見問題、教師ID、創(chuàng)建時間等。5)disposeExperiment表,存儲布置實驗的信息。包括實驗ID、教師ID、班級ID、實驗時間、實驗地點、布置時間等。6)fininshedExperiment表,存儲學生完成實驗的信息。布置實驗ID、學生ID、實驗結果、實驗報告、實驗成績、實驗提交時間等。7)homework表,存儲作業(yè)信息。8)disposeHomework表,存儲布置作業(yè)的信息。9)fininshedHomework表,存儲學生完成作業(yè)的信息。10)information表,存儲通知信息。11)information_majorClass表,存儲通知與班級的關系。
三 結束語
基于Web的數據庫遠程自主實驗平臺使學生可以不再受時間和地點的限制獨立完成實驗操作,同時使教師對學生實驗環(huán)節(jié)的監(jiān)控與管理不再局限于課堂,能夠幫助教師收集和保存實驗教學過程中用到的實驗、作業(yè)、答疑等信息,方便教師布置和審閱實驗和作業(yè),便于教師與學生之間的信息交流,從而高質量地完成實驗教學工作。通過平臺上的各種消息、討論、資源下載等的及時更新,進一步提高學生的學習興趣。此外,基于Web的數據庫遠程自主實驗平臺本身就是一個數據庫系統(tǒng),因此可以通過組織學生參與平臺的維護工作,提高學生的學習積極性,使學生的編程能力及系統(tǒng)開發(fā)能力逐步得到提高。這對培養(yǎng)學生分析問題、解決問題和獨立操作的基本能力具有很大的促進作用。
當然,基于Web的數據庫遠程自主實驗平臺還需要進一步地研究探索和實踐。作為真實實驗的重要補充,基于Web的數據庫遠程自主實驗平臺將發(fā)揮著重要的作用,推動數據庫課程實驗教學的發(fā)展。
參考文獻
[1] 陳基漓.基于網絡的數據庫課程實驗教學平臺[J].高教裝備,2006,(9):41-42
[2] 王文娟,徐建志,周光永,黃晶晶.大型數據庫遠程實驗教學系統(tǒng)設計與實現[J].高校實驗室工作研究, 2008,(4):29-32
[3] 張文東,夏偉偉. 高校分布式數據庫管理實驗系統(tǒng)的設計與實現[J].計算機工程與設計, 2007, 28 (5):1211-1222.
Web-based Database Remote Self-Experiment Platform
LIU Wen-ju KE Yong-zhenSHI Zhen-quan WANG Wan-ru
中圖分類號:G642 文獻標志碼:A 文章編號:1671-7880(2016)03-0038-03
任何一門學科在其研究過程中常常需要借助一些工具和方法。計算機科學在其研究過程中也需要借助數學工具,這個數學工具即是離散數學。離散數學在計算機科學本身及其應用密切相關的現代科學與工程領域起著重要作用。離散數學是計算機科學專業(yè)的一門專業(yè)基礎課程,它是“數據結構”“操作系統(tǒng)”“數據庫系統(tǒng)原理”“編譯原理”“人工智能”等多門專業(yè)課程的先修課程,注重培養(yǎng)學生的邏輯推理能力和抽象思維水平。但是,離散數學課程所涵蓋的教學內容特別豐富且又各自獨立,概念和定理特別多,內容極其抽象。這些特點對教與學兩方面都提出了很高的要求和挑戰(zhàn)。特別是針對面向應用的計算機類專業(yè)的學生,如果將該課程當成一門純粹的數學課進行講授的話,學生會很難理解課程內容以及與實際應用的結合,容易導致學生接受困難、興趣低。因此,如何提高離散數學課程的教學水平和質量便是一個關鍵問題。
1離散數學課程的教學內容、特點及問題
離散數學課程是計算機科學與技術專業(yè)的核心基礎課程,IEEE/ACM的CC2001課程體系別強調了這一點。它在計算機科學與技術專業(yè)課程體系中起到重要的基礎理論支撐作用,主要體現在3個方面:(1)離散數學是重要的專業(yè)基礎課,離散結構為計算機系統(tǒng)提供其處理對象的狀及其變換的有效描述,計算機科學與技術有關的許多領域都要用到離散結構中的概念,從而使得離散數學在專業(yè)課中有著廣泛應用。(2)離散數學對培養(yǎng)學生的學科素質、掌握正確的學科方法起著重要的作用。離散數學用數學語言來描述離散系統(tǒng)的狀態(tài)、關系和變化過程,是計算機科學與技術的形式化描述語言,也是進行數量分析和邏輯推理的工具。(3)學習離散數學有利于能力培養(yǎng)。主要包括獲取知識的能力、應用知識的能力和創(chuàng)新能力。傳統(tǒng)的離散數學教材在內容組織上偏重理論,很少注重理論與計算機應用問題的有機結合。在教學過程中,學生往往將離散數學當成一門純粹的數學課,不能發(fā)現與體會到該課程內容在計算機應用中的作用。由教育部高等學校計算機科學與技術教學指導委員會出版的《高等學校計算機科學與技術專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)》一書中明確建議,在離散數學課程教學中應該引入較多實例,介紹相關理論、方法在實踐中的應用。作者認為,在離散數學課程的教學過程中,應該在講解分析理論基礎上結合計算機學科應用,特別將后續(xù)課程中的相關內容有機融入當前理論知識的學習中,無論從學科的本質特點,還是學生的學習掌握方面都是有積極作用。
2計算機應用案例融入離散數學教學的探索
2.1關系數據庫與離散數學
在離散數學課程中,集合論中的關系代數和數理邏輯中的謂詞邏輯兩部分內容一般在整個課程的前半部分。對于大一的學生,他們的專業(yè)基礎還很薄弱,甚至還沒有“入門”。如果一開始就直接進行理論講授,會使得很多同學感到迷茫,甚至產生對本專業(yè)的厭惡。然而,這部分內容在后續(xù)課程“數據庫系統(tǒng)原理”中有重要應用。關系理論是現代關系數據庫系統(tǒng)的基礎,對關系性質及其運算的了解,將極大地有利于學生對關系數據庫中的范式理論以及各類數據操作的理解。因此,作者在講授這部分內容之前,先用20分鐘左右時間簡要介紹數據庫系統(tǒng)的相關知識背景,主要包括數據庫系統(tǒng)與計算機技術的關系、發(fā)展歷程、典型應用等,并落腳于關系型數據庫以及關系數據模型。強調在關系數據庫中,基本數據結構是關系,也就是二維表。用戶使用數據庫系統(tǒng)就是對若干張二維表進行檢索、插入、修改和刪除操作,實現這些操作稱為數據子語言,而這種語言就是以關系代數和謂詞邏輯為數學基礎。有了這些背景知識,然后在講授這部分理論過程中,適時地融入關系數據庫的應用案例,幫助學生更好地理解與掌握有關理論。比如,數據子語言相當于一種代數結構,而這種代數結構的研究對象是n元有序組的集合,一共有五種操作,包括投影、選擇、笛卡爾乘積、并和差運算。這些運算都是封閉的,它們構成了一個代數系統(tǒng),稱為關系代數。由此可見,對關系數據庫中數據子語言的研究就歸納為對關系代數的研究,這樣就建立了關系代數與數據子語言之間的聯系。在講授過程中,再舉幾個實際的數據庫查詢例題,以進一步提高學生的學習興趣。值得注意的是,在應用關系數據庫實例講解過程中,特別要注重圖示法的應用。我們的目的不是向學生介紹關系數據庫的有關知識,因此必須堅持“能夠用圖示介紹的,絕不用文字介紹”的原則。這樣可以讓學生快速地從感官上認識到關系數據庫的最基本知識與原理。作者在教學實踐中,以3張簡單的關系表作為示例,分為是學生基本信息表,包括學號、姓名、系別和年齡4個屬性,記為S(SNO,SN,SD,SAGE)、課程信息表,包括課程號和課程名2個屬性,記為C(CNO,CN)以及學生選課表,包括學號、課程號和成績3個屬性,記為SC(SNO,CNO,G)。這3張關系表的信息是學生們特別熟悉的,因而容易理解。例如,當我們需要在學生基本信息表中查詢年齡大于19歲的學生信息,用關系代數語言即可表達為σSAGE>19(S),查詢結果如圖1所示。再比如,當我們需要查詢學生的姓名和系別時,用關系代數語言表達為πSN,SD(S),查詢結果如圖2所示。總之,通過這些簡單但具體的應用,讓學生對關系的概念有更好的理解與掌握。
2.2計算機網絡與離散數學
圖論是離散數學中重要部分,具有廣泛的應用價值,許多實際問題的解決往往都會歸結為圖結構的建模及求解。在教學過程中應該通過大量的實例讓學生掌握圖結構的建模與分析方法。在通常的教材及教學中,往往以哥尼斯堡七橋問題作為引入,說明圖論問題的來源。但作者在以往的教學實踐中發(fā)現,僅以這個例子來引導學生進行圖論知識的學習,效果并不明顯。典型實例有:個體之間的關系、航班安排、程序調用、文件存儲結構、代碼設計、通信網絡、路由分配、決策與博弈等。通過這些實際案例的介紹,加深學生對圖論知識的理解,提高學習興趣,并能夠培養(yǎng)學生的圖模型表示和解決實際問題的能力,即建模能力。這里,我們僅以計算機網絡中。隨著4G網絡的普及以及校園wifi建設的完善,幾乎每位同學每時每刻都處于聯網狀態(tài)。然而,在沒有學習計算機網絡課程之前,學生都還不清楚網絡通信的基本原理。因此,作者在教學過程中發(fā)現,如果將計算機網絡中的有關內容與圖論知識適時恰當地結合,能夠提高學生的學習興趣。比如,整個因特網就是一個非常大的圖結構,每位同學的每部手機就是這張圖的一個節(jié)點。上網的過程就是不同節(jié)點之間信息傳輸的過程,這時可以引導學生思考“網絡(即圖結構)這么復雜,如何保證信息正確到達對方節(jié)點?”“如何找到一條最好的路徑來進行傳輸?”等問題。從而可以自然地將計算機網絡中的路由選擇與圖論中的最優(yōu)路徑算法結合起來。在講授過程中,再結合一些動畫進行演示。作者發(fā)現,可以引起學生的普遍關注與學習興趣。
2.3其他方面
為了提高離散數學課程的教學質量,除了將較多的計算機實際應用案例有機融入教學過程中,我們在教學實踐中還進行了以下幾個方面嘗試:(1)在第一次課上對離散數學課程進行較詳細的引導性介紹。主要包括它在計算機學科中的地位、作用,與計算機專業(yè)其他課程的關系,它的研究對象、內容與歷史,計算機學科在我國的發(fā)展歷史,特別是早期階段中的一些典型人物與事件。使學生對本門課程有一個整體性的認識及把握。(2)保證一定的課后習題量。僅僅依賴課堂的聽講不能真正理解有關知識點,尤其是對于數學類的課程。離散數學作為專業(yè)核心基礎課程,共64學時。每節(jié)課都有大量的知識點,因此,每次課后都有一定量的課后作業(yè)。為了及時批改與講評,需要配備1名研究生助教。(3)鼓勵有興趣的學生參加相關課題研究。例如用圖模型網絡流、最優(yōu)調度等實際應用問題。研究成果以書面報告或論文的形式提交。
3結語
離散數學課程的內容是極其抽象的,這是數學類課程的本質特點。實踐證明,正是它的抽象性,才會帶來巨大的應用。對于剛入大學的學生來說,在專業(yè)課程的學習中,一開始便進入這門課程的學習,確實需要克服很大的困難。作者根據自己多年的教學實踐,注重不同專業(yè)課程之間有機聯系,通過計算機實際應用案例來引導相關抽象概念的學習。實踐證明,可以在一定程度上提高學生的學習興趣,提高了教學效果。
參考文獻:
[1]文海英,廖瑞華,魏大寬.離散數學課程教學改革探索與實踐[J].計算機教育,2010(6):100-103.
[2]張順淼.應用型本科高校離散數學教學改革探索[J].韶關學院學報(自然科學版),2013,34(8):82-85.
一個數據庫系統(tǒng)的生命周期可以分成:設計、開發(fā)和成品三個階段。在設計階段進行數據庫性能優(yōu)化的成本最低,收益最大。在成品階段進行數據庫性能優(yōu)化的成本最高,收益最小。數據庫的優(yōu)化通常可以通過對網絡、硬件、操作系統(tǒng)、數據庫參數和應用程序的優(yōu)化來進行。最常見的優(yōu)化手段就是對硬件的升級。根據統(tǒng)計,對網絡、硬件、操作系統(tǒng)、數據庫參數進行優(yōu)化所獲得的性能提升,全部加起來只占數據庫系統(tǒng)性能提升的40%左右,其余的60%系統(tǒng)性能提升來自對應用程序的優(yōu)化。許多優(yōu)化專家認為,對應用程序的優(yōu)化可以得到80%的系統(tǒng)性能的提升。應用程序的優(yōu)化通常可分為兩個方面:源代碼和SQL語句。由于涉及到對程序邏輯的改變,源代碼的優(yōu)化在時間成本和風險上代價很高,而對數據庫系統(tǒng)性能的提升收效有限。
1.1為什么要優(yōu)化SQL語句
第一、SQL語句是對數據庫進行操作的惟一途徑,對數據庫系統(tǒng)的性能起著決定性的作用。
第二、SQL語句消耗了70%至90%的數據庫資源。
第三、SQL語句獨立于程序設計邏輯,對SQL語句進行優(yōu)化不會影響程序邏輯。
第四、SQL語句有不同的寫法,在性能上的差異非常大。
第五、SQL語句易學,但難精通。
優(yōu)化SQL語句的傳統(tǒng)方法是通過手工重寫來對SQL語句進行優(yōu)化。DBA或資深程序員通過對SQL語句執(zhí)行計劃的分析,依靠經驗,嘗試重寫SQL語句,然后對結果和性能進行比較,以試圖找到性能較佳的SQL語句。這種傳統(tǒng)上的作法無法找出SQL語句的所有可能寫法,且依賴于人的經驗,非常耗費時間。
1.2 SQL優(yōu)化技術的發(fā)展歷程
第一代SQL優(yōu)化工具是執(zhí)行計劃分析工具。這類工具針對輸入的SQL語句,從數據庫提取執(zhí)行計劃,并解釋執(zhí)行計劃中關鍵字的含義。
第二代SQL優(yōu)化工具只能提供增加索引的建議,它通過對輸入的SQL語句的執(zhí)行計劃的分析,來產生是否要增加索引的建議。
第三代SQL優(yōu)化工具不僅分析輸入SQL語句的執(zhí)行計劃,還對輸入的SQL語句本身進行語法分析,經過分析產生寫法上的改進建議。
1.3人工智能自動SQL優(yōu)化
人工智能自動SQL優(yōu)化出現在90年代末。目前在商用數據庫領域,LECCO Technology Limited(靈高科研有限公司)擁有該技術,并提供使用該技術的自動優(yōu)化產品LECCO SQL Expert,它支持Oracle、Sybase、MS SQL Server和IBM DB2數據庫平臺。該產品針對數據庫應用的開發(fā)和維護階段提供的模塊有:SQL語法優(yōu)化器、PL/SQL集成化開發(fā)調試環(huán)境(IDE)、掃描器、數據庫監(jiān)視器等。其核心模塊SQL 語法優(yōu)化器的工作原理為:①輸入一條源SQL語句;②“人工智能反饋式搜索引擎”對輸入的SQL語句,結合檢測到的數據庫結構和索引進行重寫,產生N條等效的SQL語句輸出;③產生的N條等效SQL語句再送入“人工智能反饋式搜索引擎”進行重寫,直至無法產生新的輸出或搜索限額滿;④對輸出的SQL語句進行過濾,選出具有不同執(zhí)行計劃的SQL語句;⑤對得到的SQL語句進行批量測試,找出性能最好的SQL語句。
2 LECCO SQL Expert自動優(yōu)化實例
2.1假設我們從源代碼中抽取出這條SQL語句(也可以通過內帶的掃描器或監(jiān)視器獲得SQL語句):
SELECT COUNT(*) 論文下載
FROM EMPLOYEE
swheresEXISTS (SELECT 'X'
FROM DEPARTMENT
swheresEMP_DEPT=DPT_ID
AND DPT_NAME LIKE 'AC%')
AND EMP_ID IN (SELECT SAL_EMP_ID
FROM EMP_SAL_HIST B
swheresSAL_SALARY > 70000)
按下“優(yōu)化”按鈕后,經過10幾秒,SQL Expert就完成了優(yōu)化的過程,并在這10幾秒的時間里重寫產生了2267 條等價的SQL語句,其中136條SQL語句有不同的執(zhí)行計劃。
接下來,我們可以對自動重寫產生的136條SQL語句進行批運行測試,以選出性能最佳的等效SQL語句。按下“批運行” 按鈕,在“終止條件” 頁選擇“最佳運行時間SQL語句”,按“確定”。
經過幾分鐘的測試運行后,我們可以發(fā)現SQL124的運行時間和反應時間最短。運行速度約有22.75倍的提升(源SQL語句運行時間為2.73秒,SQL124運行時間為0.12秒)。現在我們就可以把SQL124放入源代碼中,結束一條SQL語句的優(yōu)化工作了。
2.2“邊做邊學式訓練”提升SQL開發(fā)水平
LECCO SQL Expert不僅能夠找到最佳的SQL語句,它所提供的“邊做邊學式訓練”還能夠教開發(fā)人員和數據庫管理員如何寫出性能最好的SQL語句。LECCO SQL Expert的“SQL比較器”可以標明源SQL和待選SQL間的不同之處。
以上面優(yōu)化的結果為例,為了查看源SQL語句和SQL124在寫法上有什么不同,我們可以按下“比較器” 按鈕,對SQL124和源SQL語句進行比較。“SQL 比較器”將SQL124相對于源SQL語句的不同之處以藍顏色表示了出來。如果選擇“雙向比較”復選框,“SQL 比較器”可以將兩條SQL語句的不同之處以藍色表示。當然,我們也可以從源語句和重寫后的SQL 語句中任選兩條進行比較。
從比較的結果可以看到,重寫后的SQL124把第一個Exists改寫成了In;在字段DPT_ID上進行了合并空字符串的操作,以誘導數據庫先執(zhí)行子查詢中的
(SELECT DPT_ID||''
FROM DEPARTMENT
WHERE DPT_NAME LIKE 'AC%')
在子查詢完成后,再與EMPLOYEE表進行嵌套循環(huán)連接(Nested Loop Join)。
如果覺得對寫法的改變難以理解,還可以點中“執(zhí)行計劃”復選框,通過比較兩條SQL語句的執(zhí)行計劃的不同,來了解其中的差異。在查看執(zhí)行計劃過程中,如果有什么不明白的地方,可以點中“SQL信息按鈕”,再點擊執(zhí)行計劃看不明白的地方,LECCO SQL Expert的上下文敏感幫助系統(tǒng)將提供執(zhí)行計劃該處的解釋。
在“SQL比較器”中,選中“統(tǒng)計信息”復選框后,可得到詳細的兩條SQL語句運行時的統(tǒng)計信息比較,這對于學習不同的SQL寫法對數據庫資源的消耗很有幫助。
2.3 LECCO SQL Expert優(yōu)化模塊的特點
LECCO SQL Expert優(yōu)化模塊的特點主要表現為:自動優(yōu)化SQL語句;以獨家的人工智能知識庫“反饋式搜索引擎”來重寫性能優(yōu)異的SQL語句;找出所有等效的SQL語句及可能的執(zhí)行計劃;保證產生相同的結果;先進的SQL語法分析器能處理最復雜的SQL語句;可以重寫SELECT、SELECT INTO、UPDATE、INSERT和DELETE語句;通過測試運行,為應用程序和數據庫自動找到性能最好的SQL語句;提供微秒級的計時,能夠優(yōu)化Web應用程序和有大量用戶的在線事務處理中運行時間很短的SQL語句;為開發(fā)人員提供“邊做邊學式訓練”,迅速提高開發(fā)人員的SQL編程技能;提供上下文敏感的執(zhí)行計劃幫助系統(tǒng)和SQL運行狀態(tài)幫助;不是猜測或建議,而是獨一無二的SQL重寫解決方案。
2.4寫出專家級的SQL語句
LECCO SQL Expert的出現,使SQL的優(yōu)化變得極其簡單,只要能夠寫出SQL語句,它就能幫用戶找到最好性能的寫法。LECCO SQL Expert不僅能在很短的時間內找到所有可能的優(yōu)化方案,而且能夠通過實際測試,確定最有效的優(yōu)化方案。同以往的數據庫優(yōu)化手段相比較,LECCO SQL Expert將數據庫優(yōu)化技術帶到了一個嶄新的技術高度,依賴人的經驗、耗費大量時間、受人的思維束縛的數據庫優(yōu)化手段已經被高效、省時且準確的自動優(yōu)化軟件所取代了。通過內建的“LECCO小助手”的幫助,即使是SQL的開發(fā)新手,也能快速且簡單地寫出專家級的SQL語句。
參考文獻
1張孔倚.關于人工智能技術在情報檢索中的應用.山西大學學報,2007(3)