前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的數(shù)據(jù)庫系統(tǒng)概論主題范文,僅供參考,歡迎閱讀并收藏。
關(guān)鍵詞 需求分析 實體及屬性 概念模型
中圖分類號:TP315 文獻標識碼:A
1托盤共用信息管理平臺
在托盤共用系統(tǒng)中,托盤屬于托盤運營商所有,托盤的質(zhì)量控制、維護修理均由托盤運營商負責,托盤使用企業(yè)不必擁有托盤,只需按照租賃合同使用托盤,有利于節(jié)約使用企業(yè)自備托盤的成本。托盤運營商建立托盤租賃和回收點,負責托盤的租賃、回收與維護,并根據(jù)托盤租賃需求預測,向生產(chǎn)企業(yè)訂購托盤。
目前由于托盤運營商經(jīng)常會因信息滯后,無法預測或統(tǒng)計相關(guān)企業(yè)對托盤的需求量,而使托盤脫銷或積壓,造成較高的托盤的庫存成本。同時無法及時了解托盤在運輸過程中的具置,完整回收隨商品發(fā)往各地的空托盤,或者托盤隨著產(chǎn)品的運輸一次性使用后就被丟棄,造成資源的浪費。在空托盤的回收方面,由于無法與鄰近的回收點充分共享信息資源,經(jīng)常會產(chǎn)生回程空載上的浪費,不能充分利用托盤。很多因信息滯后的弊端使得托盤運營這項產(chǎn)業(yè)初期投入高,回收低下,出現(xiàn)運營困境。進一步講,托盤共用系統(tǒng)中流動著多種托盤物流,如用戶與托盤租賃和回收點之間的空托盤物流、回收點之間的庫存托盤物流、用戶之間隨貨物流動的托盤物流及用戶之間的轉(zhuǎn)租托盤物流等。各類托盤物流的高度流動性,使托盤共用系統(tǒng)的管理變得十分復雜,于是以互聯(lián)網(wǎng)為基礎(chǔ)建立托盤信息管理平臺就成為了對托盤共用系統(tǒng)進行有效管理的必然選擇。
2需求分析
2.1引言
進行系統(tǒng)設(shè)計,首先要對系統(tǒng)的現(xiàn)狀進行分析。根據(jù)系統(tǒng)的目標、需求和功能,制定和選擇一個較好的系統(tǒng)方案,從而達到一個合理的優(yōu)化系統(tǒng)。隨著經(jīng)濟的發(fā)展和社會的進步,大部分的地區(qū)都會出現(xiàn)托盤共用的情況,建立一個托盤共用信息系統(tǒng),是為了解決人工手動管理托盤信息在實踐的問題,從而達到系統(tǒng)化、規(guī)范化、標準化的水平。該系統(tǒng)的建立不但給管理者帶來了方便,也節(jié)省了工作時間從而提高了工作效率。
在構(gòu)造系統(tǒng)時,首先從需求出發(fā)構(gòu)造數(shù)據(jù)庫表,然后再由數(shù)據(jù)庫表結(jié)合需求劃分系統(tǒng)功能模塊。這樣,就把一個大的系統(tǒng)分解成了幾個小系統(tǒng)。這里把系統(tǒng)的層次劃分為了四個部分:托盤維護,管理人員信息管理,托盤租賃管理,信息查詢。能夠?qū)崿F(xiàn)以下功能: (1)進行新托盤入庫、現(xiàn)有托盤信息修改以及刪除;(2)能夠?qū)崿F(xiàn)對顧客基本信息的查詢和編輯管理;(3) 能夠進行當前財務以及人力狀況的查詢;(4) 能夠進行租賃信息的查詢功能。
2.2需求分析階段的目標與任務
2.2.1處理對象
托盤信息:托盤條形碼,托盤類型,托盤名稱,托盤租賃次數(shù),租賃價格,貨位,存儲數(shù)量,入庫時間,供應商編號。
托盤公司信息:點編號,點名稱,e-mail,地址,網(wǎng)址,電話,管理員,公司名稱。
顧客:顧客編號,顧客名稱,性別,租賃次數(shù),顧客類型,電話,e-mail,注冊日期。
托盤借還:租賃編號,實際歸還時間,托盤條形碼,租賃時間,驗收員編號,是否歸還,預計歸還時間,顧客編號。
供應商檔案:供應商編號,供應商公司名稱,供應商類型,電話,e-mail,備注。
托盤供應:供應單編號,托盤條形碼,采購員編號,供應數(shù)量,供應價格,供應日期。
托盤驗收:驗收單編號,托盤條形碼,驗收員編號,貨位,接收數(shù)量。
管理員:管理員編號,名稱,密碼。
2.2.2處理功能及要求
(1)能夠存儲一定數(shù)量的托盤信息,并方便有效的進行相應的托盤數(shù)據(jù)操作和管理,這主要包括:①托盤信息的錄入、刪除及修改。②托盤信息的多關(guān)鍵字檢索查詢。③托盤的出借、返還及超期罰款或丟失賠償。
(2)能夠?qū)σ欢〝?shù)量的顧客、管理員進行相應的信息存儲與管理,這其中包括:①顧客信息的登記、刪除及修改。②管理員信息的增加、刪除及修改。③顧客資料的統(tǒng)計與查詢。
(3)能夠提供一定的安全機制,提供數(shù)據(jù)信息授權(quán)訪問,防止隨意刪改、查詢。
(4)對查詢、統(tǒng)計的結(jié)果能夠列表顯示。
3 系統(tǒng)概念模型設(shè)計
在托盤信息系統(tǒng)中,涉及到包括托盤供應商、托盤租賃公司、顧客在內(nèi)的供應鏈,需要實現(xiàn)托盤信息的錄入、刪除及修改,托盤信息的多關(guān)鍵字檢索查詢以及托盤的出借、返還及超期罰款或丟失賠償情況。因此初步構(gòu)建整體E-R圖1所示。
進一步地對M:N的聯(lián)系轉(zhuǎn)換為相應的連接實體,建立各實體的主鍵和外鍵,建立各實體間的聯(lián)系并且設(shè)置必要的完整性約束。繪制最終包括全部的實體、主要的屬性,標明主鍵和外鍵,建立各實體間完整E-R圖。
參考文獻
[1] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].高等教育出版社,2006.
關(guān)鍵詞:高校;計算機專業(yè);實例;數(shù)據(jù)庫應用
中圖分類號:G642 文獻標識碼:A文章編號:1009-3044(2007)05-11454-03
1 引言
《數(shù)據(jù)庫原理及應用》這門課的主要任務是通過課堂教學和實踐指導,使學生較全面地掌握數(shù)據(jù)庫系統(tǒng)的基本概念、基本原理和基本方法,初步具備使用數(shù)據(jù)庫技術(shù)解決實際問題的能力。當前國內(nèi)高校計算機專業(yè)教育教學普遍存在以下基本情況:1、學生人數(shù)眾多,實驗室開放時間有限,條件不足。2、教師和學生的比例差距較大,指導并不充分。3、存在“重視理論大于實踐;重視課本大于動腦”的現(xiàn)象,常常表現(xiàn)在SQL語句寫的非常好的同學但是數(shù)據(jù)庫設(shè)計卻很茫然。然而在很多時候即使重視理論也很難將理論講授深入,同時學生的課程任務繁重,自己動腦動手的時間不多,應試教育的因素又使得學生對于知識的渴望大于對實踐的需求。針對這些,教師無形中不得不加強對理論的深入,于是教學進入了不良循環(huán)的一個怪圈:成績好的學生在畢業(yè)設(shè)計階段也可能表現(xiàn)出對數(shù)據(jù)庫設(shè)計無從下手,甚至ER圖都不會畫或畫錯,學生成績的優(yōu)良并不能如實反映他們對于這門課知識的掌握程度。
我國信息技術(shù)發(fā)展時間較短,從業(yè)人員較少,專業(yè)教材的建設(shè)正在逐步完善,在這樣的現(xiàn)狀下,美國等發(fā)達國家在其計算機科學發(fā)展的幾十年間沉淀的經(jīng)典教材仍有許多值得借鑒之處。但是國內(nèi)高校對于雙語教學的嘗試,進展比較緩慢效果并不明顯,特別是采用英文原版教材對教學的實施難度較大。在這種情況下適當?shù)囊糜⑽脑娼滩闹械膶嵗踔潦菄飧咝=虒W中的實例,對《數(shù)據(jù)庫原理及應用》課程極為重要。
2 實例教學的作用
(1)實例教學是一種生動、靈活、多樣化的教學方法。實例教學打破傳統(tǒng)的課堂教學概念,進行全方位,多層次的探索。學生由傳統(tǒng)的以講授法為代表的教學中的被動變?yōu)橹鲃樱@得了模擬解決實際問題的各種練習機會;
(2)歸納和演繹恰當?shù)慕Y(jié)合,有利于學生創(chuàng)造能力的開發(fā)。采用實例教學,課堂氣氛較為活躍,學生積極參與,各自提出解決問題的方案,再比較不同方案的利弊,最后找出一個比較可行的設(shè)計流程。當完成基本原理方法的講解之后,都會安排一次大作業(yè),這更加體現(xiàn)了實例教學的特點;
(3)以實例促教學,理論聯(lián)系實際。通過實例,可以啟發(fā)學生將理論與實踐結(jié)合起來,從獲得現(xiàn)成的知識到探索未知的領(lǐng)域飛躍。
3 實例在數(shù)據(jù)庫教學中的運用
3.1 實例分析
實例分析一般采用課堂隨機發(fā)言的方式展開討論。教師將一些比較常見的或者相對比較容易理解的問題在課堂上提出,學生對此自由發(fā)言,最后教師歸納總結(jié)。將傳統(tǒng)教學中表現(xiàn)出的弊端盡可能的避免,如:(1)不聯(lián)系實際,如QBE、嵌入式SQL、事務、備份等;(2)無法提高學生實際動手能力,沒有大容量、高復雜的數(shù)據(jù)庫;(3)設(shè)計能力,沒有正確的設(shè)計思路(三范式的錯誤用法),沒有經(jīng)過設(shè)計訓練。這些問題經(jīng)過教師啟發(fā)之后,學生很容易抓住重點分析解決問題。
3.2 實例訓練
數(shù)據(jù)庫課程是一門比較重視實踐的課程,而運用實例進行教學又是簡單易行的辦法。從課本之外的地方找到相關(guān)的實例是一種新穎有效的辦法,因為課本上的實例一般都選擇比較簡單的和某一個主題相關(guān)的例子,學生獨立看書的過程中很容易看懂這些實例,如果上課的過程中繼續(xù)引用,反復講解,難免會給學生造成煩躁的情緒,時間長了,學生會覺得這門課的內(nèi)容相對簡單,往往容易掉以輕心。這樣就對教師提出了更高的要求。教師不僅要懂得和掌握實例分析的方法和技巧,而且要具有實踐經(jīng)驗,以及駕馭課堂討論的能力,這樣才能把數(shù)據(jù)庫原理的教學做好。
4 實例舉例
《數(shù)據(jù)庫原理及應用》課程最重要的實踐環(huán)節(jié)就是讓學生能夠開發(fā)一個功能完善的數(shù)據(jù)庫應用系統(tǒng),通常數(shù)據(jù)庫設(shè)計質(zhì)量的好壞直接影響到數(shù)據(jù)庫應用系統(tǒng)的運行質(zhì)量,而數(shù)據(jù)組織的是否得當正是數(shù)據(jù)庫設(shè)計的關(guān)鍵所在.因此,關(guān)系數(shù)據(jù)庫設(shè)計所面臨的一個問題是:給出一組數(shù)據(jù),如何去構(gòu)造關(guān)系以及每個關(guān)系中應包含哪些屬性,許多設(shè)計者通過經(jīng)驗或者直覺進行設(shè)計,卻往往在使用中遇到這樣或那樣的問題,關(guān)系數(shù)據(jù)庫里的數(shù)據(jù)規(guī)范化理論對于此問題作了一些理論上的研究.
國內(nèi)的教材中對于問題的分析往往用比較簡單易懂的單獨實例加以說明,就一個問題而言比較容易理解,但是不適合拓展和舉一反三,實例沒有連續(xù)性。這樣的例子在學生頭腦中易形成斷斷續(xù)續(xù)的知識點,而不是連續(xù)的設(shè)計思想。這很容易給學生造成設(shè)計無從下手的困境,這也是數(shù)據(jù)庫教學過程中容易重視理論忽視實踐的一個原因。
下面的實例選自英國northumbria大學課程中的一個實例,這個實例可以代替“關(guān)系數(shù)據(jù)理論”這一章書本中的內(nèi)容直接講解,也可以輔助這一章進行適當?shù)难a充,這就要求教師的理論知識比較扎實,有很高的課堂引導能力,講解聯(lián)系實際防止空洞,重視培養(yǎng)學生的設(shè)計能力。
4.1 回顧相關(guān)知識
在開始關(guān)系數(shù)據(jù)理論知識講解之前,首先回顧概念:候選碼、主鍵(碼)、外鍵。回顧最好的辦法是選擇教師適當引導,學生主動回答的方式。讓學生認識到關(guān)系理論設(shè)計的重要性,在關(guān)系數(shù)據(jù)庫設(shè)計中,數(shù)據(jù)合理存儲和組織的核心是設(shè)計科學的關(guān)系模式,能準確反映現(xiàn)實世界實體間的聯(lián)系,最大限度的減少冗余這就是關(guān)系模式規(guī)范化的問題。
4.2 UNF Un-normalised Form(未規(guī)范化的形式)
表1UNF實例
4.3 1NF First Normal Form(1范式)
對于學生選課的例子,ModuleCode、ModuleTitle之外的其他屬性都存在表中套表的情況,即一個給定的課程,對應于多個學生。所以我們將套的表分離為新表,具有外鍵關(guān)系的字段用*標識:
定義:符合1范式的關(guān)系,就是不存在表中套表的情況。表中套表:即一個給定的主鍵(碼)的值,存在多個其他字段的值和它對應。
分析1NF:(1)插入異常。如果有新的學生來報道,具體數(shù)據(jù)有“N990036、JONE、25/11/1978”,插入數(shù)據(jù)時因為沒有Module信息則無法完成;(2)刪除異常。N990036如果放棄選擇Module為IS705的信息,刪除記錄時會因為刪除了Module信息,N990036信息也隨之消失;(3)修改復雜、冗余大。學生若選擇了K個Module,那么Student Name和Date of Birth都要毫無遺漏的出現(xiàn)K次。如果要修改一個Student Name,則需要修改所有出現(xiàn)這個Student Name的地方。帶著這樣的問題我們開始下面的內(nèi)容。
4.4 2NF Second Normal Form(2范式)
在確定2NF的時候,我們要檢查每一個非主屬性,看他們是完全依賴于主鍵(碼)(所有主屬性),還是部分依賴于主鍵(碼)。分析ModuleCode和ModuleTitle,因為主鍵(碼)只有一個屬性。第二個關(guān)系中主鍵(碼)是由兩個屬性組成的,所以每一個非主屬性都要進行檢查。StudentName和DateofBirth屬性只依賴于StudentCode,所以要分離為新的關(guān)系。Grade和Result屬性依賴于ModuleCode和StudentCode兩個屬性,因為主鍵(碼)的任何一個子集都不能充分決定這兩個屬性。2NF結(jié)果如下:
定義2NF:一個屬于1NF的關(guān)系也屬于2NF ,如果主鍵(碼)只有一個屬性組成,或者非主屬性(non-key attributes)完全依賴于主鍵(碼)(即依賴于所有主屬性,而不是部分主屬性)
4.5 3NF Third Normal Form(3范式)
在確定3NF的時候,我們要檢查每一個非主屬性,看他們是否不依賴于其他非主屬性。ModuleCode和ModuleTitle的關(guān)系屬于3NF。StudentCode、StudentName和DateofBirth的關(guān)系也屬于3NF。Result屬性依賴于Grade這個非主屬性,因為我們知道了Grade,就能確定Result的值,這兩個屬性需要分離為一個新的關(guān)系。3NF的結(jié)果如下:
定義:一個屬于2NF的關(guān)系也屬于3NF,如果所有的非主屬性都不依賴于其他非主屬性,并且所有主屬性也不依賴于其他主屬性。(或者說消除了傳遞依賴)(這里的3NF實際上是書本上的BCNF?。?/p>
4.6 規(guī)范化小結(jié)
圖2 各種范式及規(guī)范化過程
5 相關(guān)習題
根據(jù)給出的實例,讓學生自己分析
表2 UNF習題
6 結(jié)束語
實例教學法是傳統(tǒng)教學方法的一種補充,在本科生的教學中首次嘗試,收到很好的效果。實例教學法的成功取決于(1)選擇的實例合理;(2)教師的素質(zhì)和教師在課堂上的表現(xiàn);(3)學生在教學過程中的主動性發(fā)揮程度。總之,實例教學法有利于提高學生學習的積極主動性,很好的做到了理論聯(lián)系實際,特別是采用國外的教材或者是國外高校的實例,會大大加強學生對于這門課程的興趣。對于實例教學法的實施方法,有效的讓學生學會學習,主動學習,極大的提高了分析和解決問題的能力。
參考文獻:
[1]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論(第三版)[M].北京:高等教育出版社.2001.
[2]王珊,陳紅.數(shù)據(jù)庫系統(tǒng)原理教程[M].北京:清華大學出版社,1998.
[3]DATE CJ.An Introduction to Database System(Ed.6)[M].Addison-Wesley.1995.
[4]李艷梅,羅建..《數(shù)據(jù)庫系統(tǒng)概論》教學改革探討[J].西華師范大學學報(自然科學版),2003,(01).
[5]馮玉才.數(shù)據(jù)庫基礎(chǔ)(第二版)[M].武漢:華中理工大學出版社.1993.
[6][美]Evangelos Petroutsos,Kevin Hough. 邱仲潘譯.Visual Basic 6 高級開發(fā)指南[M].北京:電子工業(yè)出版社,1999.
[7]劉容.數(shù)據(jù)庫課程教學改革初探[J].高等工程教育研究,1997,(4).
[8]何玉潔,武欣,鄧一凡.Ryan K Stephens, Ronald R Plew.數(shù)據(jù)庫設(shè)計[M].北京:機械工業(yè)出版社,2001.
[9]Silberschatz,楊冬青,唐世渭等譯.數(shù)據(jù)庫系統(tǒng)概念(原書第4版)[M].北京:機械工業(yè)出版社,2003(3).
[10]李紅. 數(shù)據(jù)庫原理及應用[M].北京:高等教育出版社,2003.
[11]伍俊良,劉飛.數(shù)據(jù)庫原理與基礎(chǔ)實踐環(huán)節(jié)在信息專業(yè)類教學中的應用與教學要求解析[J].計算機教育,2004(6).
[12]崔巍.數(shù)據(jù)庫系統(tǒng)及應用[M].第2版.北京:高等教育出版社,2003.
[13]Silberschatz, Abrah. Database system concepts[M].北京:高等教育出版社,2002.
[關(guān)鍵詞]內(nèi)存數(shù)據(jù)庫;并發(fā)控制;恢復技術(shù)
[中圖分類號]G250.74 [文獻標識碼]A [文章編號]1672-5158(2013)06-0050-01
1 內(nèi)存數(shù)據(jù)庫概論
1.1 內(nèi)存數(shù)據(jù)庫的概念
內(nèi)存數(shù)據(jù)庫指的是:一種將數(shù)據(jù)存儲在內(nèi)存中,并可以實現(xiàn)直接操作的數(shù)據(jù)庫。內(nèi)存數(shù)據(jù)庫在計算機信息系統(tǒng)中有著嚴謹?shù)亩x:設(shè)定DBS為一個數(shù)據(jù)庫系統(tǒng),DB為該數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)庫,DBM(t)代表t時刻中出現(xiàn)在DB中的數(shù)據(jù)集合,AT(t)代表t時期時處于活動狀態(tài)的事物集合,Dt(T)則是事物集在t時刻進行操作的數(shù)據(jù)集。在上述條件滿足的情況下,如任意t時刻時,滿足T隸屬于AT(t)且Dt(T)隸屬于DBM(t),則將DBS成為一個內(nèi)存數(shù)據(jù)庫系統(tǒng),一般用MMDBS簡稱;同時稱DB為一個內(nèi)存數(shù)據(jù)庫,并簡稱為MMDB。
1.2 內(nèi)存數(shù)據(jù)庫的特點
內(nèi)存數(shù)據(jù)庫技術(shù)具有以下幾方面特性:
第一,以較為復雜的模型代表數(shù)據(jù)框架,具有良好的數(shù)據(jù)擴展性,能夠使數(shù)據(jù)得到充分利用。
第二,具有方便的用戶接口,數(shù)據(jù)和程序的獨立性也十分高。
第三,具有并發(fā)控制、故障恢復、完整性及安全性四個方面的數(shù)據(jù)控制性能。在數(shù)據(jù)庫的支配管理下,各個程序中的數(shù)據(jù)由系統(tǒng)進行統(tǒng)一管理和集中控制。
第四,大大提升了系統(tǒng)的靈活性和數(shù)據(jù)的讀寫速率。
2 內(nèi)存數(shù)據(jù)庫中的關(guān)鍵技術(shù)
2.1 并發(fā)控制技術(shù)
并發(fā)控制是內(nèi)存數(shù)據(jù)庫中較為典型的關(guān)鍵技術(shù)之一。由于內(nèi)存數(shù)據(jù)庫存在于系統(tǒng)內(nèi)存中,因此在并發(fā)控制上有著其獨特的設(shè)計思路,具體體現(xiàn)在以下幾方面:
第一,基于并發(fā)控制技術(shù)的背景下,事務鎖的時間通常較短,因此由于鎖造成的競爭也較短。這主要是因為內(nèi)存數(shù)據(jù)庫的數(shù)據(jù)訪問速度通常較快,數(shù)據(jù)與數(shù)據(jù)之間的交換銜接時間也較短。
第二,很多內(nèi)存數(shù)據(jù)庫系統(tǒng)都需要采用事務并發(fā)執(zhí)行的方式完成數(shù)據(jù)采集和交換,為了保證這一過程實施的安全性和可靠性,通常采用粗粒度鎖作為輔助,以此降低鎖的開銷。對于一些較為復雜的內(nèi)存數(shù)據(jù)庫系統(tǒng),采用傳統(tǒng)、單一的加鎖方式很難滿足實際需求,則在進行內(nèi)存數(shù)據(jù)設(shè)計的時候通常考慮應用多粒度鎖體系,例如表鎖、數(shù)據(jù)庫鎖或記錄鎖。
此外,由于內(nèi)存數(shù)據(jù)庫技術(shù)對系統(tǒng)系能的要求較高,在實際設(shè)計過程中需要充分借用內(nèi)存的優(yōu)勢并結(jié)合內(nèi)存數(shù)據(jù)庫的特性,盡量減少并發(fā)控制對性能的不良影響。當然,上述設(shè)計需要建立在保證事物ACID的基礎(chǔ)上。
2.2 故障恢復技術(shù)
由于內(nèi)存數(shù)據(jù)庫中,內(nèi)存是數(shù)據(jù)存儲的主要單元,而內(nèi)存本身的不穩(wěn)定性較高,導致內(nèi)存數(shù)據(jù)庫發(fā)生系統(tǒng)故障的頻率也比較高。因此,構(gòu)建有效的故障恢復機制對于內(nèi)存數(shù)據(jù)庫就顯得意義非凡。目前,應用于內(nèi)存數(shù)據(jù)庫的主流故障恢復技術(shù)包含日志、檢驗點和內(nèi)存數(shù)據(jù)庫重裝三類。
第一,日志。日志中的系統(tǒng)運行記錄將內(nèi)存數(shù)據(jù)庫系統(tǒng)運行時的信息詳盡地保存了下來,在事務恢復執(zhí)行之前,由日志記錄下的數(shù)據(jù)鏡像便被很好地裝入內(nèi)存之中。換句話說,日志為內(nèi)存數(shù)據(jù)庫的故障恢復提供了相應的技術(shù)依據(jù)。
第二,檢驗點。檢驗點操作時,內(nèi)存數(shù)據(jù)庫一般能夠處于靜止狀態(tài),此時能夠?qū)ο到y(tǒng)數(shù)據(jù)的整體或部分進行有效記錄,并以此作為故障發(fā)生后的恢復數(shù)據(jù)鏡像。目前,F(xiàn)uzzy checkpoint是應用于內(nèi)存數(shù)據(jù)庫系統(tǒng)中最為廣泛的檢驗點技術(shù),該技術(shù)能夠?qū)崿F(xiàn)任意時間點的數(shù)據(jù)檢驗,且不受事物或動作狀態(tài)的限制,具有很好的應用效應。
第三,內(nèi)存數(shù)據(jù)庫重裝。重裝技術(shù)是一種將數(shù)據(jù)庫外存版SDB恢復到內(nèi)存版MDB的技術(shù)過程,主要分為完整重裝和部分重裝兩部分。當系統(tǒng)出現(xiàn)掉電故障或初裝狀態(tài)時,一般應用完整重裝對內(nèi)存數(shù)據(jù)庫系統(tǒng)進行故障恢復;而當內(nèi)存介質(zhì)發(fā)生故障或內(nèi)存不能存儲于數(shù)據(jù)庫整體時,則應用部分重裝操作實現(xiàn)對內(nèi)存數(shù)據(jù)庫系統(tǒng)的故障恢復,換人數(shù)據(jù)的選取是應用部分重裝操作的關(guān)鍵環(huán)節(jié)。
2.3 索引技術(shù)
傳統(tǒng)的磁盤數(shù)據(jù)庫采用B/B+樹的索引技術(shù),此技術(shù)能夠有效減少方位磁盤數(shù)據(jù)的I/O次數(shù),然而,該項技術(shù)并適合內(nèi)存數(shù)據(jù)庫系統(tǒng)。目前,主流的內(nèi)存數(shù)據(jù)庫一般選用T樹索引技術(shù),這是一項根據(jù)AVL樹和B樹發(fā)展而來的技術(shù)。
喇索引技術(shù)融合了AVL樹技術(shù)和B樹技術(shù)的優(yōu)點,既具有AVL樹的二分查找性能,又具備B樹良好的更新及數(shù)據(jù)存儲性能。在進行并發(fā)控制時,由于T樹比B樹高,因此需要更多的鎖才能完成并發(fā)控制流程,所以應用喇進行索引時,加鎖和解鎖的代價比應用B樹時要高很多。以下為喇的節(jié)點結(jié)構(gòu)示意圖:
由于采用了喇結(jié)構(gòu),內(nèi)存數(shù)據(jù)庫中只需存放指向相應記錄對應字段的指針,因此使索引中變長字段的存儲問題得到了很好地解決。此外,在T樹索引技術(shù)背景下,指針的長度一般也比其指向字段的長度小,因此節(jié)省了大量的內(nèi)存空間,使系統(tǒng)的運行也變得更為流暢。
結(jié)論
本文對內(nèi)存數(shù)據(jù)庫中的幾個重要關(guān)鍵技術(shù)進行了簡要介紹和分析,通過對比發(fā)現(xiàn),內(nèi)存數(shù)據(jù)庫技術(shù)相比于傳統(tǒng)的磁盤數(shù)據(jù)庫技術(shù)有著其明顯的優(yōu)勢之處。隨著計算機數(shù)據(jù)庫技術(shù)應用的領(lǐng)域逐漸深入,有關(guān)內(nèi)存數(shù)據(jù)庫技術(shù)新的研究成果也將不斷涌現(xiàn),例如在電信、軍事、工業(yè)控制等領(lǐng)域,內(nèi)存數(shù)據(jù)庫技術(shù)的引入和應用已成為大勢所趨。因此,我們有理由相信未來對內(nèi)存數(shù)據(jù)庫技術(shù)的研究也將得到進一步拓展。
參考文獻
[1]曹猗宣,王晶,內(nèi)存數(shù)據(jù)庫在彩鈴業(yè)務中的應用[J]計算機系統(tǒng)應用,2011,20(5)
關(guān)鍵詞:管理信息系統(tǒng)(MIS);數(shù)據(jù)庫
一 、完善用戶識別
用戶身份的正確識別與檢驗是MIS安全的門戶。為了有效可靠地管理用戶權(quán)限,保證系統(tǒng)的安全,需要一套可靠完善的身份鑒別機制。
(1)在MIS的數(shù)據(jù)庫中創(chuàng)建一個用戶表,為每個用戶分配一個唯一的用戶編碼和一個唯一的用戶密碼,并且用戶的密碼只能由用戶自己管理。當用戶要登錄數(shù)據(jù)庫管理系統(tǒng)時,必須提供正確的用戶編碼和密碼方能進人該系統(tǒng)。
(2)我們還可以利用數(shù)據(jù)濾網(wǎng)功能,也就是過濾功能。在用戶登錄界面,對用戶輸人的用戶標識和密碼先進行過濾,把單引號、分號、 、% 等“危險字符”全部過濾掉,再進行數(shù)據(jù)語句的構(gòu)造,可大大降低攻擊者成功的概率。
(3)我們可以通過限制用戶輸入數(shù)據(jù)的長度,例如限制用戶輸入數(shù)據(jù)的字符最多不能超過8位,這樣就可以大大降低系統(tǒng)被攻擊的風險,增加了入侵者插入有害代碼的難度,確保了系統(tǒng)的安全。
(4)設(shè)置數(shù)據(jù)庫系統(tǒng)口令,數(shù)據(jù)庫系統(tǒng)口令也是是身份鑒別、保證系統(tǒng)安全的最常見、最方便的一種方法。它是登錄訪問數(shù)據(jù)庫系統(tǒng)所需的口令。應用程序要存取數(shù)據(jù)庫表,必須先登錄數(shù)據(jù)庫,應用程序憑借用戶提供的正確口令就能順利登錄數(shù)據(jù)庫。所有的口令值不要嵌入程序,應隱蔽到某一數(shù)據(jù)庫中,這樣就避免了修改的麻煩,有了數(shù)據(jù)庫口令,就可以阻止有害侵入,增加了系統(tǒng)的安全性。
二 、訪問權(quán)限控制
訪問權(quán)限控制是數(shù)據(jù)庫系統(tǒng)在利用角色管理數(shù)據(jù)庫安全性方面采取的基本措施。
通過驗證用戶名稱和口令。防止非數(shù)據(jù)庫系統(tǒng)用戶注冊到數(shù)據(jù)庫,對數(shù)據(jù)庫進行非法存取操作。
授予用戶一定的權(quán)限,限制用戶操縱數(shù)據(jù)庫的權(quán)力;授予用戶對數(shù)據(jù)庫實體的存取執(zhí)行權(quán)限。阻止用戶訪問非授權(quán)數(shù)據(jù),提供數(shù)據(jù)庫實體存取審計機制。使數(shù)據(jù)庫管理員可以監(jiān)視數(shù)據(jù)庫中數(shù)據(jù)的存取情況和系統(tǒng)資源的使用情況,采用視圖機制限制存取基表的行和列集合。對所有客戶端按工作性質(zhì)分類。分別授予不同的用戶角色。對不同的用戶角色。根據(jù)其使用的數(shù)據(jù)源。分別授予不同的數(shù)據(jù)庫對象存取權(quán)限。
三、 數(shù)據(jù)加密
在MIS中,為了防止非法用戶進入系統(tǒng)、竊取機密信息或非授權(quán)用戶越權(quán)操作數(shù)據(jù),必須對數(shù)據(jù)進行加密處理。
對MIS中的數(shù)據(jù)庫加密處理有三種基本方式:
(1) 文件加密:將涉及重要信息的文件進行加密,進入MIS應用系統(tǒng)時解密,在退出應用系統(tǒng)時再進行加密。
(2)記錄加密:與文件加密類似,但加密的單位是記錄而不是文件。
(3)字段加密:即直接對數(shù)據(jù)庫的最小單位一字段進行加密,加密算法是加密的核心, 目前可應用的國際公認的密碼算法主要有:DES(數(shù)據(jù)加密標準)、RSA(公鑰密碼體制)、劉氏高強度公開加密算法等。
除此之外還有硬性加密,硬加密指的是用物理方法進行加密,如在存放在文件的磁盤上用激光打孔進行加密等。
通過數(shù)據(jù)庫加密有效地防止了通過瀏覽數(shù)據(jù)庫表的方式獲得用戶登錄信息。
四 、審計與追蹤
數(shù)據(jù)審計的目的在于:當數(shù)據(jù)被竊取或破壞時,能及時發(fā)現(xiàn)和補救,即及時發(fā)現(xiàn)問題的原因, 為維護數(shù)據(jù)的完整性提供保障。數(shù)據(jù)審計可 在MIS的多個層次上實現(xiàn),其中在操作系統(tǒng)和數(shù)據(jù)庫系統(tǒng)上實現(xiàn)時,系統(tǒng)開銷較大,而在功能層、用戶層等層次上采取適當?shù)膶徲嫶胧﹦t較好。
應用系統(tǒng)常用的審計措施有:
(1)取軌運行法:該方法要求對數(shù)據(jù)的操作由兩個用戶在不同的工作站上完成,一個用戶的操作必須經(jīng)過另一個用戶的審核通過后方能生效。
(2)軌跡法;該方法對應用系統(tǒng)中的一切操作都記錄在案,并由專人定期檢查,從而監(jiān)督系統(tǒng)運行情況。
五 、備份與恢復
數(shù)據(jù)庫可以通過用戶識別、訪問權(quán)限限制、數(shù)據(jù)加密等保護措施使得管理信息系統(tǒng)健康運行,但難保百無一疏,而且現(xiàn)實中還存在其他很多原因造成數(shù)據(jù)的丟失,比如誤刪除,硬件老化,不可抗力,系統(tǒng)抵御能力差等等方面,所以加強對數(shù)據(jù)的備份工作至關(guān)重要。
備份工作有幾點因素需要考慮,比如:
1、備份周期。(根據(jù)數(shù)據(jù)的重要程度,可以選擇不同的時間進行備份,以便清晰明了)。
2、使用靜態(tài)備份還是動態(tài)備份,(動態(tài)備份也即允許數(shù)據(jù)庫運行時進行備份)。
3、僅使用全備份還是共同使用全備份和增量備份。
4、使用什么介質(zhì)(硬盤,光盤等)。
5、使用人工備份還是設(shè)計好的自動備份程序。
6、檢驗備份完整性的周期。
7、備份存儲的空間是否防竊、防磁干擾、防火。
8、是否指定其他人實行備份,備份者是否享有必要的登錄號和口令。
9、在負責備份和恢復的主要人員缺席的情況下,是否有其他人能代替。
其次我們還要注意務必使計算機網(wǎng)絡(luò)數(shù)據(jù)備份自動化,以減少系統(tǒng)管理員的工作量。使數(shù)據(jù)備份工作制度化,科學化。做好介質(zhì)管理工作,防止讀寫操作的錯誤。
對數(shù)據(jù)存儲,形成分門別類的介質(zhì)存儲,使數(shù)據(jù)的保存更細致、科學。介質(zhì)自動清洗輪轉(zhuǎn),提高介質(zhì)的安全性和使用壽命。還要以備份服務器形成備份中心,對各種平臺的應用系統(tǒng)及其他信息數(shù)據(jù)進行集中的備份。
另外系統(tǒng)管理員還可以在任意一臺工作站上管理、監(jiān)控、配置備份系統(tǒng),實現(xiàn)分布處理、集中管理。
最后維護人員要盡量地恢復損壞的整個文件系統(tǒng)和各類數(shù)據(jù)。備份系統(tǒng)還應考慮網(wǎng)絡(luò)帶寬對備份性能的影響、備份服務器的平臺選擇及安全性、備份系統(tǒng)容量的適度冗余、備份系統(tǒng)良好的擴展性等。
結(jié)語:
以上只是論述了數(shù)據(jù)庫在管理信息系統(tǒng)中安全的幾個重要方面和體現(xiàn),還有其他一些方面沒有專門提到。這些管理不到位。雖然不會導致系統(tǒng)癱瘓。但也會造成系統(tǒng)部分功能的暫時性終止。例如如果回退段數(shù)量不夠或剩余空間不夠。都可以造成有些大的數(shù)據(jù)提交不成功。因此,對于數(shù)據(jù)庫系統(tǒng)的安全問題馬虎不得。
參考文獻:
[1]李寧,陳彬.MIS系統(tǒng)權(quán)限管理中的安全性問題探討[J].教育周刊,2008(11).
[2]薩師煊,王珊.《數(shù)據(jù)庫系統(tǒng)概論》(第三版)[M].教育出版社,2000.
關(guān)鍵詞:數(shù)據(jù)庫;基礎(chǔ)研究;理論基礎(chǔ)
中圖分類號:Tp311.13 文獻標識碼:A文章編號:1005-5312(2010)14-0134-01
一、數(shù)據(jù)庫概論
數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,數(shù)據(jù)庫有很多種類型,從最簡單的存儲有各種數(shù)據(jù)的表格到能夠進行海量數(shù)據(jù)存儲的大型數(shù)據(jù)庫系統(tǒng)都在各個方面得到了廣泛的應用。
數(shù)據(jù)庫發(fā)展階段大致劃分為如下幾個階段:人工管理階段;文件系統(tǒng)階段;數(shù)據(jù)庫系統(tǒng)階段;高級數(shù)據(jù)庫階段。
二、數(shù)據(jù)庫的主要特點
(1)實現(xiàn)數(shù)據(jù)共享。數(shù)據(jù)共享包含所有用戶可同時存取數(shù)據(jù)庫中的數(shù)據(jù),也包括用戶可以用各種方式通過接口使用數(shù)據(jù)庫,并提供數(shù)據(jù)共享。
(2)減少數(shù)據(jù)的冗余度同文件系統(tǒng)相比,由于數(shù)據(jù)庫實現(xiàn)了數(shù)據(jù)共享,從而避免了用戶各自建立應用文件。減少了大量重復數(shù)據(jù),減少了數(shù)據(jù)冗余,維護了數(shù)據(jù)的一致性。
(3)數(shù)據(jù)的獨立性數(shù)據(jù)的獨立性包括數(shù)據(jù)庫中數(shù)據(jù)庫的邏輯結(jié)構(gòu)和應用程序相互獨立,也包括數(shù)據(jù)物理結(jié)構(gòu)的變化不影響數(shù)據(jù)的邏輯結(jié)構(gòu)。
(4)數(shù)據(jù)實現(xiàn)集中控制。文件管理方式中,數(shù)據(jù)處于一種分散的狀態(tài),不同的用戶或同一用戶在不同處理中其文件之間毫無關(guān)系。
三、數(shù)據(jù)庫理論基礎(chǔ)
一個成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫是其中一個非常重要的條件和關(guān)鍵技術(shù)。
信息管理系統(tǒng)所涉及的數(shù)據(jù)庫設(shè)計分五個步驟:數(shù)據(jù)庫需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計與加載測試。
(1)數(shù)據(jù)庫需求分析的任務是將業(yè)務管理單證流化為數(shù)據(jù)流,劃分主題之間的邊界,繪制出DFD圖,并完成相應的數(shù)據(jù)字典。
(2)概念設(shè)計的任務是從DFD出發(fā),繪制出本主題的實體-關(guān)系圖,并列出各個實體與關(guān)系的綱要表。
(3)邏輯設(shè)計的任務是從E-R圖與對應的綱要表出發(fā),確定各個實體及關(guān)系的表名屬性。
(4)加載測試工作貫穿于程序測試工作的全過程,整個錄入、修改、查詢、處理工作均可視為對數(shù)據(jù)庫的加載測試工作。
四、數(shù)據(jù)庫系統(tǒng)設(shè)計
數(shù)據(jù)庫設(shè)計主要是進行數(shù)據(jù)庫的邏輯設(shè)計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的。數(shù)據(jù)庫設(shè)計時需要綜合企業(yè)各個部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,設(shè)計出規(guī)模適當、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。
數(shù)據(jù)庫設(shè)計的步驟是:
(1)數(shù)據(jù)庫結(jié)構(gòu)定義:目前的數(shù)據(jù)庫管理系統(tǒng)(DBMS)有的是支持聯(lián)機事務處理CLTP(負責對事務數(shù)據(jù)進行采集、處理、存儲)的操作型DBMS,有的可支持數(shù)據(jù)倉庫、有聯(lián)機分析處理CLAP(指為支持決策的制定對數(shù)據(jù)的一種加工操作)功能的大型DBMS,有的數(shù)據(jù)庫是關(guān)系型的、有的可支持面向?qū)ο髷?shù)據(jù)庫。針對選擇的DBMS,進行數(shù)據(jù)庫結(jié)構(gòu)定義。
(2)數(shù)據(jù)表定義:數(shù)據(jù)表定義指定義數(shù)據(jù)庫中數(shù)據(jù)表的結(jié)構(gòu),數(shù)據(jù)表的邏輯結(jié)構(gòu)包括:屬性名稱、類型、表示形式、缺省值、校驗規(guī)則、是否關(guān)鍵字、可否為空等。關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化要求進行數(shù)據(jù)庫設(shè)計,但為使效率高,規(guī)范化程度應根據(jù)應用環(huán)境和條件來決定。
(3)存儲設(shè)備和存儲空間組織:確定數(shù)據(jù)的存放地點、存儲路徑、存儲設(shè)備等,備份方案,對多版本如何保證一致性和數(shù)據(jù)的完整性。
(4)數(shù)據(jù)使用權(quán)限設(shè)置:針對用戶的不同使用要求,確定數(shù)據(jù)的用戶使用權(quán)限,確保數(shù)據(jù)安全。
(5)數(shù)據(jù)字典設(shè)計:用數(shù)據(jù)字典描述數(shù)據(jù)庫的設(shè)計,便于維護和修改。
建立關(guān)系數(shù)據(jù)結(jié)構(gòu)涉及兩方面內(nèi)容:確定關(guān)聯(lián)的關(guān)鍵指標項并建立關(guān)聯(lián)表;確定單一的父系記錄結(jié)構(gòu)。
第一,鏈接關(guān)系的確定。在進行了上述數(shù)據(jù)規(guī)范化重組后,已經(jīng)可以確保每一個基本數(shù)據(jù)表(我們簡稱為表)是規(guī)范的,但是這些單獨的表并不能完整地反映事物,通常需要通過指標體系的整體指標數(shù)據(jù)才能完整全面地反映問題。
關(guān)鍵詞:數(shù)據(jù)庫原理與應用;教學改革;教學實踐
中圖分類號:G424 文獻標識碼:A 文章編號:1009-3044(2014)19-4373-02
《數(shù)據(jù)庫原理與應用》是高校計算機及相關(guān)專業(yè)的核心專業(yè)基礎(chǔ)課程之一,是一門理論與實踐結(jié)合性較強的綜合性課程。該課程涉及內(nèi)容可分為兩個部分:1) 基礎(chǔ)理論部分,包括:數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識(數(shù)據(jù)庫發(fā)展、構(gòu)成、專業(yè)術(shù)語等)與數(shù)據(jù)庫設(shè)計理論。2) 具體應用部分,包括:數(shù)據(jù)庫與表的創(chuàng)建;數(shù)據(jù)查詢、增、刪、改;視圖;索引;存儲過程;觸發(fā)器及數(shù)據(jù)庫安全與維護等。
《數(shù)據(jù)庫原理與應用》課程教學目標為:培養(yǎng)學生數(shù)據(jù)庫及其對象的應用和管理能力;培養(yǎng)學生使用Transact-SQL語言進行程序設(shè)計的能力;培養(yǎng)學生進行數(shù)據(jù)庫日常管理和維護的能力。針對不同的教學內(nèi)容,如教學過程采用相同教學方法,極易產(chǎn)生數(shù)據(jù)庫理論與具體應用脫節(jié)的現(xiàn)象,易使學生產(chǎn)生數(shù)據(jù)庫理論過多的反感情緒,無法達到教學預期目標。
1 傳統(tǒng)數(shù)據(jù)庫教學局限性
傳統(tǒng)數(shù)據(jù)庫課程的教學的局限主要分為兩個方面:1) 過度重視理論,忽略實踐教學;2) 強調(diào)數(shù)據(jù)庫軟件的應用,忽視數(shù)據(jù)庫基本理論體系的講授。
具體說明如下:
1) 重理論,輕實踐,無法激發(fā)學生學習興趣
傳統(tǒng)數(shù)據(jù)庫原理與應用課程在課程大綱設(shè)置方面,理論課程占學時數(shù)遠高于實驗學時數(shù),且不設(shè)置單獨的課程設(shè)計,學生上機具體操作練習學時嚴重不足。實驗課程往往只針對某個具體知識點,實驗內(nèi)容不具有連貫性,學生不清楚如何利用數(shù)據(jù)庫進行具體編程實踐,學習過程無成就感,最終導致學習缺乏成就感,興趣缺失,學習效果較差。
2) 過度強調(diào)數(shù)據(jù)庫軟件的作用
為了解決傳統(tǒng)數(shù)據(jù)庫教學過程“重理論,輕實踐”的缺陷,一些數(shù)據(jù)庫教育研究者提出了依托某一款數(shù)據(jù)庫軟件平臺進行,以案例為驅(qū)動進行課程講授的教學方法。但是在教學過程中矯枉過正,過度強調(diào)應用(過度強調(diào)數(shù)據(jù)庫平臺的應用方法)而忽視數(shù)據(jù)庫整體理論系統(tǒng)的講解,不能使學生完整、系統(tǒng)的掌握數(shù)據(jù)庫的基本相關(guān)理論。學生掌握的數(shù)據(jù)庫知識僅限于平臺應用,理論基礎(chǔ)不足,為學生后續(xù)的提高與發(fā)展埋下隱患。
3) 教學與實踐脫節(jié)
高等院校在傳統(tǒng)的教學過程中強調(diào)數(shù)據(jù)庫理論知識的完備性,缺乏學習的應用性和針對性,理論性強,概念抽象,理論和實踐教學存在不同程度上的脫節(jié)。傳統(tǒng)數(shù)據(jù)庫原理與應用課程教學內(nèi)容主要集中在數(shù)據(jù)庫系統(tǒng)基本理論與數(shù)據(jù)庫設(shè)計階段,在具體應用方面僅涉及各數(shù)據(jù)庫對象的基本操作,如:創(chuàng)建、修改、刪除等,對數(shù)據(jù)庫技術(shù)在具體軟件項目開發(fā)過程中的應用知識缺乏系統(tǒng)、詳細的講解,造成數(shù)據(jù)庫理論教學與實踐脫節(jié)嚴重,導致學生在完成數(shù)據(jù)庫課程學習后無法掌握數(shù)據(jù)庫技術(shù)的具體應用方式,不能做到學以致用。
4) 教學實踐不符合軟件工程的原則
傳統(tǒng)數(shù)據(jù)庫原理與應用課程教學過程,從課后作業(yè)到上機實踐再到課程設(shè)計,幾乎全部為單個學生獨立完成,未嚴格按照軟件工程原則進行完成?,F(xiàn)代各種數(shù)據(jù)庫應用系統(tǒng)開發(fā)基本都是工程化的合作開發(fā),其基本特征是按照軟件工程學的原則進行組織。在課程后續(xù)的各種實踐環(huán)節(jié)(如:畢業(yè)設(shè)計)中很多學生不懂得如何利用團隊合作去完成一個數(shù)據(jù)庫系統(tǒng)的具體設(shè)計與開發(fā),嚴重影響了實踐環(huán)節(jié)的完成質(zhì)量,最終影響學生的數(shù)據(jù)庫技術(shù)應用水平。
2 改進的教學方法探索實踐
目前本?!稊?shù)據(jù)庫原理與應用》課程使用的教學實驗平臺為SQL SERVER2005。課程共64學時,其中實驗16學時,SQL SERVER2005數(shù)據(jù)庫具體應用中,完整的數(shù)據(jù)庫系統(tǒng)包括系統(tǒng)界面(利用其它高級語言開發(fā))和后臺數(shù)據(jù)庫。由于SQLServer平臺與其它開發(fā)平臺的相對獨立性,在現(xiàn)行教學方式下,學生在學習過程中往往不清楚如何利用SQLServer2005平臺進行項目開發(fā)。
主要原因有兩個:
1) SQL SERVER2005數(shù)據(jù)庫課程的教學過程只涉及后臺數(shù)據(jù)庫本身的操作,知識較為孤立。學生在學習過程中無法建立完整數(shù)據(jù)庫系統(tǒng)的概念,特別是對界面開發(fā)過程概念較為模糊。
2) 學生在學習數(shù)據(jù)庫課程前未接觸過其它高級語言(C語言除外),嘗試將數(shù)據(jù)庫結(jié)合某種高級語言(C#、C++、Java等)進行講解困難較大(主要是內(nèi)容太多,難以在規(guī)定的課時內(nèi)獲得較好效果)。
針對上述數(shù)據(jù)庫課程教學過程中出現(xiàn)的問題,結(jié)合本校數(shù)據(jù)庫的教學實際,通過分析課程內(nèi)容及培養(yǎng)目標,最終提出了改進的數(shù)據(jù)庫課程教學方法。方法具有兩套具體實施方案。
兩套具體實施方案,分別描述如下:
1) 制定適合數(shù)據(jù)庫教學的教學大綱
(1) 通過制定新教學大綱,在數(shù)據(jù)庫課程開課前,開設(shè)一門高級語言課程做為基礎(chǔ),以解決學生學習數(shù)據(jù)庫系統(tǒng)組成過程中不清楚應用程序及其接口含義的問題。(可選C#或Java);
(2) 在講解完畢數(shù)據(jù)庫基礎(chǔ)理論(基本概念、數(shù)據(jù)庫設(shè)計理論等)后,以具體實例(簡單的數(shù)據(jù)庫管理系統(tǒng)等)為基礎(chǔ),講解后續(xù)內(nèi)容,具體包括:數(shù)據(jù)庫與表的創(chuàng)建;數(shù)據(jù)查詢、增、刪、改;視圖;索引;存儲過程與觸發(fā)器及數(shù)據(jù)庫安全與維護,將理論教學作為實踐教學的基礎(chǔ),實踐教學作為理論教學的深化,促進學生對數(shù)據(jù)庫技術(shù)的深度掌握;
(3) 針對不同的授課內(nèi)容采用不同的課程時間安排,實踐性較強章節(jié)(如:視圖、存儲過程、觸發(fā)器等)宜采取“講一學時練一學時”的方式進行授課,其它章節(jié)采取“講一次內(nèi)容,上一次機”的方式進行授課,靈活制定上機實驗計劃,最大程度上做到講練結(jié)合,重視理論而不忽視實踐。
2) 制定新教學大綱在高校教學中不易實現(xiàn),在保持相關(guān)課程開課順序不變,數(shù)據(jù)庫課程理論課時、實踐課時不變的情況下,課程改革設(shè)想如下:
(1) 課堂教學:利用少量課堂時間(一小節(jié)課50分鐘或一大節(jié)課100分鐘),結(jié)合實例介紹數(shù)據(jù)庫系統(tǒng)的一般結(jié)構(gòu)、開發(fā)流程、開發(fā)平臺(不涉及具體語言的編程)。要求學生自由分組(每組4~6人),自選項目(教師掌控選題難度,并提供建議項目若干)利用課余時間進行分組實施,使學生初步建立軟件工程的思想及開發(fā)團隊的概念。
(2) 實踐方式:適當利用學生課余時間。學生獨立利用課余時間完成具體語言、開發(fā)平臺的學習,以小組為單位分模塊完成具體項目實現(xiàn),各模塊任務需在教師指導下具體到人,并制定詳細任務書,促進學生的實踐積極性,防止學習惰性的產(chǎn)生。
(3) 教師與學生的交流互動:作為教學過程的重要環(huán)節(jié),師生的交流互動在學生學習實踐過程中的地位相當重要。具體措施描述如下:
①保證課程必要的現(xiàn)場答疑時間,每周兩小時,集中解答學生在理論學習與實踐過程中遇到的問題;
②充分利用現(xiàn)代學生熟悉的現(xiàn)代通訊工具(如:QQ、微信、微博、YY等),提升學生的討論積極性,建立專門YY頻道,供學生以在線多人語音的形式討論項目進展、疑難問題,隨時了解學生實踐進度,解答疑難,防止學生產(chǎn)生畏難情緒,促進實踐活動進行。
(4) 項目提交、評講及分數(shù)評判:課程結(jié)束前一周,以小組為單位打包提交系統(tǒng)(包括:數(shù)據(jù)庫系統(tǒng)、應用系統(tǒng)界面)。由三至四位教師按照系統(tǒng)結(jié)構(gòu)是否合理、功能是否完整、代碼是否規(guī)整給出評判成績。分別評出UI結(jié)構(gòu)設(shè)計最佳系統(tǒng)與功能實現(xiàn)最佳系統(tǒng),鼓勵學生講解開發(fā)心得,供大家學習參考。
3 結(jié)束語
在明確《數(shù)據(jù)庫原理與應用》課程主要內(nèi)容與教學目標的基礎(chǔ)上,該文首先分析了傳統(tǒng)《數(shù)據(jù)庫原理與應用》教學過程的缺陷,結(jié)合本校數(shù)據(jù)庫課程的實際提出了兩套數(shù)據(jù)庫教學改革的具體實施方案,并選擇方案二進行實施。一學期以來,學生在較好掌握數(shù)據(jù)庫系統(tǒng)理論知識的前提下,較好的完成了相關(guān)實踐任務。該教學方案成功激發(fā)了學生學習數(shù)據(jù)庫課程的興趣,提升了學習積極性,使學生在加深理論知識理解與掌握的同時提高了動手實踐能力,方案實施效果明顯。
參考文獻:
[1] 王峰.實用數(shù)據(jù)庫技術(shù)[M]. 北京:中國水利水電出版社,2012.
[2] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M]. 2版.北京:高等教育出版社,2000.
[3] 鐘輝.數(shù)據(jù)庫課程教學改革探索與實踐[J]. 沈陽建筑大學學報:社會科學版,2010(3).
關(guān)鍵詞:關(guān)系數(shù)據(jù)庫;查詢優(yōu)化;方法
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)16-21188-02
On Optimization Method for Query in Relational Database
YIN Mei-gui
(Heyuan Polytechnic, Heyuan 517000, China)
Abstract: In the database application MIS, query process is the most frequent. Whether query process is good or bad will directly affect the performance of database application system. Therefore, query in database should be optimized. This article suggests some methods of how to realize the optimization by making use of the technology of query in relational database.
Key words: RDBMS; query optimization; methods
1 引言
數(shù)據(jù)庫系統(tǒng)是管理信息系統(tǒng)的核心,基于數(shù)據(jù)庫的聯(lián)機事務處理(OLTP)以及聯(lián)機分析處理(OLAP)是企業(yè)、銀行、政府部分最為重要的計算機應用之一。從大多數(shù)數(shù)據(jù)庫系統(tǒng)的應用實例來看,查詢操作是所有數(shù)據(jù)庫操作中所占據(jù)比重最大的操作。當數(shù)據(jù)庫系統(tǒng)積累到一定程度(如稅務系統(tǒng)的賬戶達到上百萬甚至上千萬條記錄),全表掃描一次往往需要數(shù)十分鐘,甚至數(shù)小時。如果采用比全表掃描更好的查詢策略,往往能降低查詢時間。如何設(shè)計數(shù)據(jù)庫,采取什么樣的查詢方法,提高查詢效率,這就是查詢優(yōu)化要解決的問題。
2 合理使用索引
索引是數(shù)據(jù)庫一個常用的數(shù)據(jù)庫對象,優(yōu)化查詢的重要方法是建立索引,也是數(shù)據(jù)庫同時預先將數(shù)據(jù)分類導入到多表格的方式。在關(guān)系數(shù)據(jù)庫的表上建立合適的索引,可以提高數(shù)據(jù)庫數(shù)據(jù)查詢的速度,改善數(shù)據(jù)庫的性能。除了集簇索引,每一索引的使用都以磁盤容量作為代價,當使用一個索引,數(shù)據(jù)庫引擎必須執(zhí)行兩個數(shù)據(jù)讀取,這兩個數(shù)據(jù)讀取是數(shù)據(jù)庫記錄所必需的,第一個數(shù)據(jù)被讀取到實際數(shù)據(jù)指針的索引,第二個數(shù)據(jù)被讀入到指針指定的位置。因此創(chuàng)建索引時必須要與實際應用系統(tǒng)的查詢需求密切結(jié)合,才能達到優(yōu)化查詢的目的。
2.1 建索引的必要性
判斷索引必要性的最終標準是判斷這些索引是否對數(shù)據(jù)庫的工作效率有所幫助。在實際的應用過程中,應該為優(yōu)化工作做以下幾點準備:
首先觀察數(shù)據(jù)庫應用程序中所有的SQL語句,并從中統(tǒng)計出常用且可能對性能有影響的部分語句,然后分析、歸納出作為Where條件子句的字段及其各種組合方式;在這一基礎(chǔ)上可以初步判斷出哪些表的哪些字段應該建立索引。其次,必須了解應用程序,要了解哪些表是數(shù)據(jù)操作頻繁的表;哪些表經(jīng)常與其他表進行連接;哪些表中的數(shù)據(jù)量可能很大;數(shù)據(jù)量大的表中各個字段的數(shù)據(jù)分布情況如何等等。對于滿足上述條件的這些表,必須重點關(guān)注。因為建立在這些表上的索引,將對SQL語句的性能產(chǎn)生舉足輕重的影響。
2.2 使用索引的規(guī)則
索引的使用要恰到好處,其使用原則如下:
(1)在經(jīng)常進行連接,但是沒有指定為外鍵的列上建立索引,而不經(jīng)常連接的字段則由優(yōu)化器自動生成索引。
(2)在主鍵索引方面,不應有超過25%列成為主鍵,而普通列很少,這會浪費索引空間。
(3)在條件表達式中經(jīng)常用到的不同值較多的列上建立檢索,在不同值少的列上不要建立索引。
(4)在頻繁進行排序或分組(即進行g(shù)roup by 或 order by 操作)的屬性上建立索引。
(5)在作為最小值等聚集函數(shù)的屬性上考慮建立索引。
索引的建立、維護和使用都需要付出代價,應合理使用索引。錯誤的索引不會使數(shù)據(jù)庫性能得到預期的提高,往往還會產(chǎn)生一些負面影響。
3 SQL語句優(yōu)化
要對查詢進行優(yōu)化,一個簡單直接有效的方法是對SQL語句進行調(diào)整,減少計算量,提高查詢的效率。以下是一些書寫SQL的一些經(jīng)驗。
3.1 避免相關(guān)子查詢
查詢嵌套層數(shù)每增加一層,查詢的效率成幾何級的降低。要想提高嵌套語句的執(zhí)行效率,則應減少嵌套語句的嵌套的層次。所以在實際應用中,若可以用連接查詢代替的子查詢,則用連接查詢實現(xiàn)。
例:查詢選修了“3-105”號課程的學生基本信息
用子查詢的方法如下所示:
SELECT * FROM student WHERE SNO IN (SELECT sno FROM sc WHERE cno=’3-105’)
改寫成連接查詢?nèi)缦拢?/p>
SELECT student.* FROM student,sc WHERE stuent.sno=sc.sno AND cno=’3-105’
3.2 用UNION替換OR
合理建立索引有助于提高查詢效率。有時盡管在所有的檢索列上都有索引,但有些形式SELECT查詢語句可能不會促使查詢優(yōu)化器使用索引,從而降低查詢效率。如果對查詢語句進行改寫,用UNION替換OR,可以強迫優(yōu)化器按索引路徑處理。如:假定分別在“職工”關(guān)系中的“年齡”和“月工資”字段上創(chuàng)建了索引,對以下SQL語句
SELECT 姓名,年齡,月工資 FROM 職工 WHERE 年齡>45 OR 月工資
可替換為:
SELECT 姓名,年齡,月工資 FROM 職工 WHERE 年齡>45
UNION
SELECT 姓名,年齡,月工資 FROM 職工 WHERE月工資
3.3 使用臨時表優(yōu)化查詢
在涉及相關(guān)查詢的某些情形中,構(gòu)造臨時關(guān)系可以提高查詢效率。如:查詢每個部門中月工資最高的“職工號”
SELECT 職工號 FROM 職工 AS e1 WHERE 月工資=(SELECT MAX(月工資)FROM 職工 AS e2 WHERE e1.部門號=e2.部門號)
以上的查詢對于外層的職工關(guān)系e1中的每一個元組,都要對內(nèi)層的整個職工關(guān)系e2進行檢索,因此查詢效率不高??梢詷?gòu)建臨時關(guān)系提高查詢效率。
SELECT MAX(月工資) AS 最高工資,部門號 INTO temp FROM職工 GROUP BY 部門號
SELECT 職工號 FROM 職工,temp WHERE 月工資=最高工資 AND 職工.部門號=temp.部門號
3.4 避免在索引列上使用計算
WHERE子句中,如果索引列是函數(shù)的一部分。優(yōu)化器不使用索引而使用全表掃描。如
SELECT * FROM職工 WHERE 月工資*12>20000
可改為:
SELECT * FROM 職工 WHERE 月工資>20000/12
3.5 謂詞的等價變換
由于執(zhí)行引擎對各種謂詞的處理方法不同,把邏輯表達式重寫成等價的且效率較高的表達式是提高效率的有效方法,同時也是切實可行的。針對執(zhí)行引擎對各種謂詞執(zhí)行效率的不同,總結(jié)如下謂詞轉(zhuǎn)換規(guī)則:
1)將BETWEEN轉(zhuǎn)化為AND 連接的謂詞
把BETWEEN...AND...形式改寫為用AND連接的兩個謂詞,效率往往
有一定的提高。
例如:月工資 BETWEEN 1000 AND 2000 改為: 月工資>=1000 AND 月工資
2)避免使用In語句
當查詢語句中有In關(guān)鍵詞時,優(yōu)化器采用OR并列條件。
如:職工號IN (‘1001’,’2001’) 改為:職工號=’1001’ OR 職工號=’2001’
4 結(jié)束語
查詢處理是數(shù)據(jù)管理系統(tǒng)的核心,而查詢優(yōu)化技術(shù)是查詢處理的關(guān)鍵技術(shù)。查詢優(yōu)化就要抓住關(guān)鍵問題。在數(shù)據(jù)庫的開發(fā)和維護過程中,查詢優(yōu)化設(shè)計可以提高系統(tǒng)的性能,尤其對于數(shù)據(jù)量大的數(shù)據(jù)庫系統(tǒng)最為重要。本文提到一些優(yōu)化方法是根據(jù)自己的經(jīng)驗,并查閱了大量的資料。在具體的使用時候要根據(jù)實際情況,才能合理制定出良好的優(yōu)化方法,實現(xiàn)快速、高效的數(shù)據(jù)查詢。
參考文獻:
[1] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].高等教育出版社, 2002.5.
關(guān)鍵詞:SQL server數(shù)據(jù)庫;安全機制
中圖分類號:TP309 文獻標識碼:A 文章編號:1007-9599 (2011) 18-0000-01
SQL Server Database Security Meaning and Security Mechanisms Issues Study
Sun Quan
(Inner Mongolia University of Science&Technology,Baotou 014010,China)
Abstract:SQL Serve database has now been widely used in various fields,this paper SQL server database,for example,for database applications,discusses the use of several database security issues,such as:auditing,access control,authentication,database encryption,mechanism for views and stored procedures,backup,recovery and concurrency control mechanism.Made some specific recommendations.To improve user awareness of security on the database.
Keywords:SQL server database;Security
數(shù)據(jù)庫通常都保存著企業(yè),組織和政府部門的各種重要的信息,是電子商務,ERP系統(tǒng)和其他重要商業(yè)系統(tǒng)的基礎(chǔ)。但由于大多數(shù)人對數(shù)據(jù)庫安全的重視遠遠不及操作系統(tǒng)和網(wǎng)絡(luò)安全,盡答有計算機系統(tǒng)中一級一級層層設(shè)置的安全措施的保護,數(shù)抓完整性和合法性存取依然會受到很多方而的安全威脅,如密碼策略、系統(tǒng)后門、數(shù)據(jù)庫操作、網(wǎng)絡(luò)攻擊以及木身的安全方案。而這些安全隱患,往往是因為我們忽略了使用數(shù)據(jù)庫的安全措施引起的。這里我們主要討論幾種關(guān)于SQL server數(shù)據(jù)庫的安全防范。
一、數(shù)據(jù)庫安全的內(nèi)涵
數(shù)據(jù)庫安全是指保護數(shù)據(jù)庫以防止非法用戶的越權(quán)使用、竊取、更改或破壞數(shù)據(jù)。與其它計算機系統(tǒng)(如操作系統(tǒng))的安全要求類似。數(shù)據(jù)庫系統(tǒng)的安全要求可以歸納為保密性、完整性和可用性三個方面。
(一)保密性。保密性指保護數(shù)據(jù)庫中的數(shù)據(jù)不被泄露和未授權(quán)的獲取,一般要求對用戶進行訪問授權(quán),同一組數(shù)據(jù)的不同用戶可以被授予不同的存取權(quán)限.同時還要求能夠?qū)τ脩舻脑L問操作行為進行跟蹤和審計。
(二)完整性。數(shù)據(jù)庫的完整性主要包括物理完整性和邏輯完整性。物理完整性是指保證數(shù)據(jù)庫的數(shù)據(jù)不受物理故障(如硬件故障、突然斷電等)的影響,并有可能在災難性毀壞時重建和恢復數(shù)據(jù)庫,邏輯完整性是指對數(shù)據(jù)庫邏輯結(jié)構(gòu)的保護,包括數(shù)據(jù)的語義完整性和操作完整性。前者是數(shù)據(jù)存取在邏輯上滿足完整性約束,后者主要是指在并發(fā)事務中保證數(shù)據(jù)的一致性。
(三)可用性。數(shù)據(jù)庫的可用性是指數(shù)據(jù)庫不應拒絕授權(quán)用戶對數(shù)據(jù)的正常操作,同時保證系統(tǒng)的運行效率并提供用戶良好的人機交互。
二、SQLSERVER的數(shù)據(jù)庫安全機制
(一)審計功能。數(shù)據(jù)庫審計是監(jiān)視和記錄用戶對數(shù)據(jù)庫所施加的各種操作的機制。通過審計機制,可以自動記錄用戶操作,利用審計跟蹤的信息,便于追查有關(guān)責任,也有助于發(fā)現(xiàn)系統(tǒng)安全方面的弱點和漏洞。對于MSSQLSERV―ER,它能提供較為完善的審計功能,用來監(jiān)視各用戶對數(shù)據(jù)庫施加的動作。SOLSERVER審計方式具體分用戶審計和系統(tǒng)審計2種,審計工作一般通過SQL事件探查器完成。啟用用戶審計功能時。審計系統(tǒng)可記下所有對該數(shù)據(jù)庫表或視圖進行訪問的企圖(包括成功的和不成功的)及每次操作的用戶名、時間、操作代碼等信息;系統(tǒng)審計由系統(tǒng)管理員進行,其審計內(nèi)容主要是系統(tǒng)一級命令以及數(shù)據(jù)庫客體的使用情況。
(二)訪問控制。為了保證用戶只能存取有權(quán)存取的數(shù)據(jù),數(shù)據(jù)庫系統(tǒng)要求對每個用戶定義存取權(quán)限.在SQL Server中,用戶是屬于特定的數(shù)據(jù)庫的,數(shù)據(jù)庫用戶與登錄標識相關(guān)聯(lián),一個應用程序使用登錄標識SQL Server登錄成功后,能否對某個數(shù)據(jù)庫進行操作,由該數(shù)據(jù)庫中是否有相應的數(shù)據(jù)庫用戶來決定。SQL server可根據(jù)訪問用戶所屬的用戶類型,利用GRANT等語句來對數(shù)據(jù)庫或數(shù)據(jù)庫對象作權(quán)限的控制,能夠較為完善地支持自主訪問控制策略。SQL SERVER將用戶分為四個類型:系統(tǒng)管理員用戶、數(shù)據(jù)庫所有者用戶、數(shù)據(jù)庫對象擁有者用戶和普通用戶,不同的用戶具有不同的權(quán)限。
(三)身份驗證。對用戶的身份認證是數(shù)據(jù)庫管理系統(tǒng)提供的最外層安全保護措施,其方法是用戶進入系統(tǒng)時通過輸入ID和密碼,向系統(tǒng)出示自己的身份證明,系統(tǒng)通過嚴格的認證機制對用戶身份進行審查核實,經(jīng)過確認后才提供與之相對應的系統(tǒng)服務。SQL server支持windows NT認證模式和混合認證模式兩種身份認證模式。
(四)數(shù)據(jù)庫加密。數(shù)據(jù)庫加密通過將數(shù)據(jù)用密文形式存儲或傳輸?shù)氖侄伪WC高敏感數(shù)據(jù)的安全,這樣可以防止那些企圖通過不正常途徑存取數(shù)據(jù)的行為.SQL server也提供了加密的功能,以強化對分布式數(shù)據(jù)庫的安全管理。SQL server使用名為pwdencrypt的哈希函數(shù)來加密隱藏用戶存儲在Master數(shù)據(jù)庫中系統(tǒng)表內(nèi)的密碼,將已定義的視圖、存儲過程、觸發(fā)器等都存儲在系統(tǒng)表syscomments中,SQL Server提供了內(nèi)部加密機制。
(五)視圖和存儲過程機制。視圖是從一個或幾個基本表(視圖)中導出的虛表。在數(shù)據(jù)庫系統(tǒng)中,可以利用視圖通過授予用戶操作特定視圖的權(quán)限。限制用戶訪問表的特定行和特定列來保證數(shù)據(jù)的安全,防止用戶對基本表的操作,實現(xiàn)行級或列級的安全性。在SQLserveF中.系統(tǒng)較好地支持了視圖定義和訪問機制。如何利用CREATEVIEW語句建立視圖,利用SELECT子句進行視圖訪同等,通過建立視圖以及將視圖表中的不同記錄分成不同的保密級別。甚至將同一字段中的不同值分成不同的保密級別,控制用戶可以看到的數(shù)據(jù),實現(xiàn)安全性。在SQL Server中存儲過程是存儲于數(shù)據(jù)庫內(nèi)部經(jīng)過編譯可執(zhí)行的SQL語句,它可被其他應用程序調(diào)用執(zhí)行。徹底隱藏了用戶可用的數(shù)據(jù)和數(shù)據(jù)操作中涉及的某些保密處理。
三、結(jié)論
本文就SQL server數(shù)據(jù)庫管理系統(tǒng)的安全機制進行了全面的探索和研究,數(shù)據(jù)庫的安全是一個非常復雜的課題,它的實現(xiàn)不僅是純粹的技術(shù)問題。而且還需要法律、管理、社會因素的配合,相信隨著信息安全技術(shù)的持續(xù)改進、信息安全管理水平的不斷提高和有關(guān)人員的防范意識的不斷增強,數(shù)據(jù)庫的安全將越來越有保障。
參考文獻:
關(guān)鍵詞:數(shù)據(jù)庫原理;教學方法;教學改革
中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2007)06-11766-01
1 引言
數(shù)據(jù)庫原理是計算機專業(yè)的專業(yè)必修課程,該課程教學目標是系統(tǒng)地介紹數(shù)據(jù)庫的原理知識,并結(jié)合具體的數(shù)據(jù)庫管理系統(tǒng)軟件來介紹原理的應用過程[1]。通過這門課程的學習,使學生在數(shù)據(jù)庫軟件開發(fā)的過程中能夠選擇正確的開發(fā)平臺,正確地、合理地進行數(shù)據(jù)庫設(shè)計,從而提高軟件開發(fā)的整體質(zhì)量。數(shù)據(jù)庫原理是數(shù)據(jù)管理的最新技術(shù)和最有效的手段,是計算機學科的重要分支,它的出現(xiàn)極大的促進了計算機應用向各行各業(yè)滲透[2]。大力加強數(shù)據(jù)庫原理課程的教學改革,提高數(shù)據(jù)庫系統(tǒng)原理課程的教學質(zhì)量,有利于教學改革和教育創(chuàng)新,有利于提高計算機專業(yè)人才培養(yǎng)質(zhì)量的提高。
2 數(shù)據(jù)庫原理課程教學中存在的問題
現(xiàn)在國內(nèi)基本上所有的高校的計算機專業(yè)或者信息管理專業(yè)都開設(shè)了數(shù)據(jù)庫原理這門課程,教學的內(nèi)容和教學方法也大體相同,并且大都呈現(xiàn)出同樣狀況,學生的學習狀態(tài)不佳,學習目的不明確,導致學習效果不理想,在實際應用的過程中無從下手。在數(shù)據(jù)庫系統(tǒng)原理的教學過程中,筆者根據(jù)多年的教學實踐和對學生在課程設(shè)計、畢業(yè)設(shè)計中對該門課程的應用情況的觀察,認為在數(shù)據(jù)庫系統(tǒng)原理的教學過程中存在如下幾個方面的問題。
2.1 教學內(nèi)容存在問題
傳統(tǒng)教材主要以關(guān)系數(shù)據(jù)庫為基礎(chǔ)、數(shù)據(jù)庫管理系統(tǒng)為中心,介紹的基本原理,主要包括傳統(tǒng)數(shù)據(jù)庫介紹,關(guān)系模型的基本概念, 關(guān)系代數(shù), 關(guān)系數(shù)據(jù)庫標準查詢語言SQL, 關(guān)系系統(tǒng)的查詢優(yōu)化,關(guān)系模式規(guī)范化,數(shù)據(jù)庫安全性和完整性以及數(shù)據(jù)庫應用系統(tǒng)設(shè)計等內(nèi)容。其中的原理部分占據(jù)了大部分,教材中很少涉及到具體的應用,學生在學習過程中很難深入理解數(shù)據(jù)庫中的一些重要技術(shù),更談不上如何從實踐上去把握。此外,傳統(tǒng)教材由于編寫時間相對較早,其中的許多理論和技術(shù)在實際中已經(jīng)沒有或很少得到應用。近幾年出版的許多教材克服了以上一些缺點, 但又出現(xiàn)了一些新的問題,如原理與應用章節(jié)沒有很好地銜接,教材中涉及的實例前后連貫性不強,新的技術(shù)發(fā)展很快,教材中雖有介紹,但比較抽象不具體,以致學生了解的層面非常淺,不能達到應用的要求。
2.2 實踐教學環(huán)節(jié)重視不夠
數(shù)據(jù)庫原理雖然是一門理論性較強的課程,但如果不加強實踐教學的訓練,則不能對基本理論的理解和鞏固,無法培養(yǎng)綜合計算和分析、判斷能力以及使用數(shù)據(jù)庫原理和方法解決實際問題能力。然而目前實驗課教學存在很多弊端,例如學生不明確實驗目的,實驗的內(nèi)容不清楚,試驗課時少,考核中實驗課占的比例很小。課程設(shè)計也是繡花枕頭,沒有什么實用價值,因為課程設(shè)計的時間少,大多數(shù)學生為了完成任務,只有仿照網(wǎng)上或參考書上的案例用開發(fā)工具去實現(xiàn),根本沒有系統(tǒng)分析的過程,如:需求分析、概念結(jié)構(gòu)設(shè)計和邏輯結(jié)構(gòu)設(shè)計?,F(xiàn)代企業(yè)的數(shù)據(jù)庫應用基本上是工程化的合作開發(fā),而數(shù)據(jù)庫原理的教學基本上實踐有悖工程化的原則?;仡櫮壳暗慕虒W過程我們可以看到,除了畢業(yè)設(shè)計之外,從課后作業(yè),上機實驗到課程設(shè)計幾乎都是學生的個人獨立行為,沒有團隊合作,這樣就在學生的畢業(yè)設(shè)計中導致了許多學生不懂得如何進行相互合作,嚴重影響了畢業(yè)設(shè)計質(zhì)量,使學生畢業(yè)后不能迅速適應所在單位的工作要求。
2.3 課程考核方式存在弊端
課程設(shè)計考核方式一般是只提交實習報告和所做的軟件系統(tǒng),這種方式難以避免學生在網(wǎng)上下載或者相互抄襲現(xiàn)象。且傳統(tǒng)的考試制度使大部分學生只能考,不會用。
3 數(shù)據(jù)庫原理課程的教學改革方法
針對目前高等院校計算機專業(yè)數(shù)據(jù)庫系統(tǒng)原理的教學體系存在的不足,通過教學內(nèi)容的整合與優(yōu)化,并以課堂教學環(huán)節(jié)、實踐教學環(huán)節(jié)、考核方式的改革相配合,建立一個合理的數(shù)據(jù)庫系統(tǒng)原理教學體系。培養(yǎng)學生的學習興趣,提高學生在數(shù)據(jù)庫系統(tǒng)原理課程應用中分析問題解決問題的能力,促進教學質(zhì)量的提高。
3.1 分析教學內(nèi)容,更新教學方法
數(shù)據(jù)庫原理課程的重點內(nèi)容是關(guān)系模型的基本概念, 關(guān)系代數(shù), 關(guān)系數(shù)據(jù)庫標準查詢語言SQL, 關(guān)系系統(tǒng)的查詢優(yōu)化, 關(guān)系數(shù)據(jù)理論, 數(shù)據(jù)庫設(shè)計。 難點是關(guān)系數(shù)據(jù)理論, 數(shù)據(jù)庫的并發(fā)控制。在教學過程中, 針對數(shù)據(jù)庫技術(shù)發(fā)展迅速、內(nèi)容豐富和實用性強的特點, 總結(jié)出針對這門課程的三點教學法、案例教學法兩種教學方法。
三點教學法的要點是“一個教學中心為一點、兩個實踐環(huán)節(jié)點為一點、三種授課方式點為一點”。 一個教學中心是整個教學過程要圍繞“提高學生的理論水平、實踐技能和創(chuàng)新能力”這個中心展開。 兩個實踐環(huán)節(jié)是加強數(shù)據(jù)庫系統(tǒng)建模和設(shè)計這兩個實踐環(huán)節(jié)。 三種授課方式是理論講授、上機操作和分組討論。通過這樣的教學方法提高學生的學習興趣, 培養(yǎng)學生團隊合作精神,加強學生對數(shù)據(jù)庫技術(shù)的掌握。
案例教學起源于哈佛大學商學院, 它是一種與傳統(tǒng)教學的“概念――理論――應用”模式完全相反, 采用“ 案例――理論和概念”模式的教學方法[3,4]。通俗地講, 案例教學是通過對具體實例的演示、講解, 讓學生對案例進行分析、討論、交流,充分表達自己的見解, 以達到高層次認知學習目標的一種啟發(fā)式教學方法。案例教學的過程主要步驟如下:(1) 教學案例的選擇與設(shè)計;(2) 案例分析與講解;(3)課堂討論; (4) 綜合討論結(jié)果,得出結(jié)論。
案例教學比較適合于數(shù)據(jù)庫原理教學, 特別是在數(shù)據(jù)庫設(shè)計部分。通過對以數(shù)據(jù)庫為核心的信息系統(tǒng)典型案例進行剖析, 介紹數(shù)據(jù)庫系統(tǒng)的新理論和新技術(shù), 利用正反案例進行技術(shù)比較, 加深學生對基本原理、基本方法的理解和掌握。
3.2 重視實踐教學,提高動手能力
在實踐教學中,培養(yǎng)學生自主學習和創(chuàng)新精神,提高了學生分析問題,解決問題的能力,提高了學生工程設(shè)計的能力,使學生系統(tǒng)掌握一種工程設(shè)計的方法,為后續(xù)課程的學習打下了良好基礎(chǔ)。在實踐教學中,采用布置一個大實驗,分步完成的做法,使學生對前部分的知識通過實驗綜合掌握,對下一步可以通過預習等方式了解知識,課堂上老師再把工程設(shè)計的方法教給學生,重點要分析如何進行需求分析、概念結(jié)構(gòu)設(shè)計和邏輯結(jié)構(gòu)設(shè)計。在本門實驗課程完成時,不僅使學生掌握了一門知識,也使學生完成了一個綜合設(shè)計,更使學生系統(tǒng)掌握了一種工程設(shè)計的方法。這種教學方式,使學生對知識的掌握實現(xiàn)了二次飛躍,在進行單元實驗時,學生通過設(shè)計軟件把所學的理論知識描述一下,這是第一次飛躍,在進行下一步乃至完成大實驗的時候,學生要把前續(xù)實驗的有關(guān)知識進行綜合,實現(xiàn)第二次飛躍。
3.3 改革教學手段,培養(yǎng)學習興趣
運用現(xiàn)代教育手段進行教學,彌補了傳統(tǒng)授課方式的不足,充分利用多媒體聲音、文字和動畫的優(yōu)勢,模擬數(shù)據(jù)庫設(shè)計的過程以及設(shè)計后的效果,這樣一改黑板加粉筆單一的教學形式,充分發(fā)揮學生學習的主動性、自覺性,學習興趣增加,教學效果很好,在相同的時間里增加傳授的知識量,信息量,提高了授課效率,提高了教學質(zhì)量。在運用這些教學手段時,學生不僅主動參與教學活動,而且使學生對相關(guān)的教育技術(shù)產(chǎn)生了濃厚的興趣,促進了學生學習計算機相關(guān)知識的主動、自覺性,推動了學生素質(zhì)的全面提高。
3.4 完善考試制度,重視能力培養(yǎng)
數(shù)據(jù)庫原理是一門理論和實踐相結(jié)合的專業(yè)課程,傳統(tǒng)的單獨理論試卷考試會導致學生為應付考試而對相關(guān)理論知識在考前臨時突擊,死記硬背,出現(xiàn)“ 高分低能”現(xiàn)象,這與該課程培養(yǎng)應用型人才的目標是相悖的。為此可以采用筆試、與平時項目訓練相結(jié)合,平時項目設(shè)計占一定比例的考試方法。平時的項目設(shè)計在最后的考試中占一定的比例可以督促學生增強自己的動手能力和對所學知識進行應用的能力,通過測試考查學生對基本知識的掌握,在項目設(shè)計中測試學生分析問題解決問題能力的情況,從根本上解決了學生重理論,輕實踐的問題,學生的數(shù)據(jù)庫技術(shù)的應用能力會有很大提高。
4 結(jié)束語
針對計算機專業(yè)的數(shù)據(jù)庫原理課程教學中存在的問題進行探討,提出了教學改革的思想,期望能夠在較短的時間內(nèi)將主要的知識傳授個學生,促進學生的主動學習,培養(yǎng)學生的綜合能力,提高課程教學的質(zhì)量。
參考文獻:
[1]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].第3版.北京:高等教育出版社, 2000.
[2]孫艷春.高教數(shù)據(jù)庫原理及應用[J].遼寧商務職業(yè)學院學報, 2003,5.
[3]黃祥淡.計算機應用課的“任務驅(qū)動”教學模式[J].中國職業(yè)技術(shù)教育,2005,1:36-37.