資料庫課程設計理論及實踐論文

資料庫課程設計理論及實踐論文

  資料庫課程是計算機科學及資訊科技相關專業方向的核心課程,主要研究資料庫系統的基本概念、原理、方法及其應用,包括資料庫系統、資料模型、資料庫查詢語言、關係資料庫設計、事務處理等核心內容.透過資料庫系統課程的學習,使學生能夠正確理解資料庫的基本原理,熟練掌握資料庫設計方法和應用技術,掌握科學研究的方法和軟體開發的基礎規律,增強學生實際動手能力和創新能力.

  1資料庫理論是資料庫課程設計的前提

  目前,資料庫產品市場95%以上都是關係資料庫產品.關係資料庫理論是資料庫設計的基礎,掌握關係資料庫課程理論是資料庫課程設計的前提.資料庫課程是研究資料處理技術的一門綜合性學科,它是與離散數學、作業系統、資料結構、軟體工程、計算機原理等學科及其他應用領域的知識和方法相結合的學科.資料庫理論研究的核心內容是資料建模、資料規範化理論、資料庫系統、資料庫的安全性、完整性、資料恢復技術、模式分解理論和方法.只有掌握了資料庫理論才能做好資料庫設計[1]22-49.全國大部分院校都將資料庫理論和應用作為兩門課程開設,一門是資料庫系統概論(主講資料原理),另一門是資料庫應用(主講程式設計).對於絕大多數學習者來講,學習資料庫的最終目的是掌握資料庫應用方法和技術,在現有DBMS的基礎上二次開發資料庫產品,而不是開發新的DBMS,所以大多數高校往往在資料理論之前先開設資料應用課程,如VisualFoxpro6.0、Delphi、Oracle、SQLServer、Access等程式設計課程是關係資料庫的產品,它們屬於原理的具體應用部分.學習資料庫應用課程後,便於掌握和應用資料庫理論;反之,也只有學習了資料庫理論才能更好地掌握和應用資料庫技術.

  2資料庫設計理論是資料庫理論的應用和延伸

  2.1資料庫理論在資料庫設計中的指導應用

  按照規範設計的方法,將資料庫設計分為6個階段:需求分析、概念結構設計、邏輯結構設計、物理結構設計、資料庫的實施、資料庫執行和維護.在資料庫設計的每一個階段,都不同程度地用到了資料庫理論與方法,同時對資料庫理論進行了豐富的擴充.在概念結構設計中,核心內容是資料建模,即根據實體型別設計E-R(實體-聯絡)圖.在E-R圖中要搞清楚哪些是實體,哪些是屬性.從理論的角度來說,實體是客觀存在的,並可以相互區別的事物,屬性是對實體特徵的描述,但是它們之間既有必然區別,也有一定聯絡.實體和屬性不是絕對的,如果需要對屬性進一步描述,則屬性就作為實體,反之,如果不需要對實體進一步描述,則實體也可以作為另一實體的屬性.例如,在設計職工檔案管理資料庫時,實體型別“職工”的屬性:檔案號,姓名,性別,出生日期,參加工作時間,學歷,職稱,職務,工資.如果只考慮現在的工資,則工資就是職工實體的屬性,但是如果考慮職工的工資歷史,則工資就是一個實體.在邏輯結構設計時,用到規範化理論、求極小集和碼的方法、模式分解理論和方法.

  2.2資料庫設計理論是對資料庫理論的延伸

  資料庫設計理論對資料庫理論在很多方面進行了延伸和擴充套件,使得資料庫理論更加簡捷、方便和直觀.在邏輯結構設計中,將概念模型的產品基本E-R圖轉換為邏輯結構的關係模型,是模式分解理論的直接應用,是在資料庫理論基礎上的抽象和延伸,實體內和實體間的轉換,實體間的每一個實體轉換為一個關係,實體內的屬性是關係的屬性,實體內屬性的碼就是關係的碼.按照關係理論的函式依賴,每一個實體中,碼決定每一個屬性,而模式分解中,碼相同的合併,左右兩端的屬性合併作為一個分解,從操作方面減少了複雜性,所以設計理論與資料理論完全吻合;資料庫實體之間的聯絡分為一對一、一對多、多對多和多實體之間的聯絡4種情況,這些轉換在邏輯結構設計中都給出了轉換規則,也完全滿足模式分解理論,在模型最佳化時,用到極小集方法與設計理論的結合.

  3注重資料庫設計理論與實踐的.結合

  3.1處理好資料庫設計經驗和資料庫設計理論的關係

  資料庫設計理論儘管比較完善,按照規範化理論,在函式依賴領域,如果關係滿足BCNF,不會存在資料冗餘、插入異常、刪除異常和更新異常,實際上關係規範化不一定要達到BCNF;如果達到BCNF,不會出現冗餘和各種異常,但會出現查詢效率降低.這就要根據實際情況綜合權衡.下面以規範化後的學生成績管理系統為例說明.學生成績管理系統包含下列3個關係:學生(學號,姓名,性別,出生年月);課程(課號,課名,學時,學分);成績(學號,課號,成績).我們經常查詢“某同學學習某課程的成績”,這就需要3個關係的連線,如果學生人數較多(資料庫較大),可能需要較長時間,但如果是第1正規化,則不需要連線,如果是第2正規化,可能連線的次數較少,也會減少耗費.在實際應用中,我們可能不需要把關係劃分到BCNF,也許只需要達到2NF,甚至1NF,也就是逆規範化,到底規範化到什麼程度,要結合實際問題和具體設計經驗[2]3-39.

  3.2課程實驗是資料庫課程設計的基礎

  資料庫課程是理論與應用結合較為緊密的一門課程.學習資料庫課程的主要目的是為了應用.因此,為了深入淺出地講授資料庫理論,在每一章都設計一些課程實驗,以便透過實踐驗證理論,同時掌握其應用方法,為後續的課程設計打下基礎.在大部分教科書中,都是以SQLServer為例,講授SQL語言、資料的安全性、完整性.在講授SQL語言時,可以讓學生先建立資料庫,結合所學內容對資料庫進行查詢、插入、刪除、修改等實踐操作,在實踐的過程中真正理解並掌握SQL語言的應用環境.在講授資料庫安全性和完整性時,利用資料庫系統的實際應用讓學生對系統做資料控制.提高學生對資料庫課程的認識,激發學生的學習興趣和慾望.

  3.3課程設計是提升學生綜合應用能力的關鍵

  課程設計是課程內容的展示,是對所學知識的延伸,是學生掌握學習內容、方法和技巧的綜合體現.資料庫設計理論主要是為了指導資料庫的應用和實踐,透過系統的理論學習和部分單元(如建立使用者、建立檢視、使用者管理、許可權管理等)的應用實踐訓練,充分認識到DBA在資料庫系統中的作用.透過課程設計讓學生在掌握資料庫設計理論的同時掌握資料庫課程設計的全過程,可以採取將學生分組的方式,為每組同學擬定相關題目,如學生檔案管理系統、財務管理系統、售票管理系統等,設計可以採取集中設計和分散設計相結合的方式,如果條件允許可以集中7~10天時間做課程設計,否則,可以利用週末時間集中設計,學生自己找業餘時間,教師加強指導,題目在期中佈置,期末老師驗收.讓每一位同學獨立完成或者協助完成資料庫設計的過程,同時,使每一組同學進行上機執行並除錯,完成所有功能進行程式實現,最後組織設計答辯.教課評價方面,可將學生平時的課程設計和期末考試相結合,作為學期期末成績.透過課程設計和設計答辯,學生不僅鞏固了理論知識,豐富了課程實踐,掌握瞭如何運用理論指導實踐應用,也對今後其他課程設計以及畢業設計打下堅實的基礎,取得較好的效果.

  3.4資料庫課程設計的具體內容

  資料庫設計是在指定的應用環境下,構建最優的資料庫邏輯模式和物理結構,建立資料庫及其應用系統,滿足各種使用者的各種需求(資訊、管理和操作需求),並能夠有效地儲存和管理資料.資料庫設計要按照需求分析、概念結構設計、邏輯結構設計、物理結構設計、資料庫實施、資料庫的執行和維護各個階段突出特點嚴格進行結構設計是與行為設計的有機結合.每一個階段都有具體的技術要求,教師提出要求讓學生深入圖書館、學生管理部門或者企業進行系統調查,透過需求分析設計出資料流圖,編寫資料字典.概念結構設計是從資料流圖和資料字典中提煉出E-R圖,對E-R圖最佳化後獲得基本E-R圖.按照轉換規則和DBMS的轉換功能將概念結構的產品基本E-R圖轉換為邏輯結構設計的關係模型.物理結構設計主要根據DBMS的詳細特徵設計儲存結構和存取技術,最後經過最佳化、評價滿足使用者的效率要求.資料庫實施和執行維護主要考慮程式碼的編寫、除錯、試執行和維護,涉及資料轉儲、安全性、完整性、資料組等問題.整個設計都是在資料庫理論的指導下進行[3]181-250.

  4結語

  資料庫課程設計是理論和實踐的有機結合,隨著計算機應用的深入,資料庫應用在社會生活中越來越重要,應用範圍也越來越廣,如何使資料庫理論和設計更好的結合是值得高校教師深入探討的問題.只有不斷的探索資料庫課程設計理論,才能在實際應用中得到創新.

最近訪問