時(shí)間:2023-03-14 15:03:37
緒論:在尋找寫作靈感嗎?愛發(fā)表網(wǎng)為您精選了8篇數(shù)據(jù)庫(kù)系統(tǒng)概論,愿這些內(nèi)容能夠啟迪您的思維,激發(fā)您的創(chuàng)作熱情,歡迎您的閱讀與分享!
關(guān)鍵詞:數(shù)據(jù)庫(kù);學(xué)習(xí)需求;教學(xué)方法
中圖分類號(hào):G40文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2011)15-3625-02
《數(shù)據(jù)庫(kù)系統(tǒng)概論》是高校計(jì)算機(jī)專業(yè)的必修專業(yè)課,同時(shí)它也是一門理論和實(shí)踐性都較強(qiáng)的學(xué)科,傳統(tǒng)的“黑板上講理論,機(jī)房里練操作”的授課模式很難激發(fā)學(xué)生的學(xué)習(xí)興趣,教學(xué)效果不佳。
往往一學(xué)期教學(xué)結(jié)束,和學(xué)生談起本課程的學(xué)習(xí),學(xué)生只是記住幾個(gè)概念,至于數(shù)據(jù)庫(kù)的技術(shù)沒(méi)有多少能深入理解,更別提能應(yīng)用于實(shí)際。數(shù)據(jù)庫(kù)的應(yīng)用雖然十分廣泛,到處都是數(shù)據(jù)庫(kù),銀行里、商店里、網(wǎng)絡(luò)上等等。但是因?yàn)樗遣卦凇昂笈_(tái)”的,不像多媒體、WWW等等,既作為對(duì)象,又作為外殼,直接呈現(xiàn)在人們面前,所以要簡(jiǎn)明扼要、深入淺出、生活化地詮釋它,顯然有更高的難度。
本人在《數(shù)據(jù)庫(kù)系統(tǒng)概論》教學(xué)實(shí)踐中體會(huì)到, 不能只看中理論,覺得學(xué)生只要知道是怎么一回事就可以了,需要學(xué)生親身去參與項(xiàng)目的開發(fā),去經(jīng)歷基本真實(shí)的項(xiàng)目制作,才能掌握知識(shí)。因此,在實(shí)際的教學(xué)中,采用任務(wù)驅(qū)動(dòng)的案例教學(xué)法,配合直觀的教學(xué)媒體,并布置學(xué)生的課下任務(wù),多管齊下,讓學(xué)生更全面的了解、使用數(shù)據(jù)庫(kù)技術(shù)。
1 教學(xué)方法概述
對(duì)于計(jì)算機(jī)專業(yè)的課程來(lái)講,教學(xué)方法大致有以下幾種:
1.1 講授法
這種方法能夠使學(xué)生在短時(shí)間內(nèi)獲得大量系統(tǒng)的科學(xué)知識(shí)。但運(yùn)用不好,學(xué)生學(xué)習(xí)的主動(dòng)性、積極性不易發(fā)揮,就會(huì)出現(xiàn)教師滿堂灌、學(xué)生被動(dòng)聽的局面。在講述數(shù)據(jù)庫(kù)概念的時(shí)候,常采用這種方法。
1.2 討論法
這種方法是在教師的指導(dǎo)下,學(xué)生以小組為單位,圍繞教材的中心問(wèn)題,各抒己見,通過(guò)討論或辯論活動(dòng),獲得知識(shí)或鞏固知識(shí)。在該課程的教學(xué)中,采用一兩次,如并發(fā)事務(wù)的處理。在討論中引導(dǎo)學(xué)生圍繞題目發(fā)表意見,然后在結(jié)束時(shí),概括討論的情況,使學(xué)生獲得了正確的觀點(diǎn)和系統(tǒng)的知識(shí)。
1.3 直觀演示法
通過(guò)展示各種案例或進(jìn)行示范性實(shí)驗(yàn),讓學(xué)生通過(guò)觀察獲得感性認(rèn)識(shí)。主要是演示實(shí)驗(yàn)的內(nèi)容或要求課下學(xué)生實(shí)際操作的內(nèi)容。
1.4 練習(xí)法
學(xué)生在教師的指導(dǎo)下鞏固知識(shí)、運(yùn)用知識(shí)、形成技能技巧的方法。實(shí)際操作的練習(xí),旨在形成操作技能,在技術(shù)性學(xué)科中占重要地位。
1.5 讀書指導(dǎo)法
讀書指導(dǎo)法是教師指導(dǎo)學(xué)生通過(guò)閱讀教科書或參考書,以獲得知識(shí)、鞏固知識(shí)、培養(yǎng)學(xué)生自學(xué)能力。在每次課后,都給學(xué)生布置相應(yīng)的參看書目、參考文獻(xiàn)或參考網(wǎng)站,引導(dǎo)學(xué)生主動(dòng)地自學(xué),并在課堂上適當(dāng)?shù)刈寣W(xué)生發(fā)表自己看書的收獲。
1.6 任務(wù)驅(qū)動(dòng)教學(xué)法
這種方法要求給學(xué)生布置具體的學(xué)習(xí)任務(wù),讓學(xué)生自己查閱資料,并對(duì)知識(shí)體系進(jìn)行整理,再選出代表進(jìn)行講解,最后由教師進(jìn)行總結(jié)。這種方法可以讓學(xué)生在完成“任務(wù)”的過(guò)程中,培養(yǎng)分析問(wèn)題、解決問(wèn)題的能力,培養(yǎng)學(xué)生獨(dú)立探索及合作精神。在講解關(guān)鍵的知識(shí)或技術(shù)時(shí)如數(shù)據(jù)庫(kù)的設(shè)計(jì),大多采用這種方法。
1.7 自主學(xué)習(xí)法
這種方法是給學(xué)生留思考題或是遇到的一些實(shí)際生產(chǎn)問(wèn)題,讓學(xué)生利用網(wǎng)絡(luò)資源自主學(xué)習(xí)的方式尋找答案,提出解決問(wèn)題的措施,然后提出討論評(píng)價(jià)。這種方法能夠充分發(fā)掘?qū)W生的創(chuàng)造潛能,提高學(xué)生解決實(shí)際問(wèn)題的綜合能力。
2 教學(xué)方法的實(shí)施
《數(shù)據(jù)庫(kù)系統(tǒng)概論》的主要目的是要求學(xué)生能掌握數(shù)據(jù)庫(kù)技術(shù)中的概念,并學(xué)會(huì)進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)和實(shí)施,進(jìn)而能結(jié)合前臺(tái)對(duì)后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行各種操作。
2.1 數(shù)據(jù)庫(kù)的概念
這一部分主要采用聯(lián)系生活的實(shí)際講授法來(lái)講述。例如在講述數(shù)據(jù)管理的發(fā)展時(shí)采用在圖書館查閱資料的例子,總結(jié)出常用信息資源管理的兩種方法:手工管理(逐級(jí)分類)和計(jì)算機(jī)管理(采用數(shù)據(jù)庫(kù))。通過(guò)搜索引擎引入數(shù)據(jù)庫(kù),讓學(xué)生感受數(shù)據(jù)庫(kù)管理信息的優(yōu)勢(shì):查找統(tǒng)計(jì)數(shù)據(jù)高效準(zhǔn)確,數(shù)據(jù)庫(kù)的共享性好,管理操作方便,管理大量信息占用空間小。 通過(guò)對(duì)圖書管理數(shù)據(jù)庫(kù)的解剖分析,了解使用數(shù)據(jù)庫(kù)管理信息的基本思想和方法:采用表格的結(jié)構(gòu)以及表與表之間的關(guān)系進(jìn)行存儲(chǔ)和管理信息的。然后編寫數(shù)據(jù)庫(kù)管理軟件對(duì)數(shù)據(jù)庫(kù)信息進(jìn)行查找和統(tǒng)計(jì)操作。
2.2 數(shù)據(jù)庫(kù)的設(shè)計(jì)
這一部分主要采用任務(wù)驅(qū)動(dòng)的案例教學(xué)。先給大家一個(gè)總體的任務(wù),比如圖書管理系統(tǒng)??傮w任務(wù)是設(shè)計(jì)一個(gè)圖書館數(shù)據(jù)庫(kù),在此數(shù)據(jù)庫(kù)中保存有讀者記錄和書目。
首先作需求分析,將學(xué)生分組,一組代表讀者,一組代表圖書管理者。分別模擬讀者和圖書管理員的角色,采用各種方式收集各自的需求。并形成需求分析報(bào)告文檔。其次,在拿到需求分析報(bào)告文檔后,每個(gè)同學(xué)畫出書面的E-R圖,包括局部的和總體的E-R圖,并利用Power Designer軟件將書面的E-R圖轉(zhuǎn)換成電子的。然后,在得到總體的E-R后,分析怎樣可以將E-R圖轉(zhuǎn)換成我們要求的二維表,依據(jù)是什么,轉(zhuǎn)換后的結(jié)果是什么?并利用Power Designer軟件提供的轉(zhuǎn)換功能來(lái)進(jìn)行驗(yàn)證。數(shù)據(jù)庫(kù)設(shè)計(jì)的其他階段在其他部分來(lái)講述。
2.3 數(shù)據(jù)庫(kù)的實(shí)施
這一部分采用實(shí)驗(yàn)課時(shí)使用的Oracle 10g來(lái)講述。通過(guò)讓學(xué)生自己下載、安裝、運(yùn)行Oracle 10g來(lái)完成數(shù)據(jù)庫(kù)的實(shí)施。主要采用直觀演示法來(lái)講述該部分的內(nèi)容。并形成了指導(dǎo)書,讓大家有章可依。在實(shí)驗(yàn)指導(dǎo)書中,也設(shè)計(jì)了思考題,讓學(xué)生能夠在做完基本的操作后能再深入地思考某些問(wèn)題。比如在建立基本表的時(shí)候,可以使用SQL命令,是否也可以建立相應(yīng)的文件呢?怎樣來(lái)建立文件,怎樣來(lái)執(zhí)行文件等。
2.4 后臺(tái)數(shù)據(jù)庫(kù)的連接
這一部分采用學(xué)生將要學(xué)習(xí)的JSP來(lái)進(jìn)行后臺(tái)數(shù)據(jù)庫(kù)的連接。由于本課程主要是數(shù)據(jù)庫(kù)概論及使用,所以僅僅要求只要能通過(guò)前臺(tái)界面連接到數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)能進(jìn)行維護(hù)即可。這一部分先采用直觀演示法給大家演示了JSP和Oracle的連接步驟,并在演示的過(guò)程中進(jìn)行了詳細(xì)的講解,然后采用任務(wù)驅(qū)動(dòng)法讓學(xué)生自己動(dòng)手實(shí)踐,若有問(wèn)題,利用自主學(xué)習(xí)法來(lái)進(jìn)行解決。有解決不了的,我們?cè)谝黄鸸餐懻?、分析是什么地方出現(xiàn)了問(wèn)題,如何解決問(wèn)題。
3 教學(xué)反思
“數(shù)據(jù)庫(kù)”這部分內(nèi)容對(duì)大二的學(xué)生而言是一個(gè)比較陌生的領(lǐng)域,平時(shí)接觸挺多,但數(shù)據(jù)庫(kù)隱藏較深,故學(xué)生理解不是很清晰。因此在情景引入、創(chuàng)設(shè)問(wèn)題上的設(shè)計(jì)就成為教學(xué)的關(guān)鍵。
在實(shí)際的課堂教學(xué)中,我首先進(jìn)行教學(xué)的設(shè)計(jì),以期能夠讓學(xué)生盡快的接受新概念,熟悉新技術(shù)。例如在講述數(shù)據(jù)庫(kù)系統(tǒng)的優(yōu)點(diǎn)時(shí),就設(shè)計(jì)了大家最常用的圖書館借閱圖書和在網(wǎng)上如何搜索問(wèn)題的例子。找到大家的興趣點(diǎn),然后再切入正題。其次,在實(shí)際的教學(xué)中,不局限于某種具體的教學(xué)方式,而是采用各種教學(xué)方式,目的只有一個(gè),如何讓學(xué)生盡快接受新概念,如何理解和掌握新技術(shù),從而完成相應(yīng)的教學(xué)目標(biāo),為學(xué)生構(gòu)建數(shù)據(jù)庫(kù)技術(shù)的知識(shí)結(jié)構(gòu)。在講述SQL的時(shí)候,就通過(guò)直觀演示的方法來(lái)教學(xué);在講述數(shù)據(jù)庫(kù)設(shè)計(jì)的內(nèi)容時(shí),就使用討論教學(xué)法。在指導(dǎo)學(xué)生實(shí)踐的過(guò)程中,使用了任務(wù)驅(qū)動(dòng)法。讓學(xué)生參與項(xiàng)目的制作,教師和學(xué)生始終在互動(dòng)的問(wèn)題設(shè)置、問(wèn)題解決中,突破了“技術(shù)”的約束,逐步從圖書管理系統(tǒng)將注意力吸引到其技術(shù)內(nèi)在價(jià)值的探究當(dāng)中,即從數(shù)據(jù)庫(kù)的概念理解與技術(shù)應(yīng)用當(dāng)中內(nèi)化素養(yǎng),提升能力,不斷地達(dá)成數(shù)據(jù)庫(kù)課程的教學(xué)目標(biāo),感受利用數(shù)據(jù)庫(kù)存儲(chǔ)、管理大量數(shù)據(jù)并實(shí)現(xiàn)高效檢索方面的優(yōu)勢(shì);了解使用數(shù)據(jù)庫(kù)管理信息的基本思想與方法;能夠進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì);能夠通過(guò)前臺(tái)維護(hù)后臺(tái)數(shù)據(jù)。在每次課后,又采用讀書指導(dǎo)法、任務(wù)驅(qū)動(dòng)法和自主學(xué)習(xí)法督促學(xué)生積極主動(dòng)地自學(xué)、自己思考、自己設(shè)計(jì)解決問(wèn)題的方法。幾輪課程講下來(lái),學(xué)生反映效果不錯(cuò)。最后,及時(shí)思考。一場(chǎng)課下來(lái)就總結(jié)思考,寫好課后一得或教學(xué)日記;一周課下來(lái)或一個(gè)單元講完后反思,發(fā)現(xiàn)問(wèn)題及時(shí)糾正;通過(guò)最后的結(jié)課考試,召開學(xué)生座談會(huì),聽取意見,從而進(jìn)行完整的整合思考;這樣可以對(duì)以后自己在本課程的教學(xué)上有很大的幫助。
4 結(jié)論
通過(guò)多種教學(xué)方法,讓學(xué)生自己體驗(yàn)和感受到數(shù)據(jù)庫(kù)的優(yōu)越之處,提高學(xué)生學(xué)習(xí)的主動(dòng)性和積極性。所以在數(shù)據(jù)庫(kù)的教學(xué)中,教師既要放眼課程建設(shè)與發(fā)展,又要做一個(gè)有心人,去尋找合適的例子,進(jìn)行教學(xué)過(guò)程的設(shè)計(jì),這樣才能保證能夠全面地將數(shù)據(jù)庫(kù)的技術(shù)傳授給學(xué)生。
參考文獻(xiàn):
[1] 王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].4版.北京:高等教育出版社,2006.
關(guān)鍵詞:數(shù)據(jù)庫(kù)系統(tǒng)概論;縱向結(jié)構(gòu);橫向結(jié)構(gòu);貫通式教學(xué)
數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的最新技術(shù),是計(jì)算機(jī)科學(xué)的重要分支。數(shù)據(jù)庫(kù)技術(shù)不斷地涌現(xiàn)新的研究方向,使得該系列課程已經(jīng)發(fā)展成為內(nèi)容豐富的數(shù)據(jù)管理課程群。 數(shù)據(jù)庫(kù)系統(tǒng)概論課程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)以及相關(guān)專業(yè)的核心課程和必修課程,課程內(nèi)容構(gòu)建了一個(gè)完整的數(shù)據(jù)庫(kù)系統(tǒng)的框架,從而為進(jìn)一步學(xué)習(xí)其他數(shù)據(jù)管理課程打下堅(jiān)實(shí)的基礎(chǔ)。然而該課程內(nèi)容豐富,概念眾多,不少知識(shí)點(diǎn)或前后重疊或前后不斷地在深度廣度上遞進(jìn),形成了復(fù)雜的知識(shí)網(wǎng)絡(luò),對(duì)教師的授課和學(xué)生的理解掌握都提出了嚴(yán)峻的挑戰(zhàn)。通過(guò)對(duì)比分析大量國(guó)內(nèi)外相關(guān)課程教材和多年的教學(xué)研究實(shí)踐發(fā)現(xiàn),可以把該課程的章節(jié)結(jié)構(gòu)看作縱向結(jié)構(gòu),課程中散落在各章的相關(guān)或重疊講授或遞進(jìn)擴(kuò)展的內(nèi)容看作橫向結(jié)構(gòu),以貫通式教學(xué)法為策略實(shí)施教學(xué)。本文中的貫通式教學(xué)旨在按照課程縱向結(jié)構(gòu)教學(xué)的過(guò)程中,合理組織和設(shè)計(jì)橫向結(jié)構(gòu)的知識(shí)點(diǎn),將其貫通于教學(xué)的全過(guò)程,對(duì)橫向知識(shí)點(diǎn)的掌握由表及里,由理論到實(shí)踐,拉出明確的線條,從而保證學(xué)習(xí)的清晰、流暢,降低課程學(xué)習(xí)的難度和內(nèi)容繁雜帶來(lái)的混亂,提高教學(xué)效果。
1采用貫通式教學(xué)的原因
(1) 課程內(nèi)容形成復(fù)雜的知識(shí)網(wǎng)絡(luò)。
數(shù)據(jù)庫(kù)系統(tǒng)概論是一門很特別的課程。該課程內(nèi)容豐富,概念眾多,且不少知識(shí)點(diǎn)在前后章節(jié)有重疊(并不是簡(jiǎn)單的重復(fù))和遞進(jìn)。孤立地按照章節(jié)授課會(huì)令學(xué)生對(duì)相關(guān)知識(shí)點(diǎn)產(chǎn)生混亂和迷惑的感覺:這個(gè)概念不是前面定義過(guò)么?這個(gè)理論不是前面有過(guò)分析么?有的概念隨著課程的推進(jìn)在不斷被深化、細(xì)致化、具體化,如碼的定義;有的理論隨著知識(shí)的展開不斷被討論、驗(yàn)證,一詠三嘆,如完整性等。
(2) 課程的掌握需要學(xué)生能將課程內(nèi)容融會(huì)貫通。
一方面知識(shí)的掌握由點(diǎn)及面,比如橫向結(jié)構(gòu)的知識(shí)點(diǎn)在此章節(jié)處是這樣的含義,在整個(gè)課程中是怎么樣的?另一方面知識(shí)的掌握將由理論貫穿到實(shí)際應(yīng)用,理論與應(yīng)用相統(tǒng)一,比如知識(shí)點(diǎn)在理論章節(jié)是怎樣描述的,后續(xù)章節(jié)又是怎樣實(shí)現(xiàn)的?
(3) 課程學(xué)時(shí)不斷減少,教學(xué)內(nèi)容亟待有效整合。
隨著教學(xué)改革的不斷深入,各門課程的教學(xué)課時(shí)數(shù)在不斷減少,以期留給學(xué)生更多開放學(xué)習(xí)時(shí)間。貫通教學(xué)采用步步深入的方法,有效整合教學(xué)內(nèi)容,在不同章節(jié)只解決關(guān)于相關(guān)知識(shí)點(diǎn)的某個(gè)問(wèn)題,前面講過(guò)的只用不重復(fù),后面要講的前面不提,有效利用有限的課時(shí)去解決問(wèn)題。
(4) 教學(xué)設(shè)計(jì)充滿迷惑和障礙。
2009年4月17日至19日,教育部全國(guó)高校教師網(wǎng)絡(luò)培訓(xùn)中心組織數(shù)據(jù)庫(kù)系統(tǒng)概論課程骨干教師對(duì)數(shù)據(jù)庫(kù)系統(tǒng)概論的建設(shè)進(jìn)行了指導(dǎo)性培訓(xùn),在最后的教學(xué)互動(dòng)環(huán)節(jié),仍然有教師對(duì)課程的教學(xué)內(nèi)容如何組織按何種順序講授充滿疑惑。所以,透過(guò)課程縱向結(jié)構(gòu)的表象,透徹理解課程橫向結(jié)構(gòu)內(nèi)容的聯(lián)系,教師才能游刃自如地組織教學(xué)內(nèi)容、安排教學(xué)進(jìn)程。
2課程內(nèi)容的結(jié)構(gòu)分析
數(shù)據(jù)庫(kù)系統(tǒng)概論課程具有明晰的縱向結(jié)構(gòu)和潛在的橫向結(jié)構(gòu)。
分析和研究大量中外教材(部分見參考文獻(xiàn))[1-10],縱向結(jié)構(gòu)大致相同。典型的情況是將數(shù)據(jù)庫(kù)系統(tǒng)概論課程分成4大部分內(nèi)容,每部分由具體章節(jié)構(gòu)成。不同的教材每部分內(nèi)容會(huì)各有增減或前后調(diào)整。課程縱向結(jié)構(gòu)分析如表1。
分析和研究大量中外教材(部分見參考文獻(xiàn))[1-10],橫向結(jié)構(gòu)包括的知識(shí)點(diǎn)不盡相同(主要是國(guó)外的教材通常涉及到更多更細(xì)致的內(nèi)容)[3-5],各知識(shí)點(diǎn)在不同章節(jié)呈現(xiàn)的深度廣度也不盡相同,有的教材偏重于理論,比如王珊老師的數(shù)據(jù)庫(kù)系統(tǒng)概論[1],而有的教材偏重于應(yīng)用,比如何玉潔老師的數(shù)據(jù)庫(kù)原理與應(yīng)用教程[9],但典型的情況如表2分析。
以上分析是主要的例子但并不完全,但從以上的分析已足以見該課程內(nèi)容的豐富和繁雜。
3貫通式教學(xué)的設(shè)計(jì)與實(shí)施
根據(jù)以上分析可以看出課程內(nèi)容似紛繁復(fù)雜的網(wǎng)絡(luò),如果只采用經(jīng)典的按照章節(jié)為序的縱向結(jié)構(gòu)方式教學(xué),那么一方面會(huì)因?yàn)楦髡聝?nèi)容豐富覺得知識(shí)點(diǎn)眾多,另一方面又會(huì)因?yàn)闀r(shí)時(shí)出現(xiàn)似曾相識(shí)的知識(shí)點(diǎn)而迷惑;一方面會(huì)因?yàn)榍懊娴囊恍┲R(shí)點(diǎn)不能透徹描述而理解不清,另一方面又會(huì)因?yàn)樗圃嘧R(shí)的知識(shí)點(diǎn)在后面再度出現(xiàn)而厭倦。在縱向結(jié)構(gòu)的教學(xué)過(guò)程中始終輔之以滲透橫向結(jié)構(gòu)的貫通式教學(xué),將把該課復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)化成縱向和橫向兩條線性結(jié)構(gòu),消除由于知識(shí)點(diǎn)結(jié)構(gòu)復(fù)雜造成的學(xué)習(xí)障礙,降低課程的難度,提高學(xué)習(xí)的效果。
貫通式教學(xué)可以這樣設(shè)計(jì)和實(shí)施:
(1) 分析并明確各橫向結(jié)構(gòu)知識(shí)點(diǎn)。整理出所有相關(guān)的知識(shí)點(diǎn),明確它們?cè)诒菊n程中不同章節(jié)處出現(xiàn)時(shí)所承擔(dān)的不同作用,所完成的不同功能。
(2) 設(shè)計(jì)各橫向結(jié)構(gòu)知識(shí)點(diǎn)在各章節(jié)教學(xué)過(guò)程中的任務(wù)。安排各相關(guān)知識(shí)點(diǎn)在第幾章的授課中具體講什么內(nèi)容,講到什么程度。
(3) 橫向結(jié)構(gòu)知識(shí)點(diǎn)講課過(guò)程中進(jìn)行回溯?;厮菀?jiǎn)明扼要。學(xué)生回憶起學(xué)過(guò)的內(nèi)容,教師又同時(shí)不必消耗太多課時(shí),溫故知新,溫故求新。
(4) 橫向結(jié)構(gòu)知識(shí)點(diǎn)完成時(shí)進(jìn)行總結(jié),為進(jìn)一步探索指明方向。
(5) 明確學(xué)生在每部分學(xué)完需要掌握的程度。由于教材的緣故,相關(guān)的知識(shí)點(diǎn)在描述上難免有部分重復(fù)。在學(xué)習(xí)初期,有些描述學(xué)生不能完全看懂,而隨著教學(xué)內(nèi)容的展開和深入,那些似曾相識(shí)的內(nèi)容會(huì)讓學(xué)生厭煩和懈怠。明確相應(yīng)進(jìn)度相關(guān)知識(shí)點(diǎn)的相應(yīng)深度,可消除學(xué)生的疑慮和困惑。
(6) 課程完成時(shí),分別從縱向結(jié)構(gòu)和橫向結(jié)構(gòu)對(duì)課程的內(nèi)容進(jìn)行總結(jié)。縱向使學(xué)生理解掌握課程的內(nèi)容和遞進(jìn)思想,橫向使學(xué)生掌握各知識(shí)點(diǎn)基于課程整體遞進(jìn)時(shí)內(nèi)容的深化和實(shí)現(xiàn)。
(7) 因?yàn)橹v授的內(nèi)容安排與進(jìn)度會(huì)與教材不一致,所以我們準(zhǔn)備了充分的教學(xué)輔助手段,如網(wǎng)絡(luò)課堂,包括課件、作業(yè)和答疑,以提供給學(xué)生及時(shí)和持續(xù)的指導(dǎo)。
4貫通式教學(xué)的難點(diǎn)
貫通教學(xué)的難點(diǎn)首先在于課程縱向結(jié)構(gòu)和橫向結(jié)構(gòu)的明確。縱向結(jié)構(gòu)不難確定,通??梢允褂媒滩牡恼鹿?jié)結(jié)構(gòu),而橫向結(jié)構(gòu)潛伏于各章內(nèi)容之中,只有對(duì)課程進(jìn)行大量深入的挖掘和分析才能獲得。通過(guò)幾年的教學(xué)實(shí)踐總結(jié)有以下幾個(gè)難點(diǎn):
(1) 要求教師熟悉課程中所有教學(xué)內(nèi)容,杜絕邊教邊學(xué)的現(xiàn)象。課程應(yīng)建立合理的教學(xué)梯隊(duì),需要有經(jīng)驗(yàn)的教師對(duì)新任課教師的傳、幫、帶。
(2) 透過(guò)表象看本質(zhì),不能就教材的安排而拘泥。教材是主要的教學(xué)參考書而不是僵化教條的條令。橫向內(nèi)容安排的深淺詳略不用完全依照使用的教材,而要根據(jù)各部分內(nèi)容展開程度的需要進(jìn)行安排,這需要對(duì)授課內(nèi)容進(jìn)行細(xì)致的研究。
(3) 貫通教學(xué)對(duì)教材的內(nèi)容和結(jié)構(gòu)可能會(huì)有調(diào)整。從學(xué)習(xí)的初期看,學(xué)生的課程溫習(xí)可能不是很順暢,會(huì)給學(xué)生帶來(lái)困惑和疑慮,但長(zhǎng)期堅(jiān)持跟隨教師的授課掌握了課程的學(xué)習(xí)方法則會(huì)事半功倍。
5教學(xué)效果總結(jié)與評(píng)析
(1) 將課程復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)化成縱向和橫向兩條線性結(jié)構(gòu),降低了課程的學(xué)習(xí)難度,學(xué)生學(xué)習(xí)由難趨易。知識(shí)點(diǎn)有打碎有融合。打碎是為了學(xué)習(xí)的量少,降低難度,融合是為了知識(shí)點(diǎn)的融會(huì)貫通和有效應(yīng)用。
(2) 數(shù)據(jù)庫(kù)理論和應(yīng)用相互促進(jìn)。橫向結(jié)構(gòu)保證知識(shí)點(diǎn)既在理論部分分析討論又在應(yīng)用部分基于某種具體的DBMS進(jìn)行實(shí)現(xiàn),知其然知其所以然,增強(qiáng)了學(xué)生學(xué)習(xí)的興趣。
(3) 實(shí)現(xiàn)了知識(shí)的順利遷移。數(shù)據(jù)庫(kù)理論是廣譜的通用知識(shí)點(diǎn),這種DBMS的功能這樣實(shí)現(xiàn),另外的DBMS勢(shì)必主要也包括了這樣的內(nèi)容,掌握了理論將方便學(xué)習(xí)和移植,把學(xué)習(xí)一個(gè)DBMS的方法遷移到另一個(gè)不同的DBMS上去。這個(gè)在學(xué)生畢業(yè)設(shè)計(jì)中得到了明顯體現(xiàn)。課程實(shí)驗(yàn)使用SQL Server環(huán)境,畢業(yè)設(shè)計(jì)使用Oracle或MySQL或DB2等,通過(guò)自學(xué),學(xué)生們順利完成了任務(wù)。
(4) 學(xué)生掌握了一種新的學(xué)習(xí)方法,從而增強(qiáng)了自主學(xué)習(xí)能力。沿著教材的縱向結(jié)構(gòu)學(xué)習(xí)是一種本能,發(fā)現(xiàn)知識(shí)的橫向結(jié)構(gòu)、提取它,然后以此掌握知識(shí)的內(nèi)涵并應(yīng)用于實(shí)踐則進(jìn)入了學(xué)習(xí)的更高一層境界。這種能力,可以用于這門課程,當(dāng)然也可以用于其他課程;可以用于學(xué)習(xí)功課,當(dāng)然也可用于應(yīng)用實(shí)踐。
(5) 形成了一種新的對(duì)課程的理解和講授方法。把一門課講給學(xué)生不難,吃透一門課不容易,而透徹地教給學(xué)生就更不容易。理清課程的本質(zhì),融會(huì)兩個(gè)結(jié)構(gòu)的教學(xué),將對(duì)這一類課程的教學(xué)帶來(lái)新的突破。
參考文獻(xiàn) :
[1] 王珊,薩師煊. 數(shù)據(jù)庫(kù)系統(tǒng)概論[M]. 4版. 北京:高等教育出版社,2006.
[2] 黃德才. 數(shù)據(jù)庫(kù)原理及其應(yīng)用教程[M]. 2版. 北京:科學(xué)出版社,2006.
[3] C.J.Date. 數(shù)據(jù)庫(kù)系統(tǒng)導(dǎo)論[M]. 7版. 孟小峰,王珊,譯. 北京:機(jī)械工業(yè)出版社,2000.
[4] Abraham Silberschatz, Henry F. Korth. 數(shù)據(jù)庫(kù)系統(tǒng)概念[M]. 5版. 楊冬青,馬秀莉,唐世渭,譯. 北京:機(jī)械工業(yè)出版社, 2007.
[5] Patrick O’Neil.Database Principles, Programming and Performance[M]. 2nd.ed. 北京:高等教育出版社,2001.
[6] 葉小平,湯庸,湯娜,等 . 數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)教程[M]. 北京:清華大學(xué)出版社,2007.
[7] 施伯樂(lè),丁寶康,汪衛(wèi) . 數(shù)據(jù)庫(kù)系統(tǒng)教程[M]. 3版. 北京:高等教育出版社,2008.
[8] 陳志泊,李冬梅,王春玲. 數(shù)據(jù)庫(kù)原理及應(yīng)用教程[M]. 北京:人民郵電出版社,2002.
[9] 何玉潔. 數(shù)據(jù)庫(kù)原理與應(yīng)用教程[M]. 2版. 北京:機(jī)械工業(yè)出版社,2007.
[10] 苗雪蘭,劉瑞新, 宋歌. 數(shù)據(jù)庫(kù)原理及應(yīng)用教程[M]. 3版. 北京:機(jī)械工業(yè)出版社,2007.
The Research and Application of Teaching Method in Introduction to Database System
LIN Yin, LU Ying, YANG Chang-chun
(College of Information and Engineering, Jiangsu Polytechnic University, Changzhou 213164, China)
關(guān)鍵詞 需求分析 實(shí)體及屬性 概念模型
中圖分類號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A
1托盤共用信息管理平臺(tái)
在托盤共用系統(tǒng)中,托盤屬于托盤運(yùn)營(yíng)商所有,托盤的質(zhì)量控制、維護(hù)修理均由托盤運(yùn)營(yíng)商負(fù)責(zé),托盤使用企業(yè)不必?fù)碛型斜P,只需按照租賃合同使用托盤,有利于節(jié)約使用企業(yè)自備托盤的成本。托盤運(yùn)營(yíng)商建立托盤租賃和回收點(diǎn),負(fù)責(zé)托盤的租賃、回收與維護(hù),并根據(jù)托盤租賃需求預(yù)測(cè),向生產(chǎn)企業(yè)訂購(gòu)?fù)斜P。
目前由于托盤運(yùn)營(yíng)商經(jīng)常會(huì)因信息滯后,無(wú)法預(yù)測(cè)或統(tǒng)計(jì)相關(guān)企業(yè)對(duì)托盤的需求量,而使托盤脫銷或積壓,造成較高的托盤的庫(kù)存成本。同時(shí)無(wú)法及時(shí)了解托盤在運(yùn)輸過(guò)程中的具置,完整回收隨商品發(fā)往各地的空托盤,或者托盤隨著產(chǎn)品的運(yùn)輸一次性使用后就被丟棄,造成資源的浪費(fèi)。在空托盤的回收方面,由于無(wú)法與鄰近的回收點(diǎn)充分共享信息資源,經(jīng)常會(huì)產(chǎn)生回程空載上的浪費(fèi),不能充分利用托盤。很多因信息滯后的弊端使得托盤運(yùn)營(yíng)這項(xiàng)產(chǎn)業(yè)初期投入高,回收低下,出現(xiàn)運(yùn)營(yíng)困境。進(jìn)一步講,托盤共用系統(tǒng)中流動(dòng)著多種托盤物流,如用戶與托盤租賃和回收點(diǎn)之間的空托盤物流、回收點(diǎn)之間的庫(kù)存托盤物流、用戶之間隨貨物流動(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í)踐的問(wèn)題,從而達(dá)到系統(tǒng)化、規(guī)范化、標(biāo)準(zhǔn)化的水平。該系統(tǒng)的建立不但給管理者帶來(lái)了方便,也節(jié)省了工作時(shí)間從而提高了工作效率。
在構(gòu)造系統(tǒng)時(shí),首先從需求出發(fā)構(gòu)造數(shù)據(jù)庫(kù)表,然后再由數(shù)據(jù)庫(kù)表結(jié)合需求劃分系統(tǒng)功能模塊。這樣,就把一個(gè)大的系統(tǒng)分解成了幾個(gè)小系統(tǒng)。這里把系統(tǒng)的層次劃分為了四個(gè)部分:托盤維護(hù),管理人員信息管理,托盤租賃管理,信息查詢。能夠?qū)崿F(xiàn)以下功能: (1)進(jìn)行新托盤入庫(kù)、現(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ù)量,入庫(kù)時(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),托盤條形碼,采購(gòu)員編號(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)訪問(wè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ù)庫(kù)系統(tǒng)概論[M].高等教育出版社,2006.
關(guān)鍵詞:COM;DCOM;多數(shù)據(jù)庫(kù)系統(tǒng);分布式
1、前言
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和分布式計(jì)算的飛速發(fā)展,越來(lái)越多的用戶希望能夠訪問(wèn)和處理多個(gè)不同數(shù)據(jù)源中的數(shù)據(jù)。在此情況下,出現(xiàn)了多數(shù)據(jù)庫(kù)系統(tǒng)。多數(shù)據(jù)庫(kù)系統(tǒng)(MuitidatabaseSystem,簡(jiǎn)稱MDBS)的研究開始于80年代,至今已經(jīng)有二十多年的發(fā)展歷史,多數(shù)據(jù)庫(kù)系統(tǒng)是多個(gè)現(xiàn)存的、自治的、異構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)的聯(lián)合。多數(shù)據(jù)庫(kù)系統(tǒng)在所有局部數(shù)據(jù)庫(kù)系統(tǒng)之上構(gòu)成全局系統(tǒng)管理層,提供外部用戶接口,使用戶能實(shí)現(xiàn)對(duì)異構(gòu)數(shù)據(jù)庫(kù)的透明訪問(wèn)。
通過(guò)分析發(fā)現(xiàn),目前的多數(shù)據(jù)系統(tǒng)只是對(duì)異地?cái)?shù)據(jù)庫(kù)訪問(wèn)支持,有很大的局限性,而對(duì)多數(shù)據(jù)庫(kù)系統(tǒng)中的事務(wù)管理、異構(gòu)模式消解、全局視圖維護(hù)等關(guān)鍵技術(shù)都沒(méi)有提供很好的解決方案。
90年代,網(wǎng)絡(luò)技術(shù)的發(fā)展使組件化程序設(shè)計(jì)的思想促使人們把多數(shù)據(jù)庫(kù)系統(tǒng)與COM/DCOM結(jié)合起來(lái)。一方面,可以大大提高系統(tǒng)的可管理性、可維護(hù)性、可伸縮性和可集成性等,使多數(shù)據(jù)庫(kù)系統(tǒng)的開發(fā)、使用和維護(hù)都變得簡(jiǎn)單;另一方面,這兩者的結(jié)合也為先進(jìn)的分布式組件對(duì)象技術(shù)提供了一個(gè)廣闊的應(yīng)用領(lǐng)域。因此,分布式組件對(duì)象技術(shù)在多數(shù)據(jù)庫(kù)系統(tǒng)領(lǐng)域里得到廣泛應(yīng)用。
2、COM/DCOM技術(shù)
基于對(duì)大型軟件開發(fā)的困難性、軟件開發(fā)的協(xié)調(diào)性、軟件復(fù)用、軟件的互操作性、軟件的跨平臺(tái)性等問(wèn)題的研究,Microsoft提出了COM/DCOM技術(shù),并得到科學(xué)實(shí)踐的驗(yàn)證及進(jìn)一步發(fā)展。
COM/DCOM是建立在面向?qū)ο蠹夹g(shù)的基礎(chǔ)之上,是面向?qū)ο蠹夹g(shù)的擴(kuò)充和發(fā)展。它繼承了面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn),克服了面向?qū)ο蠹夹g(shù)的缺點(diǎn),提供了分布式計(jì)算環(huán)境。它采用面向?qū)ο蟮亩鄬涌蛻?服務(wù)器計(jì)算模型,該模型將分布在網(wǎng)絡(luò)上的全部資源都按照對(duì)象的概念來(lái)組織,為網(wǎng)絡(luò)上的大型軟件開發(fā)建立全新的技術(shù)框架。因此,COM/DCOM是一種構(gòu)造軟件組件的二進(jìn)制標(biāo)準(zhǔn)。
2.1COM簡(jiǎn)介
COM是一種構(gòu)造軟件組件的二進(jìn)制標(biāo)準(zhǔn),而面向?qū)ο蠹夹g(shù)是組件式設(shè)計(jì)思想的基礎(chǔ)。它使得組件和客戶端無(wú)需任何中介組件就能相互聯(lián)系,其規(guī)范所定義的組件模型具有面向?qū)ο?、語(yǔ)言無(wú)關(guān)性、進(jìn)程的透明性、可重用性等特點(diǎn)。目前,COM自身得到了很大的發(fā)展,己經(jīng)遍布于Microsoft的各種軟件產(chǎn)品中。
在Windows系統(tǒng)平臺(tái)上,一個(gè)COM組件或是一個(gè)DLL(動(dòng)態(tài)連接庫(kù))文件,或是一個(gè)EXE(可執(zhí)行)文件。一個(gè)組件程序可以包含多個(gè)COM對(duì)象,每一個(gè)COM對(duì)象可以實(shí)現(xiàn)多個(gè)接口。它們的關(guān)系可展現(xiàn)如圖1所示。
圖1 COM組件、COM對(duì)象和COM接口關(guān)系
2.2DCOM簡(jiǎn)介
DCOM是COM的無(wú)縫擴(kuò)展,它充分利用基于COM的應(yīng)用、組件開發(fā)工具及知識(shí),并把它們轉(zhuǎn)移到分布式計(jì)算的應(yīng)用領(lǐng)域,實(shí)現(xiàn)了不同計(jì)算機(jī)上的組件對(duì)象與客戶程序之間或組件對(duì)象之間在網(wǎng)絡(luò)上的相互通信,具有平臺(tái)無(wú)關(guān)性、協(xié)議無(wú)關(guān)性、語(yǔ)言無(wú)關(guān)性、組件位置獨(dú)立性和可擴(kuò)展等優(yōu)點(diǎn)。它建立在分布式計(jì)算環(huán)境(DCE)的遠(yuǎn)程過(guò)程調(diào)用(RPC)之上,采用DEC RPC的NDR格式來(lái)進(jìn)行數(shù)據(jù)分組和傳輸,并利用DEC PC的安全機(jī)制進(jìn)行數(shù)據(jù)的安全認(rèn)證和一致性檢查。
DCOM的基本工作過(guò)程如圖2所示。
圖2 DCOM的工作過(guò)程圖
3、基于COM/DCOM的多數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)
隨著COM/DCOM技術(shù)的發(fā)展及標(biāo)準(zhǔn)化工作的完善,COM/DCOM已成為主流技術(shù),符合COM/DCOM規(guī)范的產(chǎn)品也逐漸不斷地被推出并開始被廣為采用。COM/DCOM目前已經(jīng)是一項(xiàng)比較成熟的分布式面向?qū)ο蠹夹g(shù),COM/DCOM非常適用于多數(shù)據(jù)庫(kù)系統(tǒng)的有效管理。
本系統(tǒng)模型采用了一種全新的解決方法,在應(yīng)用服務(wù)器中直接提供支持,這種方案才能保證分布式程序的運(yùn)行效率,特別是在于需要大量數(shù)據(jù)進(jìn)行處理的系統(tǒng)相連上尤為明顯。采用本系統(tǒng)模型可以擁有分布計(jì)算的支持,可應(yīng)用服務(wù)器支持移動(dòng)計(jì)算工作方式。該模式是數(shù)據(jù)庫(kù)緩存更新的發(fā)展,用戶與應(yīng)用服務(wù)器相連并且從應(yīng)用服務(wù)器上獲得數(shù)據(jù),然后將緩存在本地的數(shù)據(jù)更新,可對(duì)數(shù)據(jù)進(jìn)行各種離線處理和分析,用戶與應(yīng)用服務(wù)器重新連接后,可以一次新的將離線所作的處理更新到數(shù)據(jù)庫(kù)服務(wù)器中。
COM組件主要負(fù)責(zé)Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器,通過(guò)間接調(diào)用外部程序或腳本代碼來(lái)訪問(wèn)數(shù)據(jù)庫(kù),因此可以提供與數(shù)據(jù)庫(kù)相關(guān)的動(dòng)態(tài)HTML頁(yè)面,或執(zhí)行用戶查詢并將查詢結(jié)果格式轉(zhuǎn)化成HTML頁(yè)面,通過(guò)Web服務(wù)器返回給用戶瀏覽器。
多數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)如圖3所示。
圖3 多數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)
4、系統(tǒng)實(shí)現(xiàn)
利用Visual C++中的ODBC技術(shù)可以極大地減少軟件開發(fā)的工作量,提高了效率并增強(qiáng)了軟件的可靠性。ODBC API是由ODBC提供的一組函數(shù)調(diào)用接口,其主要功能就是將SQL語(yǔ)句發(fā)送到目標(biāo)數(shù)據(jù)庫(kù),然后處理這些SQL語(yǔ)句返回的結(jié)果。下面是通過(guò)ODBC API連接數(shù)據(jù)庫(kù)的主要步驟及其所涉及到的重要函數(shù)。
4.1連接一個(gè)已經(jīng)配置好的數(shù)據(jù)源
CDatabasem_database;
If(!m_database.IsOpen())
{If(!m_database.IsOpen(_T(""Test"")))
Assert(""不能打開該數(shù)據(jù)源"");
}
m_database.Close();
4.2動(dòng)態(tài)連接數(shù)據(jù)庫(kù)
由于與數(shù)據(jù)庫(kù)的連接是通過(guò)Cdatabase類對(duì)象來(lái)實(shí)現(xiàn)的,所以可以通過(guò)賦予CrecordSet類對(duì)象參數(shù)m_pDatabase以連接不同數(shù)據(jù)庫(kù)的Cdatabase對(duì)象指針,就可以動(dòng)態(tài)地連接數(shù)據(jù)庫(kù):
void CDB::ChangeConnect()
{Cdatabase*pdb=m_pSet->m_pDatabase;
Pdb->close();
switch(m_id)
{
case 0:
if(pdb->Open(_T(""ES"")))
{AfxMessageBox(""打開失敗"",""檢查ODBC連接"";
exit(0);}
case 1:
if(!pdb->Open(_T(""Motor"")));
{AfxMessageBox(""打開失敗"",""檢查ODBC連接"";
exit(0);
}m_id=0;break;
}
}
4.3動(dòng)態(tài)連接表
表的動(dòng)態(tài)連接可以利用在調(diào)用CrecordSe:tOpen()函數(shù)時(shí)指定SQL語(yǔ)句來(lái)實(shí)現(xiàn)。
5、結(jié)束語(yǔ)
本文提出一種基于COM/DCOM的多數(shù)據(jù)庫(kù)模型。COM/DCOM技術(shù)是解決多種異構(gòu)數(shù)據(jù)庫(kù)環(huán)境下的據(jù)庫(kù)信息處理的一種有效的方法。由于其先進(jìn)性、可擴(kuò)展性、可配置性、靈活性、可靠性和先進(jìn)的多層結(jié)構(gòu)等的優(yōu)點(diǎn),它不但可以解決數(shù)據(jù)庫(kù)異構(gòu)的問(wèn)題,更是解決操作系統(tǒng)異構(gòu)的最有效的方法。我們有理由相信組件對(duì)象技術(shù)將是解決數(shù)據(jù)庫(kù)系統(tǒng)集成的優(yōu)良方案,在企業(yè)集成應(yīng)用系統(tǒng)中將起到重要的作用,將是數(shù)據(jù)庫(kù)技術(shù)的一個(gè)新的發(fā)展趨勢(shì)。
參考文獻(xiàn):
[1]李瑞軒.多數(shù)據(jù)庫(kù)系統(tǒng)原理與技術(shù)[M].電子工業(yè)出版社.2005.
[2]王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論(第4版)[M].高等教育出版社.2007.
1教材的選擇
目前數(shù)據(jù)庫(kù)系統(tǒng)教學(xué)的教材非常多,一類數(shù)據(jù)庫(kù)教材是偏向理論研究的,另一類則是側(cè)重?cái)?shù)據(jù)庫(kù)技術(shù),著重介紹某一個(gè)具體數(shù)據(jù)庫(kù)軟件產(chǎn)品及其開發(fā)技術(shù)的,這兩類教材都不太適合獨(dú)立學(xué)院非計(jì)算機(jī)專業(yè)的學(xué)生。根據(jù)學(xué)生的特點(diǎn)和實(shí)際教學(xué)需要,建議采用將“數(shù)據(jù)庫(kù)原理”和"、“數(shù)據(jù)庫(kù)應(yīng)用技術(shù)”這兩部分相結(jié)合的教材,也就是說(shuō)在力求尋找對(duì)數(shù)據(jù)庫(kù)理論知識(shí)進(jìn)行深入淺出的闡述的基礎(chǔ)上,更加強(qiáng)調(diào)實(shí)踐應(yīng)用能力的教材。比如對(duì)于獨(dú)立學(xué)院電子商務(wù)專業(yè)的學(xué)生,筆者選擇了由何玉潔編著的《數(shù)據(jù)庫(kù)原理與應(yīng)用教程》,該教材在介紹了數(shù)據(jù)庫(kù)系統(tǒng)的基本概念和基本理論的同時(shí),還涉及了目前流行的SQL Server 2000的功能和使用方法,另外根據(jù)學(xué)生開設(shè)的前導(dǎo)課程Visual Basic語(yǔ)言,該教材還介紹了在Visual Basic 6.0中開發(fā)數(shù)據(jù)庫(kù)前端應(yīng)用的方法。由王珊和薩斯宣編著的《數(shù)據(jù)庫(kù)系統(tǒng)概論》作為數(shù)據(jù)庫(kù)教材的經(jīng)典代表,對(duì)獨(dú)立學(xué)院電子商務(wù)專業(yè)的學(xué)生來(lái)說(shuō),將其作為主要參考書,也是一個(gè)很好的選擇。目前數(shù)據(jù)庫(kù)教材名目種類繁多,授課教師應(yīng)該針對(duì)一定的培養(yǎng)目標(biāo),對(duì)教材進(jìn)行合理的選擇。
2合理安排教學(xué)內(nèi)容
根據(jù)教學(xué)改革的要求,目前很多課程的教學(xué)課時(shí)都被壓縮,筆者所在獨(dú)立學(xué)院的非計(jì)算機(jī)專業(yè)的數(shù)據(jù)庫(kù)教學(xué)基本都在51個(gè)課時(shí)左右。對(duì)于基礎(chǔ)相對(duì)薄弱的獨(dú)立學(xué)院學(xué)生,尤其對(duì)文理兼招的電子商務(wù)專業(yè),要想把所有的知識(shí)的都面面俱到,那顯然是有困難的,也是不太現(xiàn)實(shí)的,所以講授本課程的主要目的應(yīng)該是引導(dǎo)學(xué)生入門,重點(diǎn)講授核心內(nèi)容,如關(guān)系數(shù)據(jù)庫(kù)基本理論、SQL語(yǔ)言、關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)等。另外,數(shù)據(jù)庫(kù)作為一門理論和實(shí)際聯(lián)系非常緊密的課程,為了增強(qiáng)學(xué)生的實(shí)際應(yīng)用能力,還應(yīng)該留出至少三分之一的課時(shí)作為學(xué)生的實(shí)踐課程,盡量讓學(xué)生將所學(xué)的理論知識(shí)能應(yīng)用于實(shí)際,從而增強(qiáng)學(xué)生的學(xué)習(xí)積極性。
3靈活運(yùn)用現(xiàn)代化教學(xué)方法
3.1教學(xué)案例應(yīng)該盡量與專業(yè)相結(jié)合
前面講到,數(shù)據(jù)庫(kù)教材雖然眾多,但有非常多的教材都是參考王珊和薩斯宣編著的《數(shù)據(jù)庫(kù)系統(tǒng)概論》來(lái)編寫的,導(dǎo)致教材中涉及的案例基本上都是圍繞“學(xué)生-課程”數(shù)據(jù)庫(kù)的設(shè)計(jì)和應(yīng)用來(lái)編寫的,筆者在教學(xué)過(guò)程中,為了增強(qiáng)學(xué)生的學(xué)習(xí)興趣,在講述課程時(shí)采用的是教材的案例,但是當(dāng)學(xué)生進(jìn)行實(shí)踐操作時(shí),則換成和電子商務(wù)相關(guān)的數(shù)據(jù)庫(kù),如“客戶――商品”數(shù)據(jù)庫(kù)等,這樣既可以鍛煉學(xué)生靈活運(yùn)用基本知識(shí)的能力,也為學(xué)生今后的電子商務(wù)網(wǎng)站后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)提供一些思路。
3.2將理論教學(xué)和實(shí)踐有機(jī)結(jié)合。
以往數(shù)據(jù)庫(kù)課程的教學(xué)是理論是實(shí)驗(yàn)先分離的,也就是在講授了較多的理論知識(shí)后,再集中進(jìn)行實(shí)驗(yàn)。而數(shù)據(jù)庫(kù)課程中一部分理論知識(shí)聽起來(lái)還是有些乏味的,比如課程剛一開始就講授“數(shù)據(jù)庫(kù)概述”和“數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)”這兩個(gè)部分內(nèi)容,由于理論性較強(qiáng),概念也比較多,“填鴨式”的教學(xué)方法往往使學(xué)生聽的云里霧里。這樣嚴(yán)重的影響了教學(xué)效果,為了讓學(xué)生對(duì)理論知識(shí)有一個(gè)感性認(rèn)識(shí),筆者在教學(xué)安排上調(diào)整了教材的前后講授順序,比如,在第一次課講授了一部分?jǐn)?shù)據(jù)庫(kù)的理論知識(shí)后,在第二次上課的時(shí)候就安排了一次實(shí)驗(yàn),讓學(xué)生了解SQL Server 2000的主要功能和基本操作,并且把理論知識(shí)和這個(gè)軟件先結(jié)合進(jìn)行介紹,通過(guò)這種方法,使學(xué)生很快就分清楚了“數(shù)據(jù)庫(kù)”和“數(shù)據(jù)庫(kù)管理系統(tǒng)”的區(qū)別,同時(shí)也讓學(xué)生對(duì)神秘的數(shù)據(jù)庫(kù)有了一個(gè)初步的了解,從而增強(qiáng)了學(xué)生學(xué)習(xí)的興趣。
另外,講授該課程的過(guò)程中,可以結(jié)合一個(gè)小型項(xiàng)目的開發(fā)來(lái)深化教學(xué)內(nèi)容,比如,“數(shù)據(jù)庫(kù)設(shè)計(jì)”是一個(gè)理論性較強(qiáng)、聽起來(lái)較為枯燥的一個(gè)章節(jié),如果純粹講知識(shí)的,學(xué)生聽起來(lái)很乏味,如果老師事先介紹該章節(jié)的重點(diǎn),然后讓學(xué)生按照數(shù)據(jù)庫(kù)的設(shè)計(jì)步驟去設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù),同時(shí)要求寫出相應(yīng)的數(shù)據(jù)庫(kù)設(shè)計(jì)文檔,這樣既可以使學(xué)生更深刻地理解每個(gè)抽象地概念和知識(shí)點(diǎn), 也可以提高學(xué)生的實(shí)踐能力, 同時(shí)可以使枯燥的理論課活起來(lái), 使學(xué)生在學(xué)習(xí)過(guò)程中體驗(yàn)到理論的學(xué)習(xí)在實(shí)踐應(yīng)用中的重要作用。
關(guān)鍵詞:高校;計(jì)算機(jī)專業(yè);實(shí)例;數(shù)據(jù)庫(kù)應(yīng)用
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2007)05-11454-03
1 引言
《數(shù)據(jù)庫(kù)原理及應(yīng)用》這門課的主要任務(wù)是通過(guò)課堂教學(xué)和實(shí)踐指導(dǎo),使學(xué)生較全面地掌握數(shù)據(jù)庫(kù)系統(tǒng)的基本概念、基本原理和基本方法,初步具備使用數(shù)據(jù)庫(kù)技術(shù)解決實(shí)際問(wèn)題的能力。當(dāng)前國(guó)內(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語(yǔ)句寫的非常好的同學(xué)但是數(shù)據(jù)庫(kù)設(shè)計(jì)卻很茫然。然而在很多時(shí)候即使重視理論也很難將理論講授深入,同時(shí)學(xué)生的課程任務(wù)繁重,自己動(dòng)腦動(dòng)手的時(shí)間不多,應(yīng)試教育的因素又使得學(xué)生對(duì)于知識(shí)的渴望大于對(duì)實(shí)踐的需求。針對(duì)這些,教師無(wú)形中不得不加強(qiáng)對(duì)理論的深入,于是教學(xué)進(jìn)入了不良循環(huán)的一個(gè)怪圈:成績(jī)好的學(xué)生在畢業(yè)設(shè)計(jì)階段也可能表現(xiàn)出對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)無(wú)從下手,甚至ER圖都不會(huì)畫或畫錯(cuò),學(xué)生成績(jī)的優(yōu)良并不能如實(shí)反映他們對(duì)于這門課知識(shí)的掌握程度。
我國(guó)信息技術(shù)發(fā)展時(shí)間較短,從業(yè)人員較少,專業(yè)教材的建設(shè)正在逐步完善,在這樣的現(xiàn)狀下,美國(guó)等發(fā)達(dá)國(guó)家在其計(jì)算機(jī)科學(xué)發(fā)展的幾十年間沉淀的經(jīng)典教材仍有許多值得借鑒之處。但是國(guó)內(nèi)高校對(duì)于雙語(yǔ)教學(xué)的嘗試,進(jìn)展比較緩慢效果并不明顯,特別是采用英文原版教材對(duì)教學(xué)的實(shí)施難度較大。在這種情況下適當(dāng)?shù)囊糜⑽脑娼滩闹械膶?shí)例甚至是國(guó)外高校教學(xué)中的實(shí)例,對(duì)《數(shù)據(jù)庫(kù)原理及應(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í)際問(wèn)題的各種練習(xí)機(jī)會(huì);
(2)歸納和演繹恰當(dāng)?shù)慕Y(jié)合,有利于學(xué)生創(chuàng)造能力的開發(fā)。采用實(shí)例教學(xué),課堂氣氛較為活躍,學(xué)生積極參與,各自提出解決問(wèn)題的方案,再比較不同方案的利弊,最后找出一個(gè)比較可行的設(shè)計(jì)流程。當(dāng)完成基本原理方法的講解之后,都會(huì)安排一次大作業(yè),這更加體現(xiàn)了實(shí)例教學(xué)的特點(diǎn);
(3)以實(shí)例促教學(xué),理論聯(lián)系實(shí)際。通過(guò)實(shí)例,可以啟發(fā)學(xué)生將理論與實(shí)踐結(jié)合起來(lái),從獲得現(xiàn)成的知識(shí)到探索未知的領(lǐng)域飛躍。
3 實(shí)例在數(shù)據(jù)庫(kù)教學(xué)中的運(yùn)用
3.1 實(shí)例分析
實(shí)例分析一般采用課堂隨機(jī)發(fā)言的方式展開討論。教師將一些比較常見的或者相對(duì)比較容易理解的問(wèn)題在課堂上提出,學(xué)生對(duì)此自由發(fā)言,最后教師歸納總結(jié)。將傳統(tǒng)教學(xué)中表現(xiàn)出的弊端盡可能的避免,如:(1)不聯(lián)系實(shí)際,如QBE、嵌入式SQL、事務(wù)、備份等;(2)無(wú)法提高學(xué)生實(shí)際動(dòng)手能力,沒(méi)有大容量、高復(fù)雜的數(shù)據(jù)庫(kù);(3)設(shè)計(jì)能力,沒(méi)有正確的設(shè)計(jì)思路(三范式的錯(cuò)誤用法),沒(méi)有經(jīng)過(guò)設(shè)計(jì)訓(xùn)練。這些問(wèn)題經(jīng)過(guò)教師啟發(fā)之后,學(xué)生很容易抓住重點(diǎn)分析解決問(wèn)題。
3.2 實(shí)例訓(xùn)練
數(shù)據(jù)庫(kù)課程是一門比較重視實(shí)踐的課程,而運(yùn)用實(shí)例進(jìn)行教學(xué)又是簡(jiǎn)單易行的辦法。從課本之外的地方找到相關(guān)的實(shí)例是一種新穎有效的辦法,因?yàn)檎n本上的實(shí)例一般都選擇比較簡(jiǎn)單的和某一個(gè)主題相關(guān)的例子,學(xué)生獨(dú)立看書的過(guò)程中很容易看懂這些實(shí)例,如果上課的過(guò)程中繼續(xù)引用,反復(fù)講解,難免會(huì)給學(xué)生造成煩躁的情緒,時(shí)間長(zhǎng)了,學(xué)生會(huì)覺得這門課的內(nèi)容相對(duì)簡(jiǎn)單,往往容易掉以輕心。這樣就對(duì)教師提出了更高的要求。教師不僅要懂得和掌握實(shí)例分析的方法和技巧,而且要具有實(shí)踐經(jīng)驗(yàn),以及駕馭課堂討論的能力,這樣才能把數(shù)據(jù)庫(kù)原理的教學(xué)做好。
4 實(shí)例舉例
《數(shù)據(jù)庫(kù)原理及應(yīng)用》課程最重要的實(shí)踐環(huán)節(jié)就是讓學(xué)生能夠開發(fā)一個(gè)功能完善的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),通常數(shù)據(jù)庫(kù)設(shè)計(jì)質(zhì)量的好壞直接影響到數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的運(yùn)行質(zhì)量,而數(shù)據(jù)組織的是否得當(dāng)正是數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵所在.因此,關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)所面臨的一個(gè)問(wèn)題是:給出一組數(shù)據(jù),如何去構(gòu)造關(guān)系以及每個(gè)關(guān)系中應(yīng)包含哪些屬性,許多設(shè)計(jì)者通過(guò)經(jīng)驗(yàn)或者直覺進(jìn)行設(shè)計(jì),卻往往在使用中遇到這樣或那樣的問(wèn)題,關(guān)系數(shù)據(jù)庫(kù)里的數(shù)據(jù)規(guī)范化理論對(duì)于此問(wèn)題作了一些理論上的研究.
國(guó)內(nèi)的教材中對(duì)于問(wèn)題的分析往往用比較簡(jiǎn)單易懂的單獨(dú)實(shí)例加以說(shuō)明,就一個(gè)問(wèn)題而言比較容易理解,但是不適合拓展和舉一反三,實(shí)例沒(méi)有連續(xù)性。這樣的例子在學(xué)生頭腦中易形成斷斷續(xù)續(xù)的知識(shí)點(diǎn),而不是連續(xù)的設(shè)計(jì)思想。這很容易給學(xué)生造成設(shè)計(jì)無(wú)從下手的困境,這也是數(shù)據(jù)庫(kù)教學(xué)過(guò)程中容易重視理論忽視實(shí)踐的一個(gè)原因。
下面的實(shí)例選自英國(guó)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ù)庫(kù)設(shè)計(jì)中,數(shù)據(jù)合理存儲(chǔ)和組織的核心是設(shè)計(jì)科學(xué)的關(guān)系模式,能準(zhǔn)確反映現(xiàn)實(shí)世界實(shí)體間的聯(lián)系,最大限度的減少冗余這就是關(guān)系模式規(guī)范化的問(wèn)題。
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é)生來(lái)報(bào)道,具體數(shù)據(jù)有“N990036、JONE、25/11/1978”,插入數(shù)據(jù)時(shí)因?yàn)闆](méi)有Module信息則無(wú)法完成;(2)刪除異常。N990036如果放棄選擇Module為IS705的信息,刪除記錄時(shí)會(huì)因?yàn)閯h除了Module信息,N990036信息也隨之消失;(3)修改復(fù)雜、冗余大。學(xué)生若選擇了K個(gè)Module,那么Student Name和Date of Birth都要毫無(wú)遺漏的出現(xiàn)K次。如果要修改一個(gè)Student Name,則需要修改所有出現(xiàn)這個(gè)Student Name的地方。帶著這樣的問(wèn)題我們開始下面的內(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,如果所有的非主屬性都不依賴于其他非主屬性,并且所有主屬性也不依賴于其他主屬性。(或者說(shuō)消除了傳遞依賴)(這里的3NF實(shí)際上是書本上的BCNF!)
4.6 規(guī)范化小結(jié)
圖2 各種范式及規(guī)范化過(guò)程
5 相關(guān)習(xí)題
根據(jù)給出的實(shí)例,讓學(xué)生自己分析
表2 UNF習(xí)題
6 結(jié)束語(yǔ)
實(shí)例教學(xué)法是傳統(tǒng)教學(xué)方法的一種補(bǔ)充,在本科生的教學(xué)中首次嘗試,收到很好的效果。實(shí)例教學(xué)法的成功取決于(1)選擇的實(shí)例合理;(2)教師的素質(zhì)和教師在課堂上的表現(xiàn);(3)學(xué)生在教學(xué)過(guò)程中的主動(dòng)性發(fā)揮程度??傊瑢?shí)例教學(xué)法有利于提高學(xué)生學(xué)習(xí)的積極主動(dòng)性,很好的做到了理論聯(lián)系實(shí)際,特別是采用國(guó)外的教材或者是國(guó)外高校的實(shí)例,會(huì)大大加強(qiáng)學(xué)生對(duì)于這門課程的興趣。對(duì)于實(shí)例教學(xué)法的實(shí)施方法,有效的讓學(xué)生學(xué)會(huì)學(xué)習(xí),主動(dòng)學(xué)習(xí),極大的提高了分析和解決問(wèn)題的能力。
參考文獻(xiàn):
[1]薩師煊,王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論(第三版)[M].北京:高等教育出版社.2001.
[2]王珊,陳紅.數(shù)據(jù)庫(kù)系統(tǒng)原理教程[M].北京:清華大學(xué)出版社,1998.
[3]DATE CJ.An Introduction to Database System(Ed.6)[M].Addison-Wesley.1995.
[4]李艷梅,羅建..《數(shù)據(jù)庫(kù)系統(tǒng)概論》教學(xué)改革探討[J].西華師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2003,(01).
[5]馮玉才.數(shù)據(jù)庫(kù)基礎(chǔ)(第二版)[M].武漢:華中理工大學(xué)出版社.1993.
[6][美]Evangelos Petroutsos,Kevin Hough. 邱仲潘譯.Visual Basic 6 高級(jí)開發(fā)指南[M].北京:電子工業(yè)出版社,1999.
[7]劉容.數(shù)據(jù)庫(kù)課程教學(xué)改革初探[J].高等工程教育研究,1997,(4).
[8]何玉潔,武欣,鄧一凡.Ryan K Stephens, Ronald R Plew.數(shù)據(jù)庫(kù)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2001.
[9]Silberschatz,楊冬青,唐世渭等譯.數(shù)據(jù)庫(kù)系統(tǒng)概念(原書第4版)[M].北京:機(jī)械工業(yè)出版社,2003(3).
[10]李紅. 數(shù)據(jù)庫(kù)原理及應(yīng)用[M].北京:高等教育出版社,2003.
[11]伍俊良,劉飛.數(shù)據(jù)庫(kù)原理與基礎(chǔ)實(shí)踐環(huán)節(jié)在信息專業(yè)類教學(xué)中的應(yīng)用與教學(xué)要求解析[J].計(jì)算機(jī)教育,2004(6).
[12]崔巍.數(shù)據(jù)庫(kù)系統(tǒng)及應(yīng)用[M].第2版.北京:高等教育出版社,2003.
[13]Silberschatz, Abrah. Database system concepts[M].北京:高等教育出版社,2002.
關(guān)鍵詞: 資源整合 異構(gòu)數(shù)據(jù)庫(kù) 互操作 聯(lián)邦式數(shù)據(jù)庫(kù)
1 引言
異構(gòu)數(shù)據(jù)庫(kù)互操作問(wèn)題作為數(shù)據(jù)庫(kù)領(lǐng)域的研究熱點(diǎn)和難點(diǎn)課題,在國(guó)內(nèi)外的學(xué)術(shù)界和工業(yè)界都引起了廣泛的關(guān)注。自20世紀(jì)80年代以來(lái),國(guó)外許多公司和科研單位對(duì)異構(gòu)數(shù)據(jù)庫(kù)的集成進(jìn)行了大量研究,取得了不少成果,但國(guó)內(nèi)對(duì)異構(gòu)數(shù)據(jù)庫(kù)集成的研究還處于開始階段。
2 異構(gòu)數(shù)據(jù)庫(kù)互操作的概念
異構(gòu)數(shù)據(jù)庫(kù)(Heterogeneous Database)集成是數(shù)據(jù)庫(kù)技術(shù)從完全集中到邏輯集中、物理分布(傳統(tǒng)分布式數(shù)據(jù)庫(kù))乃至邏輯分布、物理分布(異構(gòu)數(shù)據(jù)庫(kù))這一發(fā)展過(guò)程的結(jié)果,也是兼顧已有系統(tǒng)自治性并實(shí)現(xiàn)新的數(shù)據(jù)共享這一現(xiàn)實(shí)需求的有效手段。
異構(gòu)數(shù)據(jù)庫(kù)的異構(gòu)特征包括兩個(gè)級(jí)別:系統(tǒng)一級(jí)的異構(gòu)和語(yǔ)言一級(jí)的異構(gòu),主要體現(xiàn)在以下幾個(gè)方面。
(1)計(jì)算機(jī)體系結(jié)構(gòu)的異構(gòu):各個(gè)參與的數(shù)據(jù)庫(kù)可以分別運(yùn)行在大型機(jī)、小型機(jī)、工作站、PC或嵌入式系統(tǒng)中。
(2)操作系統(tǒng)的異構(gòu):各個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)操作系統(tǒng)可以是Unix, Windows NT,Linux等。
(3)數(shù)據(jù)庫(kù)管理系統(tǒng)的異構(gòu):一種是數(shù)據(jù)庫(kù)概念模式的異構(gòu):有層次、網(wǎng)狀、關(guān)系和面向?qū)ο?種;另一種是數(shù)據(jù)庫(kù)物理模式的異構(gòu):指概念模式相同,但數(shù)據(jù)結(jié)構(gòu)不同,比如Oracle與SQL Server同屬關(guān)系型,但結(jié)構(gòu)不同。
異構(gòu)數(shù)據(jù)庫(kù)互操作的實(shí)現(xiàn)包括三個(gè)功能要素:(1)為用戶提供功能強(qiáng)大且操作靈活的互操作可視化界面,通過(guò)它用戶可以直觀地對(duì)多個(gè)異構(gòu)數(shù)據(jù)庫(kù)進(jìn)行透明訪問(wèn);(2)提供高級(jí)語(yǔ)言數(shù)據(jù)庫(kù)訪問(wèn)調(diào)用級(jí)接口,至于調(diào)用級(jí)接口的實(shí)現(xiàn)層次可由設(shè)計(jì)者視具體清況而定;(3)支持環(huán)境開放性,可能的話還應(yīng)該支持實(shí)現(xiàn)語(yǔ)言開放性。
異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的目標(biāo)在于實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)之間的數(shù)據(jù)信息資源、硬件設(shè)備資源和人力資源的合并和共享。異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)集成就是要將數(shù)據(jù)庫(kù)系統(tǒng)的不同,操作系統(tǒng)的不同,操作平臺(tái)的不同或者底層網(wǎng)絡(luò)的不同進(jìn)行屏蔽,使得用戶就可以將異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)看成普通的數(shù)據(jù)庫(kù)系統(tǒng),用自己熟悉的數(shù)據(jù)處理語(yǔ)言去訪問(wèn)數(shù)據(jù)庫(kù),如同訪問(wèn)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)一樣,對(duì)其進(jìn)行透明的操作。
3 實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)互操作的途徑
面對(duì)異構(gòu)數(shù)據(jù)庫(kù)的互操作需求,主要從兩個(gè)方面同時(shí)進(jìn)行努力:一是建立標(biāo)準(zhǔn),即建立統(tǒng)一的數(shù)據(jù)庫(kù)規(guī)范,消除由于標(biāo)準(zhǔn)的不完善而造成的各數(shù)據(jù)庫(kù)系統(tǒng)間的差異;二是構(gòu)建異構(gòu)數(shù)據(jù)庫(kù)互操作平臺(tái),實(shí)現(xiàn)對(duì)多個(gè)異構(gòu)數(shù)據(jù)庫(kù)的透明訪問(wèn)。
隨著對(duì)數(shù)據(jù)庫(kù)互操作問(wèn)題的深入研究,基于不同角度,許多研究者提出了可行的異構(gòu)數(shù)據(jù)庫(kù)互操作途徑,這些途徑在實(shí)現(xiàn)互操作的深度、廣度和高度上各不相同,都有各自所適應(yīng)的特定環(huán)境和需求。從異構(gòu)數(shù)據(jù)庫(kù)的核心思想出發(fā),把實(shí)現(xiàn)互操作的途徑歸納為兩大類。
3.1 系統(tǒng)級(jí)異構(gòu)互操作
對(duì)于DBMS系統(tǒng)一級(jí)異構(gòu)的網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)庫(kù)互操作,主要有四種實(shí)現(xiàn)途徑。
(1)數(shù)據(jù)庫(kù)網(wǎng)關(guān)(Database Gateway)
數(shù)據(jù)庫(kù)網(wǎng)關(guān)是一種中繼器,它能提供應(yīng)用級(jí)的異構(gòu)數(shù)據(jù)庫(kù)集成的手段。網(wǎng)關(guān)的主要作用是轉(zhuǎn)換和通信。
數(shù)據(jù)庫(kù)網(wǎng)關(guān)可以建立比較穩(wěn)定和透明的數(shù)據(jù)庫(kù)互操作,但是其缺點(diǎn)也較為明顯。諸如不關(guān)心如何屏蔽數(shù)據(jù)庫(kù)之間的異構(gòu)性,不支持事務(wù)處理,資源冗余,用戶受限于數(shù)據(jù)庫(kù)廠商,不能任意選擇客戶機(jī)平臺(tái)及目標(biāo)數(shù)據(jù)庫(kù)等問(wèn)題。
(2)公共協(xié)議/數(shù)據(jù)轉(zhuǎn)換協(xié)議技術(shù)
公共協(xié)議是異構(gòu)數(shù)據(jù)庫(kù)進(jìn)行通信時(shí)采用的公認(rèn)的數(shù)據(jù)協(xié)議,即公認(rèn)的系統(tǒng)間傳遞SQL請(qǐng)求和結(jié)果的形式。最常見的協(xié)議是ANSI/ISO的關(guān)系數(shù)據(jù)存取(RDA)標(biāo)準(zhǔn)、SGA(SQL Access Group)規(guī)范和IBM的分布式關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)(DRDA)。
數(shù)據(jù)庫(kù)網(wǎng)關(guān)相比,公共協(xié)議更具有可擴(kuò)充性和開放性,能較好地實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)的透明訪問(wèn)、支持多種網(wǎng)絡(luò)協(xié)議和多種客戶平臺(tái),是實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)互操作的有效途徑之一。
公共協(xié)議/數(shù)據(jù)轉(zhuǎn)換協(xié)議的缺點(diǎn)是協(xié)議本身的低效率帶來(lái)的速度問(wèn)題。
(3)公共編程接口
公共編程接口包括客戶應(yīng)用編程界面(CAPI)和服務(wù)器應(yīng)用編程界面(SAPI)。CAPI是一組過(guò)程庫(kù),通常駐留在客戶端,通過(guò)裝載后端專用的驅(qū)動(dòng)程序訪問(wèn)不同的數(shù)據(jù)庫(kù)。SAPI提供一個(gè)應(yīng)用編程界面,控制服務(wù)器與客戶應(yīng)用請(qǐng)求和目標(biāo)數(shù)據(jù)庫(kù)之間的交互。如Microsoft 的ODBC、Oracle的SQL*NET 以及IDAPI。其優(yōu)點(diǎn)有:由于提供了統(tǒng)一的調(diào)用級(jí)接口,使用戶免除了應(yīng)用程序隨數(shù)據(jù)庫(kù)改變而改變的痛苦;通過(guò)API可使應(yīng)用程序直接操縱數(shù)據(jù)庫(kù)中的數(shù)據(jù)。數(shù)據(jù)庫(kù)訪問(wèn)API的缺點(diǎn)是:針對(duì)每一個(gè)數(shù)據(jù)庫(kù)都需要有一個(gè)與其對(duì)應(yīng)的驅(qū)動(dòng)程序;由于不同的驅(qū)動(dòng)程序所支持的數(shù)據(jù)類型和對(duì)數(shù)據(jù)的操作都不相同,其完全透明地訪問(wèn)異構(gòu)數(shù)據(jù)庫(kù)的能力有限;實(shí)現(xiàn)效率過(guò)分依賴于驅(qū)動(dòng)程序,而驅(qū)動(dòng)程序?qū)?biāo)準(zhǔn)語(yǔ)法轉(zhuǎn)換成相應(yīng)數(shù)據(jù)庫(kù)的命令語(yǔ)法要花費(fèi)大量的時(shí)間。
(4)中間件技術(shù)(Middle Ware)
中間件是處于應(yīng)用程序及應(yīng)用程序所在系統(tǒng)的內(nèi)部工作方式之間的軟件,它的基本思想是在各后端數(shù)據(jù)源和前端應(yīng)用程序之間建立一個(gè)抽象層。把應(yīng)用程序與系統(tǒng)所依附軟件的較低層細(xì)節(jié)和復(fù)雜性隔離開來(lái),使應(yīng)用程序開發(fā)者只處理某種類型的單個(gè)API,而其他細(xì)節(jié)則可以由中間件處理。這樣就使系統(tǒng)對(duì)每個(gè)不同數(shù)據(jù)源的操作變成對(duì)單一的中間件的操作,而后再對(duì)中間件進(jìn)行異構(gòu)處理。使用中間件技術(shù)解決異構(gòu)數(shù)據(jù)庫(kù)集成的問(wèn)題,將會(huì)給系統(tǒng)集成帶來(lái)很多的好處。這是因?yàn)橹虚g件不僅能夠使得前端用戶訪問(wèn)后端的異構(gòu)數(shù)據(jù)庫(kù)實(shí)現(xiàn)透明化,并且保證了訪問(wèn)接口的開放性,這樣可以使系統(tǒng)在以后功能上的擴(kuò)展更加方便。通過(guò)中間件來(lái)訪問(wèn)數(shù)據(jù)庫(kù)的另一個(gè)好處就是所有的客戶端的請(qǐng)求都發(fā)送到了中間件上,減輕了數(shù)據(jù)庫(kù)服務(wù)器的負(fù)擔(dān),保證了數(shù)據(jù)庫(kù)服務(wù)器的性能不會(huì)降低。同時(shí),中間件的采用極大地提高了系統(tǒng)的可維護(hù)性,在系統(tǒng)內(nèi)部的某個(gè)邏輯發(fā)生變化時(shí),只要改變中間層的相應(yīng)處理程序,前臺(tái)用戶界面不需要做任何的改動(dòng),這樣就大大降低了系統(tǒng)維護(hù)的費(fèi)用。
3.2 數(shù)據(jù)結(jié)構(gòu)與語(yǔ)義級(jí)異構(gòu)互操作
目前,對(duì)于數(shù)據(jù)結(jié)構(gòu)和語(yǔ)義一級(jí)異構(gòu)的數(shù)據(jù)庫(kù)互操作的研究有緊密耦合和松散耦合兩種思想,具體體現(xiàn)于多數(shù)據(jù)庫(kù)系統(tǒng)、聯(lián)邦數(shù)據(jù)庫(kù)系統(tǒng)和分布式數(shù)據(jù)庫(kù)系統(tǒng)三種方法。
(1)多數(shù)據(jù)庫(kù)系統(tǒng)
所謂多數(shù)據(jù)庫(kù)系統(tǒng)就是一種能夠接受和容納多個(gè)異構(gòu)數(shù)據(jù)庫(kù)的系統(tǒng),允許各個(gè)異構(gòu)數(shù)據(jù)庫(kù)的“自治性”。多數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)廣義的概念,是相對(duì)于如集中式數(shù)據(jù)庫(kù)系統(tǒng)或分布式數(shù)據(jù)庫(kù)系統(tǒng)那種邏輯上具有同一管理系統(tǒng)而言的,它以多元和分布為主要特征。多元是指它多個(gè)彼此區(qū)別的集中式或分布式數(shù)據(jù)庫(kù)系統(tǒng);分布則是指數(shù)據(jù)分布在不同場(chǎng)地的數(shù)據(jù)庫(kù)系統(tǒng)中,由各自的管理系統(tǒng)進(jìn)行管理。
多數(shù)據(jù)庫(kù)技術(shù)的目標(biāo)是為在多個(gè)數(shù)據(jù)庫(kù)之間實(shí)現(xiàn)互操作,解決數(shù)據(jù)庫(kù)資源共享找到一種技術(shù)途徑。一般采用分布、異構(gòu)、自治三個(gè)特性作為尺度來(lái)刻畫多數(shù)據(jù)庫(kù)系統(tǒng)。使用這種方法,用戶需要顯式地指明所要訪問(wèn)的數(shù)據(jù)庫(kù)。多數(shù)據(jù)庫(kù)系統(tǒng)采用自下而上的方法來(lái)實(shí)現(xiàn)。
(2)分布式數(shù)據(jù)庫(kù)(Distributed Database)
分布式數(shù)據(jù)庫(kù)的基本思想是拋棄原有的數(shù)據(jù)庫(kù)系統(tǒng),在網(wǎng)絡(luò)環(huán)境下建立分布的數(shù)據(jù)庫(kù)系統(tǒng),在體系結(jié)構(gòu)、事務(wù)處理模型等方面重新設(shè)計(jì)從而解決信息共享與互操作問(wèn)題。分布式數(shù)據(jù)庫(kù)系統(tǒng)分為同質(zhì)分布式數(shù)據(jù)庫(kù)和異質(zhì)分布式數(shù)據(jù)庫(kù)。像 Oracle、Sybase、Informix 等都是同質(zhì)分布式數(shù)據(jù)庫(kù)系統(tǒng),這類系統(tǒng)的實(shí)現(xiàn)相對(duì)來(lái)說(shuō)比較容易一些。異質(zhì)分布式數(shù)據(jù)庫(kù)管理系統(tǒng)大多是在已有的一些數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)的。
(3)聯(lián)邦式數(shù)據(jù)庫(kù)(Federated Database)
聯(lián)邦式數(shù)據(jù)庫(kù)系統(tǒng)是網(wǎng)絡(luò)技術(shù)和分布式數(shù)據(jù)庫(kù)技術(shù)發(fā)展的必然結(jié)果,它是由一組能協(xié)調(diào)工作,又可以獨(dú)立自治的部件數(shù)據(jù)庫(kù)組成。它可以是原先不分布的,又可以是分布的,具有分布性、自治性、異構(gòu)性三大特性。
聯(lián)邦式數(shù)據(jù)庫(kù)與分布式數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別在于:分布式數(shù)據(jù)庫(kù)系統(tǒng)雖然在物理上是分散的,但因?yàn)橛薪y(tǒng)一的數(shù)據(jù)模型及全局?jǐn)?shù)據(jù)模式,所以它在邏輯上卻是集中的,因此用戶感覺到的是一個(gè)完整的數(shù)據(jù)庫(kù)。顯然,這種系統(tǒng)可用于某個(gè)專用領(lǐng)域的系統(tǒng),但不適于不同領(lǐng)域間的異構(gòu)系統(tǒng)的集成。相反地,聯(lián)邦式數(shù)據(jù)庫(kù)系統(tǒng)是由在不同結(jié)點(diǎn)上松散耦合分布的異構(gòu)成員數(shù)據(jù)庫(kù)構(gòu)成,各聯(lián)邦成員間的一種松散結(jié)合。構(gòu)成聯(lián)邦成員的可以是一個(gè)集中式數(shù)據(jù)庫(kù),也可以是一個(gè)分布式數(shù)據(jù)庫(kù),它們可以根據(jù)需要(按某種組合)加入聯(lián)邦或者根據(jù)需要退出聯(lián)邦。聯(lián)邦式數(shù)據(jù)庫(kù)沒(méi)有全局模式,各子系統(tǒng)(即聯(lián)邦成員)按自己的需求建立各自的數(shù)據(jù)模式。其成員之間的數(shù)據(jù)共享關(guān)系,通過(guò)由協(xié)商確定的輸入/輸出模式來(lái)建立,單個(gè)成員有權(quán)拒絕或允許其它成員結(jié)點(diǎn)對(duì)它的訪問(wèn)。因此,它能夠支持多庫(kù)系統(tǒng)的分布性、異構(gòu)性和自治性,使之產(chǎn)生滿意的集成。
異構(gòu)數(shù)據(jù)庫(kù)的互操作技術(shù)使得數(shù)據(jù)庫(kù)在原有技術(shù)領(lǐng)域發(fā)揮重要作用的同時(shí),在未來(lái)新的應(yīng)用領(lǐng)域也有著重要的影響,如地球觀測(cè)系統(tǒng) EOSDIS、電子商務(wù)、保健信息系統(tǒng)、數(shù)字出版、協(xié)同設(shè)計(jì)等領(lǐng)域。
參考文獻(xiàn)
[1] 薩師煊,王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論.北京:高等教育出版社,2000.2.
[2] 張水平, 萬(wàn)映輝等.異構(gòu)數(shù)據(jù)庫(kù)的集成與互操作. 計(jì)算機(jī)應(yīng)用研究, 2000(1).
[3] 鄭振楣, 于戈等編著.分布式數(shù)據(jù)庫(kù). 北京: 科學(xué)出版社, 1998.
[4] 劉艷梅. 基于 COM/DCOM 組件標(biāo)準(zhǔn)實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)的聯(lián)合使用: [博士學(xué)位論文]. 北京:北京理工大學(xué), 2000.
[5] 唐巍, 周俊林, 李曉. 異構(gòu)數(shù)據(jù)庫(kù)集成方法初探. 計(jì)算機(jī)應(yīng)用研究, 1999(8).
[6] 王艷君, 王運(yùn)格, 吳麗紅. 異構(gòu)數(shù)據(jù)庫(kù)間數(shù)據(jù)集成的方法. 煙臺(tái)師范學(xué)院學(xué)報(bào), 1999, Vol.15(4).
關(guān)鍵詞:數(shù)據(jù)庫(kù);網(wǎng)絡(luò)安全;網(wǎng)絡(luò)加密
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)17-21382-02
隨著計(jì)算機(jī)技術(shù)應(yīng)用的深入以及機(jī)構(gòu)對(duì)信息系統(tǒng)依賴程度的增加,越來(lái)越多的機(jī)構(gòu)將數(shù)據(jù)庫(kù)系統(tǒng)作為日常操作和決策的數(shù)據(jù)管理技術(shù),加上目前基于web應(yīng)用的普及,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)信息泄露的威脅也越來(lái)越大,因此數(shù)據(jù)安全性和隱私性問(wèn)題也越來(lái)越受到關(guān)注。數(shù)據(jù)庫(kù)技術(shù)作為數(shù)據(jù)信息的存儲(chǔ)方式, 在網(wǎng)絡(luò)服務(wù)中發(fā)揮了巨大的作用,但病毒攻擊,黑客入侵,人為安全等隨之而來(lái)產(chǎn)生了數(shù)據(jù)的安全問(wèn)題。應(yīng)用安全與網(wǎng)絡(luò)和主機(jī)安全之間雖存在很大區(qū)別,應(yīng)用也千差萬(wàn)別,但攻擊目標(biāo)是相同的,即入侵?jǐn)?shù)據(jù)庫(kù)。
對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的安全,人們往往只關(guān)注產(chǎn)品或技術(shù)上的解決辦法,經(jīng)統(tǒng)計(jì)顯示,引起數(shù)據(jù)庫(kù)系統(tǒng)不安全因素的70%是由于內(nèi)部制度或管理的不完善所造成。本文通過(guò)對(duì)數(shù)據(jù)庫(kù)運(yùn)行環(huán)境的系統(tǒng)分析,總結(jié)了數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行所涉及到的各種不安全因素,并提出了相應(yīng)的防范策略,旨在使讀者對(duì)數(shù)據(jù)庫(kù)系統(tǒng)安全有一個(gè)較為全面的了解。
1 數(shù)據(jù)庫(kù)的不安全因素
1.1 運(yùn)行環(huán)境
數(shù)據(jù)庫(kù)應(yīng)用一般采用客戶機(jī)/服務(wù)器(Client/Server)模式,即多臺(tái)客戶機(jī)共享一個(gè)數(shù)據(jù)庫(kù)服務(wù)器。在客戶機(jī)服務(wù)器結(jié)構(gòu)中,客戶機(jī)向服務(wù)器發(fā)出請(qǐng)求,服務(wù)器為客戶機(jī)提供完成這個(gè)請(qǐng)求的服務(wù)。例如,當(dāng)用戶查詢信息時(shí),客戶機(jī)將用戶的要求轉(zhuǎn)換成一個(gè)或多個(gè)標(biāo)準(zhǔn)的信息查詢請(qǐng)求,通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)發(fā)送給服務(wù)器,服務(wù)器接到客戶機(jī)的查詢請(qǐng)求后,完成相應(yīng)操作,并將查出的結(jié)果通過(guò)網(wǎng)絡(luò)回送給客戶機(jī)。數(shù)據(jù)庫(kù)系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D如圖1所示。
1.2 不安全因素分析
由數(shù)據(jù)庫(kù)系統(tǒng)的運(yùn)行環(huán)境分析,數(shù)據(jù)庫(kù)系統(tǒng)的正常運(yùn)行包括由硬件組成的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);由軟件進(jìn)行對(duì)數(shù)據(jù)庫(kù)系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)流的管理;以及日常工作中制度制定和人員的管理。它的安全性問(wèn)題相應(yīng)包含了三個(gè)方面的內(nèi)容:
(1)運(yùn)行數(shù)據(jù)庫(kù)系統(tǒng)的硬件安全性。即物理安全,包括服務(wù)器、交換機(jī)、電源等設(shè)備故障, 合理的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),電磁輻射造成的信息泄漏,水災(zāi)、火災(zāi)等環(huán)境事故,有時(shí)攻擊者通過(guò)在傳輸線路上安裝專用設(shè)備進(jìn)行竊聽或惡意攻擊。
(2)運(yùn)行數(shù)據(jù)庫(kù)系統(tǒng)的網(wǎng)絡(luò)安全性。主要指數(shù)據(jù)庫(kù)系統(tǒng)自身安全性以及數(shù)據(jù)庫(kù)所處的網(wǎng)絡(luò)環(huán)境面臨的安全風(fēng)險(xiǎn)。如病毒入侵和黑客攻擊、網(wǎng)絡(luò)操作系統(tǒng)、應(yīng)用系統(tǒng)的安全, 表現(xiàn)在開發(fā)商的Back-Door(后門)以及系統(tǒng)本身的漏洞上。
(3)運(yùn)行數(shù)據(jù)庫(kù)系統(tǒng)的管理安全性。主要包括因管理不善,培訓(xùn)不到位,制度不健全引起內(nèi)部人員泄密、有意或無(wú)意破壞,造成日常管理中出現(xiàn)安全風(fēng)險(xiǎn)。因此除了技術(shù)以外日常管理也是實(shí)現(xiàn)網(wǎng)絡(luò)安全的重要因素。
2 數(shù)據(jù)庫(kù)系統(tǒng)的安全防范策略
通過(guò)分析數(shù)據(jù)庫(kù)系統(tǒng)的不安全因素后,針對(duì)不同因素,給出數(shù)據(jù)庫(kù)系統(tǒng)安全的主要防范技術(shù)和措施。它們是相輔相承的,各層次的防范重點(diǎn)和所采取的技術(shù)手段也不盡相同,一個(gè)好的安全系統(tǒng)必須綜合考慮核運(yùn)用這些技術(shù),以保證數(shù)據(jù)的安全。
2.1 物理安全防護(hù)策略
物理安全保證重要數(shù)據(jù)免受破壞或受到災(zāi)難性破壞時(shí)及時(shí)得到恢復(fù),防止系統(tǒng)信息在空間的擴(kuò)散。在物理安全方面應(yīng)主要采取如下措施:
(1)網(wǎng)絡(luò)安全設(shè)計(jì)方案符合中華人民共和國(guó)有關(guān)網(wǎng)絡(luò)安全方面的規(guī)定。安全設(shè)計(jì)應(yīng)根據(jù)不同網(wǎng)絡(luò)、系統(tǒng)和信息要求分別采用不同的安全防護(hù)措施;
(2)建立良好的電磁兼容環(huán)境,安裝防電磁輻射產(chǎn)品,如輻射干擾機(jī);
(3)產(chǎn)品采購(gòu)、運(yùn)輸、安裝等方面的安全措施;
(4)對(duì)重要設(shè)備和系統(tǒng)設(shè)置備份系統(tǒng);
(5)數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的服務(wù)器、網(wǎng)絡(luò)設(shè)備、安全設(shè)備的安全防范,主要包括防水、防火、防靜電等。
2.2 網(wǎng)絡(luò)安全防護(hù)策略
從廣義上講,數(shù)據(jù)庫(kù)的安全首先依賴于網(wǎng)絡(luò)系統(tǒng)??梢哉f(shuō)網(wǎng)絡(luò)系統(tǒng)是數(shù)據(jù)庫(kù)應(yīng)用的外部環(huán)境和基礎(chǔ),數(shù)據(jù)庫(kù)系統(tǒng)要發(fā)揮其強(qiáng)大作用離不開網(wǎng)絡(luò)系統(tǒng)的支持,數(shù)據(jù)庫(kù)系統(tǒng)的用戶如異地用戶、分布式用戶也要通過(guò)網(wǎng)絡(luò)才能訪問(wèn)數(shù)據(jù)庫(kù)的數(shù)據(jù)。網(wǎng)絡(luò)系統(tǒng)的安全是數(shù)據(jù)庫(kù)安全的第一道屏障,外部入侵首先就是從入侵網(wǎng)絡(luò)系統(tǒng)開始的。
(1)數(shù)據(jù)庫(kù)系統(tǒng)的安全防護(hù)策略。主要表現(xiàn)在對(duì)數(shù)據(jù)的存取控制上,對(duì)不同用戶設(shè)置不同權(quán)限,限制一些用戶對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和操作,避免數(shù)據(jù)丟失或泄露。用戶口令是用戶入網(wǎng)的關(guān)鍵所在,必須經(jīng)過(guò)加密,以防止信息在網(wǎng)上傳輸時(shí)被截獲而造成密碼泄露,并給密碼加上時(shí)效性即給用戶定期更新密碼, 防止密碼泄露。數(shù)據(jù)庫(kù)使用連接緩沖機(jī)制,把本系統(tǒng)的用戶和數(shù)據(jù)庫(kù)用戶進(jìn)行隔離,即使有了一個(gè)系統(tǒng)用戶的密碼,也不能跳躍數(shù)據(jù)庫(kù)管理系統(tǒng)直接對(duì)重要數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)使用防火墻技術(shù),提高系統(tǒng)的安全性,本系統(tǒng)只允許通過(guò)特定端口來(lái)訪問(wèn),這樣可以使用防火墻技術(shù),進(jìn)行包的過(guò)濾,在系統(tǒng)設(shè)計(jì)中,充分利用不同數(shù)據(jù)庫(kù)系統(tǒng)提供的先進(jìn)與完備的安全管理措施,建立備份服務(wù)器。其中,安全服務(wù)器支持自由訪問(wèn)控制和托管訪問(wèn)控制等強(qiáng)制安全措施,設(shè)置數(shù)據(jù)庫(kù)監(jiān)聽服務(wù)器,它是可實(shí)現(xiàn)登錄安全和多層次的審計(jì)控制,并支持用戶有效性驗(yàn)證和與場(chǎng)地有關(guān)的加密算法。
(2)防火墻技術(shù)。防火墻是一個(gè)或一組在兩個(gè)網(wǎng)絡(luò)之間執(zhí)行訪問(wèn)控制策略的系統(tǒng),包括硬件和軟件。防火墻的主要功能是攔截來(lái)自外部的非法訪問(wèn)并阻止內(nèi)部信息的外泄,由軟件和硬件組成的防火墻應(yīng)具備:a)所有進(jìn)出網(wǎng)絡(luò)的通信流都應(yīng)該通過(guò)防火墻;b)所有穿過(guò)防火墻的通信流都必須有安全策略和計(jì)劃的確認(rèn)和授權(quán);c)理論上說(shuō),防火墻是穿不透的。但它無(wú)法阻攔來(lái)自網(wǎng)絡(luò)內(nèi)部的非法操作。防火墻技術(shù)主要有三種;數(shù)據(jù)包過(guò)濾器(packet filter)、(proxy)和狀態(tài)分析(stateful inspection)?,F(xiàn)代防火墻產(chǎn)品通?;旌鲜褂眠@幾種技術(shù)。事實(shí)上,在Internet上的網(wǎng)站中,超過(guò)三分之一的網(wǎng)站都是由某種形式的防火墻加以保護(hù),這是對(duì)黑客防范最嚴(yán),安全性較強(qiáng)的一種方式,任何關(guān)鍵性的服務(wù)器,都建議放在防火墻之后。市場(chǎng)上的防火墻有以軟件形式運(yùn)行在普通計(jì)算機(jī)之上的,也有以固件形式設(shè)計(jì)在路由器之中的。防火墻技術(shù)應(yīng)用于網(wǎng)絡(luò)拓?fù)渲腥鐖D2所示。
(3)網(wǎng)絡(luò)防病毒技術(shù)。對(duì)于復(fù)雜的系統(tǒng),其錯(cuò)誤和漏洞是難以避免的,病毒就是利用系統(tǒng)中的漏洞,進(jìn)行網(wǎng)絡(luò)攻擊或信息竊取,構(gòu)成對(duì)網(wǎng)絡(luò)安全的巨大威脅。因此,我們必須嚴(yán)防計(jì)算機(jī)病毒對(duì)網(wǎng)絡(luò)的侵襲。管理上加強(qiáng)對(duì)工作站和服務(wù)器操作的要求,防止病毒從工作站侵入技術(shù)上可以采取無(wú)盤工作站、帶防病毒芯片的網(wǎng)卡、網(wǎng)絡(luò)防病毒軟件,設(shè)立網(wǎng)絡(luò)防毒系統(tǒng)和配備專用病毒免疫程序來(lái)進(jìn)行預(yù)防,采用多重技術(shù),互為補(bǔ)充。
(4)入侵檢測(cè)(Intrusion Detection System)。入侵檢測(cè)作為一種積極主動(dòng)地安全防護(hù)技術(shù),提供了對(duì)內(nèi)部攻擊、外部攻擊和誤操作的實(shí)時(shí)保護(hù),在網(wǎng)絡(luò)系統(tǒng)受到危害之前攔截和響應(yīng)入侵。入侵檢測(cè)是近年來(lái)發(fā)展起來(lái)的一種防范技術(shù),綜合采用了統(tǒng)計(jì)技術(shù)、規(guī)則方法、網(wǎng)絡(luò)通信技術(shù)、人工智能、密碼學(xué)、推理等技術(shù)和方法,對(duì)各種事件進(jìn)行分析,從中發(fā)現(xiàn)違反安全策略的行為是入侵檢測(cè)系統(tǒng)的核心功能。作為計(jì)算機(jī)系統(tǒng)的安全而設(shè)計(jì)與配置的一種能夠及時(shí)發(fā)現(xiàn)并報(bào)告系統(tǒng)中未授權(quán)或異?,F(xiàn)象的技術(shù),系統(tǒng)已經(jīng)成為安全防御系統(tǒng)的重要組成部分。在網(wǎng)絡(luò)中同時(shí)采用基于網(wǎng)絡(luò)和基于主機(jī)的入侵檢測(cè)系統(tǒng),則會(huì)構(gòu)架成一套完整立體的主動(dòng)防御體系。
(5)網(wǎng)絡(luò)加密技術(shù)。采用網(wǎng)絡(luò)加密技術(shù),可實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)谋C苄浴⑼暾?。它可解決網(wǎng)絡(luò)在公網(wǎng)的數(shù)據(jù)傳輸安全性問(wèn)題,也可解決遠(yuǎn)程用戶訪問(wèn)內(nèi)網(wǎng)的安全問(wèn)題。加密技術(shù)主要分為數(shù)據(jù)傳輸、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)完整性的鑒別以及密鑰管理技術(shù)四種。實(shí)現(xiàn)對(duì)傳輸中的數(shù)據(jù)流加密,預(yù)防在存儲(chǔ)環(huán)節(jié)上的數(shù)據(jù)失密,并對(duì)介入信息的傳送、存取、處理人的身份和相關(guān)數(shù)據(jù)內(nèi)容進(jìn)行驗(yàn)證,防止非法用戶存取數(shù)據(jù)或合法用戶越權(quán)存取數(shù)據(jù)。
2.3 管理安全防護(hù)策略
網(wǎng)絡(luò)的使用與維護(hù),數(shù)據(jù)庫(kù)系統(tǒng)的安全運(yùn)行,歸根結(jié)底都離不開人,所以要時(shí)刻加強(qiáng)對(duì)操作人員的管理與培訓(xùn)。根據(jù)國(guó)家、行業(yè)等相關(guān)標(biāo)準(zhǔn),結(jié)合實(shí)際機(jī)房、硬件、軟件、數(shù)據(jù)和網(wǎng)絡(luò)等各個(gè)方面的安全問(wèn)題,制定切實(shí)可行的規(guī)章制度對(duì)操作人員進(jìn)行培訓(xùn),提高技術(shù)水平,對(duì)系統(tǒng)進(jìn)行及時(shí)的升級(jí)并利用最新的軟件工具制定、分配、實(shí)施和審核安全策略加強(qiáng)內(nèi)部管理, 建立審計(jì)和跟蹤體系,提高整體信息安全意識(shí)進(jìn)行安全宣傳教育。對(duì)操作人員結(jié)合機(jī)房、硬件、軟件、數(shù)據(jù)和網(wǎng)絡(luò)等各個(gè)方面的安全問(wèn)題進(jìn)行安全教育,嚴(yán)格執(zhí)行操作規(guī)章,提高操作人員責(zé)任心。
3 結(jié)論
保障數(shù)據(jù)庫(kù)系統(tǒng)安全,不僅涉及應(yīng)用技術(shù),還包括管理等層面上的問(wèn)題,是各個(gè)防范措施綜合應(yīng)用的結(jié)果,是物理安全、網(wǎng)絡(luò)安全、管理安全等方面的防范策略有效的結(jié)合。在具體實(shí)施時(shí),應(yīng)根據(jù)具體情況、環(huán)境和需求,因地制宜進(jìn)行分析,采取相應(yīng)有效措施保護(hù)數(shù)據(jù)庫(kù)系統(tǒng)乃至整個(gè)網(wǎng)絡(luò)系統(tǒng)的安全。
隨著數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的攻擊方式也在不斷改變,數(shù)據(jù)庫(kù)系統(tǒng)的安全和維護(hù)工作,也應(yīng)該根據(jù)自身需求,跟隨技術(shù)和管理的發(fā)展而合理升級(jí)、更新。因此,針對(duì)數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行中不安全因素,應(yīng)該時(shí)刻關(guān)注安全技術(shù)的發(fā)展,對(duì)安全防范系統(tǒng)進(jìn)行必要升級(jí),保障數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行安全。
參考文獻(xiàn):
[1] 王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].4版.北京:高等教育出版社,2006.
[2] 周學(xué)廣,劉藝.信息安全學(xué)[M].北京:機(jī)械工業(yè)出版社,2003.
[3] 楊方燕.數(shù)據(jù)庫(kù)系統(tǒng)安全保密技術(shù)探討[J].計(jì)算機(jī)科學(xué)與技術(shù),2006,24(6):51-53.