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