緒論:寫作既是個(gè)人情感的抒發(fā),也是對(duì)學(xué)術(shù)真理的探索,歡迎閱讀由發(fā)表云整理的11篇數(shù)據(jù)庫(kù)論文范文,希望它們能為您的寫作提供參考和啟發(fā)。
1調(diào)查情況介紹
為了配合中國(guó)高等教育文獻(xiàn)保障系統(tǒng)(CALIS)“十五”期間的建設(shè)和中國(guó)高等學(xué)校數(shù)字圖書館聯(lián)盟(CADLA,下稱聯(lián)盟)工作的開展,2002年4月,CALIS在成員館中間發(fā)放了《數(shù)字圖書館建設(shè)情況調(diào)查表》;2002年5月和6月在聯(lián)盟理事館(注:目前中國(guó)高等學(xué)校數(shù)字圖書館聯(lián)盟理事館都是CALIS成員館。)中間發(fā)放了《學(xué)位論文數(shù)據(jù)庫(kù)建設(shè)情況調(diào)查表》和《教學(xué)參考書數(shù)據(jù)庫(kù)情況調(diào)查表》。
截至2002年6月30日,共回收《數(shù)字圖書館建設(shè)情況調(diào)查表》89份,其中書面報(bào)告22份,電子版報(bào)告67份。這些調(diào)查報(bào)告中有29份來自綜合性院校,34份來自工科院校,9份來自人文社會(huì)科學(xué)類院校,來自其他專業(yè)性院校,如醫(yī)學(xué)類院校、農(nóng)林院校和師范類院校的報(bào)告分別為5份、4份和6份。圖1給出對(duì)提交調(diào)查報(bào)告的學(xué)校按地區(qū)進(jìn)行統(tǒng)計(jì)得到的結(jié)果。根據(jù)統(tǒng)計(jì)數(shù)字和圖表可以看到,此次在CALIS成員館中進(jìn)行的數(shù)字圖書館建設(shè)情況調(diào)查具有一定的代表性,比較全面地反映了高校數(shù)字圖書館建設(shè)的整體情況。
圖1提交調(diào)查報(bào)告的學(xué)校按地區(qū)統(tǒng)計(jì)的結(jié)果
對(duì)于在22個(gè)聯(lián)盟理事館中間進(jìn)行的“學(xué)位論文數(shù)據(jù)庫(kù)建設(shè)情況”和“教學(xué)參考書數(shù)據(jù)庫(kù)情況”重點(diǎn)調(diào)研,各單位均及時(shí)對(duì)調(diào)查內(nèi)容進(jìn)行了反饋。
針對(duì)上面的三份調(diào)查,本文第二部分從幾個(gè)主要方面對(duì)各成員館數(shù)字圖書館建設(shè)情況進(jìn)行了分析總結(jié);第三部分給出CALIS在“十五”期間將要建設(shè)的兩個(gè)子項(xiàng)目“高校學(xué)位論文全文數(shù)據(jù)庫(kù)”和“教學(xué)參考書數(shù)據(jù)庫(kù)”在成員館中間開展的情況;最后對(duì)目前成員館數(shù)字圖書館建設(shè)中急需解決的主要問題進(jìn)行匯總。
2整體分析
通過CALIS的宣傳和培訓(xùn),大部分成員館意識(shí)到開展數(shù)字圖書館建設(shè)的必要性和重要性。調(diào)查結(jié)果顯示,在2000年前后成員館根據(jù)各自對(duì)數(shù)字圖書館的理解、現(xiàn)有基礎(chǔ)、階段性工作重點(diǎn)、人員情況,開始從專業(yè)性或校園范圍的文獻(xiàn)信息保障體系、數(shù)字圖書館應(yīng)用系統(tǒng)、數(shù)字資源、基礎(chǔ)設(shè)施等各方面進(jìn)行建設(shè),全面推動(dòng)圖書館向電子化、數(shù)字化方面發(fā)展,并在資金投入力度方面予以重視。
2.1專業(yè)性、校園范圍的文獻(xiàn)保障體系
眾所周知,CALIS在“九五”期間建設(shè)了三級(jí)文獻(xiàn)信息保障體系。四個(gè)全國(guó)中心、七個(gè)地區(qū)中心分別構(gòu)成文獻(xiàn)信息保障體系的第一級(jí)和第二級(jí),在全國(guó)和地區(qū)范圍內(nèi)行使文獻(xiàn)信息保障功能。但是由于人力、物力、財(cái)力的原因,這些中心還不能滿足所有高校圖書館和用戶的全部需要。根據(jù)本次調(diào)查的結(jié)果,目前有10個(gè)學(xué)校正在開展專業(yè)性或校園范圍內(nèi)的文獻(xiàn)信息保障系統(tǒng)建設(shè)。其中北京師范大學(xué)圖書館正在構(gòu)造有一定規(guī)模的“中文教育數(shù)字圖書館”,將分布于國(guó)內(nèi)外的中文教育資源納入統(tǒng)一的檢索系統(tǒng);上海財(cái)經(jīng)大學(xué)圖書館在數(shù)字圖書館理念以及相應(yīng)的管理機(jī)制等方面進(jìn)行了研究與實(shí)踐,提出了建設(shè)“財(cái)經(jīng)文獻(xiàn)資源信息中心”的設(shè)想;電子科技大學(xué)圖書館“西南地區(qū)電子信息學(xué)科與文獻(xiàn)信息中心”的建設(shè)已具雛形;首都師范大學(xué)圖書館和北京工業(yè)大學(xué)圖書館受北京市教委的委托籌建了“北京高校網(wǎng)絡(luò)圖書館”;內(nèi)蒙古大學(xué)圖書館“多功能蒙古學(xué)文獻(xiàn)信息研制服務(wù)中心”的建設(shè)頗具民族特色;安徽大學(xué)、北京理工大學(xué)、大連海事大學(xué)、福州大學(xué)、哈爾濱工業(yè)大學(xué)的圖書館,依托校園網(wǎng)建立與本校學(xué)科發(fā)展、人才培養(yǎng)相配套的,以信息服務(wù)為重心的全方位、多層次、高效率的文獻(xiàn)信息服務(wù)體系。
2.2數(shù)字圖書館應(yīng)用系統(tǒng)
考慮圖書館的工作特點(diǎn),針對(duì)圖書館的需要,研究和開發(fā)數(shù)字圖書館建設(shè)中急需的各種應(yīng)用系統(tǒng),已經(jīng)被列入各成員館的計(jì)劃中。本次調(diào)查發(fā)現(xiàn)有16個(gè)圖書館正在應(yīng)用系統(tǒng)方面進(jìn)行技術(shù)攻關(guān)。其中開展數(shù)字圖書館原型試驗(yàn)系統(tǒng)研發(fā)的學(xué)校主要有北京大學(xué)、復(fù)旦大學(xué)、西安交通大學(xué)、廈門大學(xué)、中山大學(xué)、武漢大學(xué)等高校的圖書館,這些圖書館研制的內(nèi)容包括數(shù)字圖書館體系結(jié)構(gòu)、元數(shù)據(jù)、信息存儲(chǔ)與檢索、互操作等相關(guān)技術(shù)與解決方案;上海交通大學(xué)、北京大學(xué)、北京航空航天大學(xué)等10余所高校圖書館開發(fā)了“視頻點(diǎn)播系統(tǒng)”,采用大容量存儲(chǔ)設(shè)備存儲(chǔ)多媒體資料在校園網(wǎng)內(nèi)提供多媒體視頻、音頻資料的網(wǎng)上實(shí)時(shí)點(diǎn)播;復(fù)旦大學(xué)圖書館正在開發(fā)“圖書館電子資源跨平臺(tái)檢索系統(tǒng)”,實(shí)現(xiàn)統(tǒng)一界面查詢,讀者可以通過書刊名、文章名、關(guān)鍵詞、著者、媒介類型、數(shù)據(jù)來源等檢索項(xiàng)(包括組合檢索項(xiàng)),查詢系統(tǒng)連接的各個(gè)數(shù)據(jù)庫(kù);天津大學(xué)、廈門大學(xué)、西北師范大學(xué)等7所高校圖書館專門成立了“特色資源數(shù)字化加工中心”,開展紙本文獻(xiàn)數(shù)字化、多媒體資源加工、電子剪報(bào)、數(shù)據(jù)庫(kù)制作的相關(guān)硬件環(huán)境設(shè)備建設(shè)及軟件支撐平臺(tái)建設(shè),形成數(shù)字化資源的收集、加工、分類標(biāo)引、整合、、更新、維護(hù)等的完整系統(tǒng);電子科技大學(xué)圖書館開發(fā)了“專題數(shù)據(jù)庫(kù)系統(tǒng)”,為圖書館的數(shù)據(jù)庫(kù)建設(shè)提供平臺(tái),包括開發(fā)、分類、全文檢索、遠(yuǎn)程查詢、科學(xué)管理和升級(jí)等功能,能全面、準(zhǔn)確、高效地達(dá)到網(wǎng)絡(luò)化數(shù)據(jù)庫(kù)系統(tǒng)的應(yīng)用標(biāo)準(zhǔn);吉林大學(xué)、中國(guó)人民大學(xué)圖書館利用相關(guān)技術(shù),建立了標(biāo)準(zhǔn)化的知識(shí)服務(wù)系統(tǒng)平臺(tái),開發(fā)了“服務(wù)子系統(tǒng)”,為用戶提供個(gè)性化服務(wù),包括信息定制、協(xié)作咨詢、知識(shí)挖掘、多媒體教學(xué)、VOD點(diǎn)播、重點(diǎn)學(xué)科導(dǎo)航等;西安交通大學(xué)圖書館正在集中力量,依托CALIS西北地區(qū)中心搭建一個(gè)統(tǒng)一的軟硬件平臺(tái),建設(shè)地區(qū)性數(shù)字資源中心、數(shù)字化中心、存儲(chǔ)中心、交換中心以及數(shù)字圖書館研究與開發(fā)中心,為用戶提供集成化的智能服務(wù)。
2.3數(shù)字資源建設(shè)
資源建設(shè)是數(shù)字圖書館建設(shè)的基礎(chǔ),也是各館開展數(shù)字圖書館嘗試的主要選擇。“九五”期間在CALIS的宏觀調(diào)控和統(tǒng)一規(guī)劃下,一方面,各館大幅度增加電子文獻(xiàn)的引進(jìn),以網(wǎng)絡(luò)版數(shù)據(jù)庫(kù)為主,并引進(jìn)部分光盤數(shù)據(jù)庫(kù);另一方面,各館在自建資源方面取得了很大的突破,CALIS組織成員館共同建設(shè)了聯(lián)合目錄數(shù)據(jù)庫(kù)、中文現(xiàn)刊目次庫(kù)、學(xué)位論文文摘庫(kù)等數(shù)據(jù)庫(kù)。在提交調(diào)查報(bào)告的89所圖書館中,85%以上的圖書館參與了CALIS“九五”期間的子項(xiàng)目建設(shè),在支持CALIS資源建設(shè)工作的同時(shí)推動(dòng)本館的數(shù)字化進(jìn)程,起到了事半功倍的效果。
與此同時(shí),CALIS有選擇性地支持24個(gè)單位根據(jù)本館的特色館藏、資源特性,在網(wǎng)絡(luò)環(huán)境下建立特色館藏,逐步把有價(jià)值的特色信息資源組織起來,建設(shè)成CALIS重點(diǎn)學(xué)科專題數(shù)據(jù)庫(kù),以便比較集中、更深層次地揭示各高校收集的富有學(xué)科特色的文獻(xiàn)。目前CALIS重點(diǎn)學(xué)科專題數(shù)據(jù)庫(kù)包括24家成員館建成的25個(gè)重點(diǎn)學(xué)科專題數(shù)據(jù)庫(kù),數(shù)據(jù)量已達(dá)280萬條以上,通過因特網(wǎng)進(jìn)行服務(wù),實(shí)現(xiàn)資源共享。
在CALIS的帶動(dòng)下,在24家成員館的示范作用下,為了更好地滿足本校教學(xué)科研的需要,其他的CALIS成員館紛紛開展本館特色資源的調(diào)研、論證和建設(shè)工作。本次調(diào)查統(tǒng)計(jì)結(jié)果顯示,目前正在進(jìn)行數(shù)據(jù)庫(kù)建設(shè)的CALIS成員館有74所,每個(gè)館根據(jù)各自的條件和實(shí)力,或者百花齊放,如中山大學(xué)、西安交通大學(xué)、上海交通大學(xué)等17所高校圖書館同時(shí)進(jìn)行幾個(gè)數(shù)據(jù)庫(kù)的建設(shè);或者一支獨(dú)秀,在數(shù)據(jù)庫(kù)建設(shè)的質(zhì)量上下功夫。
成員館自建的這些數(shù)據(jù)庫(kù)圍繞著CALIS制定的“建設(shè)具有中國(guó)特色、地區(qū)特色和高等教育特色的專題數(shù)據(jù)庫(kù)”的原則,或者對(duì)館藏特色文獻(xiàn)數(shù)字化,或者做某個(gè)學(xué)科或?qū)n}的數(shù)字資源建設(shè)工作,比較系統(tǒng)全面地對(duì)某個(gè)專題進(jìn)行綜合報(bào)道。數(shù)據(jù)庫(kù)各具特色,有的體現(xiàn)中國(guó)文化淵源歷史,有的介紹人物生平、業(yè)績(jī)、著作,有的針對(duì)某個(gè)學(xué)科或?qū)I(yè)做全面的介紹,有的展現(xiàn)科技動(dòng)態(tài)。數(shù)據(jù)庫(kù)形式多樣,包括圖象、文字、解說、全文和文摘,具有學(xué)科知識(shí)數(shù)據(jù)庫(kù)的特點(diǎn)。揭示的內(nèi)容比普通二次文獻(xiàn)庫(kù)要深,豐富了高校資源。數(shù)據(jù)庫(kù)內(nèi)容豐富,包含中外文期刊、會(huì)議論文、專利文獻(xiàn)、產(chǎn)品、事實(shí)數(shù)據(jù)、研究機(jī)構(gòu)信息,或集各種信息于一體。有的數(shù)據(jù)庫(kù)具備良好的檢索系統(tǒng),提供WEB界面的查詢,有些還使用全文檢索系統(tǒng)和多媒體系統(tǒng),可提供全文、關(guān)鍵詞、題名、出處、文摘等多檢索點(diǎn)檢索;為配合學(xué)校的教學(xué)和科研,為推廣高校科學(xué)技術(shù)成果,展示廣大科研人員的勞動(dòng)成果和聰明才智,給廣大讀者提供豐富的有價(jià)值的科研資料做出了積極的貢獻(xiàn),彌補(bǔ)了圖書館經(jīng)費(fèi)緊缺造成的紙本資源的不足,為高校數(shù)字圖書館的工作積累了豐富的經(jīng)驗(yàn)和技術(shù)。
2.4基礎(chǔ)設(shè)施建設(shè)
基礎(chǔ)設(shè)施建設(shè)是各館進(jìn)行數(shù)字圖書館建設(shè)的一個(gè)重要部分。調(diào)查發(fā)現(xiàn),有28所圖書館正在從基礎(chǔ)設(shè)施建設(shè)入手,創(chuàng)造數(shù)字圖書館的基本環(huán)境。其中22所圖書館對(duì)本館的自動(dòng)化和網(wǎng)絡(luò)系統(tǒng)進(jìn)行了升級(jí)與改造,旨在建立先進(jìn)可靠的高速信息網(wǎng)絡(luò)系統(tǒng),建設(shè)先進(jìn)的圖書館集成管理系統(tǒng),實(shí)現(xiàn)圖書館日常業(yè)務(wù)科學(xué)全面的自動(dòng)化管理,為國(guó)內(nèi)外資源共享提供環(huán)境;9所學(xué)校建設(shè)了多功能電子閱覽室、多媒體教學(xué)、網(wǎng)絡(luò)培訓(xùn)教室,提升了圖書館的開發(fā)和應(yīng)用能力,為師生提供多媒體信息服務(wù);北京理工大學(xué)、北京化工大學(xué)等4所院校還斥資數(shù)千萬建設(shè)了新館舍,給師生提供了舒適的教學(xué)科研環(huán)境。
2.5資金支持
《數(shù)字圖書館建設(shè)情況調(diào)查表》中還包括對(duì)各個(gè)學(xué)校用于數(shù)字圖書館建設(shè)的資金額度及其來源的調(diào)查。調(diào)查結(jié)果顯示各成員館數(shù)字圖書館的建設(shè)資金分別來源于“211工程”建設(shè)經(jīng)費(fèi)“985”工程,國(guó)家“教育振興行動(dòng)計(jì)劃”,國(guó)家和省級(jí)自然科學(xué)基金,各省市教委、學(xué)校的專項(xiàng)撥款,與企業(yè)共建,捐助,圖書館年運(yùn)作經(jīng)費(fèi),學(xué)校自籌等10多個(gè)方面。由此可見圖書館動(dòng)用了所有力量,通過各種渠道支持?jǐn)?shù)字圖書館建設(shè)。小到學(xué)校,大到國(guó)家,建設(shè)數(shù)字圖書館的意識(shí)都明顯增強(qiáng),對(duì)此投入的資金大幅度增加,部分學(xué)校得到的數(shù)字圖書館建設(shè)的資金更是令人可喜。表1將各館數(shù)字圖書館經(jīng)費(fèi)情況按幾個(gè)等級(jí)進(jìn)行了統(tǒng)計(jì)。需要說明的是有17個(gè)學(xué)校未對(duì)數(shù)字圖書館資金的投入進(jìn)行說明,無法進(jìn)行統(tǒng)計(jì)。對(duì)72個(gè)成員館的統(tǒng)計(jì)結(jié)果顯示,38.9%的學(xué)校數(shù)字圖書館建設(shè)的資金額度大于100萬,其中有8.3%的高校十分重視數(shù)字圖書館的建設(shè),投入了數(shù)千萬資金支持?jǐn)?shù)字圖書館的建設(shè),但是,我們還應(yīng)該看到,有超過一半的圖書館用于數(shù)字圖書館建設(shè)的資金小于10萬,無力開展規(guī)模性的、目的明確的數(shù)字圖書館建設(shè)活動(dòng)。“十五”期間,為了在更大范圍內(nèi)共建、共知、共享,CALIS任重道遠(yuǎn)。
表1數(shù)字圖書館建設(shè)資金狀況統(tǒng)計(jì)
3重點(diǎn)調(diào)研
下面根據(jù)聯(lián)盟理事館對(duì)《學(xué)位論文數(shù)據(jù)庫(kù)建設(shè)情況調(diào)查表》和《教學(xué)參考書數(shù)據(jù)庫(kù)情況調(diào)查表》的反饋意見,綜合CALIS成員館對(duì)《數(shù)字圖書館建設(shè)情況調(diào)查表》的反饋意見,對(duì)CALIS成員館“學(xué)位論文數(shù)據(jù)庫(kù)”和“教學(xué)參考數(shù)據(jù)庫(kù)”的建設(shè)情況進(jìn)行分析。
3.1學(xué)位論文全文數(shù)據(jù)庫(kù)建設(shè)
“高校學(xué)位論文文摘數(shù)據(jù)庫(kù)”是CALIS“九五”建設(shè)的一項(xiàng)重要成果,是高校間開展文獻(xiàn)傳遞的重要基礎(chǔ)數(shù)據(jù)庫(kù)之一。“九五”期間共有90余所成員館參與了CALIS學(xué)位論文文摘數(shù)據(jù)庫(kù)的建設(shè),學(xué)位論文文摘數(shù)據(jù)提交量已經(jīng)達(dá)到10萬條。由于學(xué)位論文內(nèi)容豐富、新穎、情報(bào)價(jià)值高,對(duì)某一專題有獨(dú)到的見解和系統(tǒng)論述,對(duì)科研和生產(chǎn)有較大參考價(jià)值,讀者需求呈上升趨勢(shì),為此,“十五”期間,CALIS將在該庫(kù)的基礎(chǔ)上進(jìn)一步建設(shè)“高校學(xué)位論文全文數(shù)據(jù)庫(kù)”,全面實(shí)現(xiàn)博、碩士學(xué)位論文資源的共享。根據(jù)《數(shù)字圖書館建設(shè)調(diào)查》和《高校學(xué)位論文全文數(shù)據(jù)庫(kù)建設(shè)調(diào)查》的統(tǒng)計(jì)結(jié)果,CALIS成員館中有29家開展了學(xué)位論文全文數(shù)據(jù)庫(kù)的籌備和建設(shè)工作,其中13家來自聯(lián)盟理事館;目前這些學(xué)校學(xué)位論文的全文數(shù)據(jù)加起來有18100條,主要采用WORD和PDF格式保存,也有個(gè)別學(xué)校采用JPG格式和DJVU格式;其中北京大學(xué)、上海交通大學(xué)和東南大學(xué)圖書館學(xué)位論文建設(shè)工作開展較早,可以追溯到1996年;北京大學(xué)、清華大學(xué)和西安交通大學(xué)圖書館數(shù)據(jù)庫(kù)建設(shè)規(guī)模較大,有超過5000條的全文數(shù)據(jù);已經(jīng)具有學(xué)位論文數(shù)據(jù)庫(kù)提交系統(tǒng)的學(xué)校有11個(gè),其中北京大學(xué)、清華大學(xué)等圖書館的系統(tǒng)已經(jīng)比較成熟,不僅具有學(xué)位論文提交系統(tǒng),而且同時(shí)開發(fā)了學(xué)位論文檢索系統(tǒng),并考慮了學(xué)位論文的編目、校驗(yàn)、統(tǒng)計(jì),設(shè)計(jì)了學(xué)位論文管理系統(tǒng);目前北京大學(xué)和西安交通大學(xué)圖書館的學(xué)位論文數(shù)據(jù)庫(kù)系統(tǒng)是開放的,讀者可以檢索到摘要級(jí),其他學(xué)校的學(xué)位論文系統(tǒng)有的要進(jìn)行用戶認(rèn)證,有的通過IP限制訪問;對(duì)于學(xué)位論文的版權(quán)問題,各個(gè)學(xué)校還沒有很好的解決方案。比較實(shí)際的解決方法是和論文作者簽署論文使用協(xié)議,限于校園網(wǎng)使用。成員館的上述工作為“十五”期間CALIS學(xué)位論文全文數(shù)據(jù)庫(kù)的建設(shè)提供了很好的基礎(chǔ)。2002年5月底,CALIS管理中心邀請(qǐng)?jiān)趯W(xué)位論文建設(shè)方面有一定基礎(chǔ)的15個(gè)聯(lián)盟理事館召開了“高校學(xué)位論文全文數(shù)據(jù)庫(kù)建設(shè)工作研討會(huì)”。會(huì)議統(tǒng)一了對(duì)高校學(xué)位論文全文數(shù)據(jù)庫(kù)建設(shè)的認(rèn)識(shí),明確了高校學(xué)位論文全文數(shù)據(jù)庫(kù)建設(shè)的指導(dǎo)思想為在統(tǒng)一的建庫(kù)標(biāo)準(zhǔn)規(guī)范下,實(shí)現(xiàn)共建、共享。會(huì)上大家總結(jié)出學(xué)位論文建設(shè)的主要環(huán)節(jié)包括總體工作流程、標(biāo)準(zhǔn)規(guī)范、論文提交、應(yīng)用系統(tǒng)、管理與版權(quán)等。會(huì)后,CALIS管理中心根據(jù)各成員館的意見,整理了《高校學(xué)位論文全文數(shù)據(jù)庫(kù)建設(shè)參考》,為其他準(zhǔn)備開展學(xué)位論文全文數(shù)據(jù)庫(kù)建設(shè)的學(xué)校提供參考,加快高校特色資源共建共享的進(jìn)程。北京大學(xué)、清華大學(xué)、武漢大學(xué)、西安交通大學(xué)、廈門大學(xué)、東南大學(xué)等學(xué)校還表示愿意根據(jù)會(huì)議精神,在對(duì)各自的應(yīng)用系統(tǒng)進(jìn)行修改后,盡快向兄弟院校免費(fèi)提供。與此同時(shí),大家還認(rèn)同了將CALIS學(xué)位論文全文數(shù)據(jù)庫(kù)設(shè)計(jì)為“集中索引、分布式存儲(chǔ)”的數(shù)據(jù)庫(kù)的思路。
3.2教學(xué)參考書數(shù)據(jù)庫(kù)建設(shè)
CALIS管理中心充分意識(shí)到,建設(shè)教學(xué)參考書數(shù)據(jù)庫(kù),對(duì)高校的公共基礎(chǔ)課、專業(yè)基礎(chǔ)課和一部分精選專業(yè)課的教學(xué)參考書提供上網(wǎng)服務(wù),可以滿足教育事業(yè)發(fā)展的需要,有效地解決各校教參復(fù)本量少的問題,在“十五”期間將“教學(xué)參考書數(shù)據(jù)庫(kù)”建設(shè)提到了議事日程上來。
根據(jù)《數(shù)字圖書館建設(shè)情況調(diào)查表》和《教學(xué)參考書數(shù)據(jù)庫(kù)情況調(diào)查表》反饋的結(jié)果,目前CALIS成員館教學(xué)參考書數(shù)據(jù)庫(kù)建設(shè)基本的情況是:14個(gè)學(xué)校已經(jīng)建有一定規(guī)模的教學(xué)參考書數(shù)據(jù)庫(kù),另有11個(gè)學(xué)校開始籌劃;其中教參數(shù)據(jù)庫(kù)建庫(kù)時(shí)間最早的是中國(guó)人民大學(xué)圖書館,始于1996年;北京大學(xué)圖書館1999年開始建庫(kù);包括復(fù)旦大學(xué)、清華大學(xué)圖書館在內(nèi)的8所高校圖書館從2000年開始建庫(kù);其他的圖書館是在近一年里才開始和計(jì)劃進(jìn)行教學(xué)參考書數(shù)據(jù)庫(kù)的建設(shè);這些學(xué)校的教學(xué)參考書書目數(shù)據(jù)量加在一起有49500條,全文數(shù)據(jù)有5100條,其中復(fù)旦大學(xué)的書目數(shù)據(jù)量最多,已達(dá)26,500條,中國(guó)人民大學(xué)的全文數(shù)據(jù)最多,有3000條;對(duì)于教學(xué)參考書數(shù)據(jù)庫(kù)系統(tǒng),有7所圖書館使用TRS全文數(shù)據(jù)庫(kù)進(jìn)行二次開發(fā),有3所圖書館采用快葳公司的DIPS系統(tǒng),2所圖書館館使用方正Apabi系統(tǒng);選擇MARC做為教參元數(shù)據(jù)進(jìn)行著錄的有5家,選擇DC做元數(shù)據(jù)的有3家;對(duì)于全文,一般采用WORD和PDF格式;對(duì)于版權(quán)問題,中國(guó)人民大學(xué)、西安交通大學(xué)、中國(guó)科技大學(xué)圖書館目前的解決辦法是限于校園網(wǎng)使用,其中中國(guó)人民大學(xué)圖書館已經(jīng)開始對(duì)教師著作征詢版權(quán),清華大學(xué)和上海交通大學(xué)圖書館目前的政策是部分解決版權(quán),同時(shí)結(jié)合訪問控制,北京大學(xué)圖書館、復(fù)旦大學(xué)圖書館正在考慮和專業(yè)公司合作,全面解決版權(quán);目前在主頁上有教學(xué)參考書項(xiàng)目鏈接的圖書館,有上海交通大學(xué)、復(fù)旦大學(xué)和廈門大學(xué),其中復(fù)旦大學(xué)圖書館的檢索系統(tǒng)可以對(duì)外提供服務(wù),非校園網(wǎng)用戶可以瀏覽到書目級(jí)。
CALIS在6月中旬邀請(qǐng)22家中國(guó)高等學(xué)校數(shù)字圖書館聯(lián)盟理事單位召開了“教學(xué)參考書數(shù)據(jù)庫(kù)建設(shè)研討會(huì)”。會(huì)上,大家根據(jù)各自的工作經(jīng)驗(yàn)對(duì)CALIS將在“十五”期間進(jìn)行的教學(xué)參考書數(shù)據(jù)庫(kù)的建設(shè)工作提出了很好的建議:(1)標(biāo)準(zhǔn)規(guī)范方面:希望CALIS在標(biāo)準(zhǔn)、系統(tǒng)等方面提出方案與要求。(2)建設(shè)內(nèi)容:在學(xué)科上有所側(cè)重和分工。(3)版權(quán)問題:提出統(tǒng)一的版權(quán)解決方案。(4)管理方面:以211工程或CALIS名義,請(qǐng)學(xué)校教務(wù)部門將教參書的收集納入教務(wù)管理工作,以保證教參考書的權(quán)威性和新穎性。(5)建設(shè)方式:由CALIS組織購(gòu)買一批有版權(quán)的電子參考書,同時(shí)在CALIS協(xié)調(diào)下,由部分高校分工建設(shè),共享數(shù)據(jù),成本分?jǐn)偂#?)合作思路:和數(shù)據(jù)庫(kù)商與系統(tǒng)商合作開發(fā)系統(tǒng)和解決版權(quán)。(7)系統(tǒng)建設(shè):第一步參建各校分別建立教參信息庫(kù),同時(shí)把數(shù)據(jù)集中起來建立CALIS教學(xué)參考信息庫(kù);第二步建設(shè)電子全文數(shù)據(jù)庫(kù)。
針對(duì)以上建議,CALIS正在積極征集包括系統(tǒng)、資源、讀者使用、服務(wù)模式、實(shí)施、經(jīng)費(fèi)預(yù)算等在內(nèi)的教學(xué)參考書數(shù)據(jù)庫(kù)的解決方案并通過申報(bào)、調(diào)研、審批方式確定承建單位。
4小結(jié)
1.2數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)在軟件開發(fā)過程中是一個(gè)很重要的環(huán)節(jié),數(shù)據(jù)庫(kù)是任何系統(tǒng)都不可避免的。本研究在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)盡量滿足第三范式,減少數(shù)據(jù)冗余,盡量設(shè)計(jì)比較精簡(jiǎn)的數(shù)據(jù)庫(kù)。(1)人員信息表:有機(jī)構(gòu)、人員編號(hào)、姓名、出生日期、性別、職稱、最后學(xué)歷、最后學(xué)位、學(xué)科、研究方向等字段。(2)科研成果信息表:有機(jī)構(gòu)、成果編號(hào)、成果名稱、第一作者、成果來源、成果形式、出版單位、出版時(shí)間、刊號(hào)、關(guān)鍵字、成果字?jǐn)?shù)等字段。(3)科研項(xiàng)目信息表:有機(jī)構(gòu)、項(xiàng)目編號(hào)、項(xiàng)目名稱、項(xiàng)目來源、批準(zhǔn)號(hào)、負(fù)責(zé)人、立項(xiàng)時(shí)間、完成時(shí)間、項(xiàng)目狀態(tài)、批準(zhǔn)經(jīng)費(fèi)等字段。(4)管理員信息表:有用戶名稱、密碼。管理員登錄的時(shí)候要進(jìn)行驗(yàn)證,表單獲得的數(shù)據(jù)和數(shù)據(jù)庫(kù)中該表的數(shù)據(jù)對(duì)比如果成功,則登錄成功,否則,登錄失敗。對(duì)以上所有表的添加、刪除、修改、讀取等數(shù)據(jù)操作都設(shè)計(jì)相應(yīng)的存儲(chǔ)過程來實(shí)現(xiàn)。
2系統(tǒng)實(shí)現(xiàn)
2.1系統(tǒng)用戶界面的設(shè)計(jì)用戶界面設(shè)計(jì)的要求是:(1)簡(jiǎn)單清晰,一目了然,容易上手;(2)功能相似的頁面,采用統(tǒng)一的布局;(3)方便操作,盡量減少數(shù)據(jù)錄入量;(4)具有較好的錄入容錯(cuò)功能。用戶工作界面由三層組成:上方是圖標(biāo)欄;左下方為事務(wù)菜單;右下方為操作界面。頁面主要采用webForm來進(jìn)行設(shè)計(jì)。如校級(jí)管理員用戶通過驗(yàn)證后的登入界面。
2.2數(shù)據(jù)庫(kù)的實(shí)現(xiàn)本科研管理系統(tǒng)采用了三層結(jié)構(gòu)的框架,將訪問數(shù)據(jù)庫(kù)的一些底層方法封裝在DBUtility這個(gè)類庫(kù)中,其中DbHelperSQL類和DbHelperSQLP類是連接數(shù)據(jù)庫(kù)字符串和一些公用的方法,如簡(jiǎn)單的SQL語句,帶參數(shù)的SQL語句,存儲(chǔ)過程的操作等,DES-Encrypt類是數(shù)據(jù)庫(kù)的安全性,加密解密等操作。PubConstant類是動(dòng)態(tài)的配置數(shù)據(jù)庫(kù)的連接字符串。
2.3配置web.config為了方便數(shù)據(jù)操作和維護(hù),可以將一些數(shù)據(jù)庫(kù)連接配置參數(shù)放在web.config文件中,代碼如下。
2.4科研項(xiàng)目管理功能模塊的實(shí)現(xiàn)高校科研項(xiàng)目管理主要針對(duì)已通過審核的項(xiàng)目提供管理功能,能提供項(xiàng)目的信息,對(duì)項(xiàng)目實(shí)現(xiàn)增加、修改、查找等功能。點(diǎn)擊項(xiàng)目管理,可以出現(xiàn)項(xiàng)目一覽和新增項(xiàng)目?jī)蓚€(gè)功能模塊。這時(shí)候點(diǎn)擊項(xiàng)目一覽,可以出現(xiàn)項(xiàng)目的一些基本信息,并且可以對(duì)其進(jìn)行增加、修改、查找等相關(guān)操作。系統(tǒng)管理員有最高權(quán)限,可以查找全校的申報(bào)項(xiàng)目,可以模糊查找,有修改、刪除的權(quán)限,還可以導(dǎo)出所要的項(xiàng)目資料。以下是校級(jí)科研項(xiàng)目管理設(shè)計(jì)界面,如圖4所示。
1引言
異構(gòu)數(shù)據(jù)庫(kù)互操作問題作為數(shù)據(jù)庫(kù)領(lǐng)域的研究熱點(diǎn)和難點(diǎn)課題,在國(guó)內(nèi)外的學(xué)術(shù)界和工業(yè)界都引起了廣泛的關(guān)注。自20世紀(jì)80年代以來,國(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ù)(HeterogeneousDatabase)集成是數(shù)據(jù)庫(kù)技術(shù)從完全集中到邏輯集中、物理分布(傳統(tǒng)分布式數(shù)據(jù)庫(kù))乃至邏輯分布、物理分布(異構(gòu)數(shù)據(jù)庫(kù))這一發(fā)展過程的結(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)和語言一級(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,WindowsNT,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與SQLServer同屬關(guān)系型,但結(jié)構(gòu)不同。
異構(gòu)數(shù)據(jù)庫(kù)互操作的實(shí)現(xiàn)包括三個(gè)功能要素:(1)為用戶提供功能強(qiáng)大且操作靈活的互操作可視化界面,通過它用戶可以直觀地對(duì)多個(gè)異構(gòu)數(shù)據(jù)庫(kù)進(jìn)行透明訪問;(2)提供高級(jí)語言數(shù)據(jù)庫(kù)訪問調(diào)用級(jí)接口,至于調(diào)用級(jí)接口的實(shí)現(xiàn)層次可由設(shè)計(jì)者視具體清況而定;(3)支持環(huán)境開放性,可能的話還應(yīng)該支持實(shí)現(xiàn)語言開放性。
異構(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ù)處理語言去訪問數(shù)據(jù)庫(kù),如同訪問一個(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ù)的透明訪問。
隨著對(duì)數(shù)據(jù)庫(kù)互操作問題的深入研究,基于不同角度,許多研究者提出了可行的異構(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)(DatabaseGateway)
數(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ù)等問題。
(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(SQLAccessGroup)規(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ǎng)絡(luò)協(xié)議和多種客戶平臺(tái),是實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)互操作的有效途徑之一。
公共協(xié)議/數(shù)據(jù)轉(zhuǎn)換協(xié)議的缺點(diǎn)是協(xié)議本身的低效率帶來的速度問題。
(3)公共編程接口
公共編程接口包括客戶應(yīng)用編程界面(CAPI)和服務(wù)器應(yīng)用編程界面(SAPI)。CAPI是一組過程庫(kù),通常駐留在客戶端,通過裝載后端專用的驅(qū)動(dòng)程序訪問不同的數(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ù)改變而改變的痛苦;通過API可使應(yīng)用程序直接操縱數(shù)據(jù)庫(kù)中的數(shù)據(jù)。數(shù)據(jù)庫(kù)訪問API的缺點(diǎn)是:針對(duì)每一個(gè)數(shù)據(jù)庫(kù)都需要有一個(gè)與其對(duì)應(yīng)的驅(qū)動(dòng)程序;由于不同的驅(qū)動(dòng)程序所支持的數(shù)據(jù)類型和對(duì)數(shù)據(jù)的操作都不相同,其完全透明地訪問異構(gòu)數(shù)據(jù)庫(kù)的能力有限;實(shí)現(xiàn)效率過分依賴于驅(qū)動(dòng)程序,而驅(qū)動(dòng)程序?qū)?biāo)準(zhǔn)語法轉(zhuǎn)換成相應(yīng)數(shù)據(jù)庫(kù)的命令語法要花費(fèi)大量的時(shí)間。
(4)中間件技術(shù)(MiddleWare)
中間件是處于應(yīng)用程序及應(yīng)用程序所在系統(tǒng)的內(nèi)部工作方式之間的軟件,它的基本思想是在各后端數(shù)據(jù)源和前端應(yīng)用程序之間建立一個(gè)抽象層。把應(yīng)用程序與系統(tǒng)所依附軟件的較低層細(xì)節(jié)和復(fù)雜性隔離開來,使應(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ù)集成的問題,將會(huì)給系統(tǒng)集成帶來很多的好處。這是因?yàn)橹虚g件不僅能夠使得前端用戶訪問后端的異構(gòu)數(shù)據(jù)庫(kù)實(shí)現(xiàn)透明化,并且保證了訪問接口的開放性,這樣可以使系統(tǒng)在以后功能上的擴(kuò)展更加方便。通過中間件來訪問數(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)與語義級(jí)異構(gòu)互操作
目前,對(duì)于數(shù)據(jù)結(jié)構(gòu)和語義一級(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è)特性作為尺度來刻畫多數(shù)據(jù)庫(kù)系統(tǒng)。使用這種方法,用戶需要顯式地指明所要訪問的數(shù)據(jù)庫(kù)。多數(shù)據(jù)庫(kù)系統(tǒng)采用自下而上的方法來實(shí)現(xiàn)。
(2)分布式數(shù)據(jù)庫(kù)(DistributedDatabase)
分布式數(shù)據(jù)庫(kù)的基本思想是拋棄原有的數(shù)據(jù)庫(kù)系統(tǒng),在網(wǎng)絡(luò)環(huán)境下建立分布的數(shù)據(jù)庫(kù)系統(tǒng),在體系結(jié)構(gòu)、事務(wù)處理模型等方面重新設(shè)計(jì)從而解決信息共享與互操作問題。分布式數(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ì)來說比較容易一些。異質(zhì)分布式數(shù)據(jù)庫(kù)管理系統(tǒng)大多是在已有的一些數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)的。
(3)聯(lián)邦式數(shù)據(jù)庫(kù)(FederatedDatabase)
聯(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ù)需要(按某種組合)加邦或者根據(jù)需要退出聯(lián)邦。聯(lián)邦式數(shù)據(jù)庫(kù)沒有全局模式,各子系統(tǒng)(即聯(lián)邦成員)按自己的需求建立各自的數(shù)據(jù)模式。其成員之間的數(shù)據(jù)共享關(guān)系,通過由協(xié)商確定的輸入/輸出模式來建立,單個(gè)成員有權(quán)拒絕或允許其它成員結(jié)點(diǎn)對(duì)它的訪問。因此,它能夠支持多庫(kù)系統(tǒng)的分布性、異構(gòu)性和自治性,使之產(chǎn)生滿意的集成。超級(jí)秘書網(wǎng)
異構(gòu)數(shù)據(jù)庫(kù)的互操作技術(shù)使得數(shù)據(jù)庫(kù)在原有技術(shù)領(lǐng)域發(fā)揮重要作用的同時(shí),在未來新的應(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]張水平,萬映輝等.異構(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).
件*.mdb),也可以是遠(yuǎn)程數(shù)據(jù)庫(kù)文件(如MicrosoftSQLServer);它可以是已知的某種DBMS格式,也可以是一種全新的數(shù)據(jù)庫(kù)格式。總之,它取決于提供了什么數(shù)據(jù)庫(kù)類型的驅(qū)動(dòng)程序。
VisualC++中的ODBC主要是實(shí)現(xiàn)基于Windows的關(guān)系數(shù)據(jù)庫(kù)的應(yīng)用的共享。
二、ODBC管理器
在ODBC中,數(shù)據(jù)源是一個(gè)重要的概念,它是數(shù)據(jù)庫(kù)位置和數(shù)據(jù)庫(kù)類型等連接信息的總和。數(shù)據(jù)源在使用前必須通過ODBC管理器(Administrator)進(jìn)行登錄。在登錄數(shù)據(jù)源時(shí),要搞清數(shù)據(jù)源名(Datasourcename)、數(shù)據(jù)庫(kù)文件名(Databasename)和數(shù)據(jù)表格名(Tablename)這三者的概念和相互關(guān)系:數(shù)據(jù)源實(shí)際是一種數(shù)據(jù)連接的抽象,數(shù)據(jù)源名是登錄時(shí)賦予的“連接”的名稱,以供應(yīng)用程序使用,至于該數(shù)據(jù)源下連接的是哪一個(gè)數(shù)據(jù)庫(kù),則由數(shù)據(jù)庫(kù)文件名指出(如Access2.0forMSOffics中的.mdb文件);一個(gè)數(shù)據(jù)庫(kù)文件中可以包括若干個(gè)數(shù)據(jù)表格(table)和其他。在關(guān)系@@09A05900.GIF;圖1ODBC層次關(guān)系圖數(shù)據(jù)庫(kù)中,數(shù)據(jù)是以二維表格的方式存在于數(shù)據(jù)庫(kù)@@文件中,應(yīng)用程序最終的操作目標(biāo)即是這些表格中的行(row記錄)和列(columns字段)數(shù)據(jù)。對(duì)于foxprow數(shù)據(jù)源,數(shù)據(jù)庫(kù)文件名是“路徑名”,而該路徑下的所有數(shù)據(jù)文件(*.dbf)都屬于該“數(shù)據(jù)庫(kù)文件”名下的數(shù)據(jù)表格(table)。
ODBC管理器被裝在ControlPanel里(ODBCINST.CPL)。通過該工具可以增添、修改或刪除數(shù)據(jù)源,也用來增添、刪除ODBC驅(qū)動(dòng)程序,ODBC管理器把數(shù)據(jù)源和它們的連接信息保存在ODBC.INI、ODBCINST.INI和ODBCISAM.INI中。當(dāng)需要共享應(yīng)用程序時(shí),只需按新的數(shù)據(jù)文件的類型和位置重新登錄即可。
三、ODBC應(yīng)用程序接口
ODBCAPI是一組標(biāo)準(zhǔn)的ODBC函數(shù)庫(kù),除了一般的數(shù)據(jù)庫(kù)操作函數(shù)外,還包括一組函數(shù)(如SQLExec或SQLExecdirect)能夠內(nèi)嵌標(biāo)準(zhǔn)SQL查詢語句。SQL(StructuredQueryLanguage結(jié)構(gòu)化查詢語言)是一種存取關(guān)系型數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語言,能夠定義、查詢、修改和控制數(shù)據(jù),簡(jiǎn)單的語句能夠作用于整個(gè)數(shù)據(jù)表格,具有很強(qiáng)的功能。
同Windows3.1SDK中API類似,ODBCAPI也是基于句柄(handle)進(jìn)行操作的。API函數(shù)按功能可分為以下幾類:
·數(shù)據(jù)源連接函數(shù),設(shè)置/獲取有關(guān)信息的函數(shù);
·準(zhǔn)備/提交執(zhí)行SQL查詢語句的函數(shù)和獲得數(shù)據(jù)的函數(shù);
·終止函數(shù)和異常處理函數(shù)。
上述函數(shù)的順序也表示了進(jìn)行數(shù)據(jù)庫(kù)操作的一般順序。兩個(gè)需要特別說明,一是數(shù)據(jù)類型問題:數(shù)據(jù)源中的數(shù)據(jù)所具有的數(shù)據(jù)類型稱為SQL數(shù)據(jù)類型,這些數(shù)據(jù)類型在其數(shù)據(jù)源中可能比較特殊,不一定和ODBCSQL數(shù)據(jù)類型存儲(chǔ)方式一致,驅(qū)動(dòng)程序把這些數(shù)據(jù)類型同ODBCSQL數(shù)據(jù)類型進(jìn)行相互轉(zhuǎn)換,每一個(gè)ODBCSQL數(shù)據(jù)類型都相當(dāng)于一個(gè)ODBCC語言數(shù)據(jù)類型;二是函數(shù)的調(diào)用級(jí)別問題,并不是每一個(gè)ODBC驅(qū)動(dòng)程序都支持所有的ODBCAPI函數(shù)調(diào)用,在應(yīng)用程序中,可以調(diào)用有關(guān)函數(shù)獲取驅(qū)動(dòng)程序以支持層次方面的信息。
四、ODBC編程
在VisualC++中,MFC(MicrosoftFoundationClass基本類庫(kù))是經(jīng)過對(duì)Windows應(yīng)用程序中各個(gè)部件進(jìn)行類的抽象而建立的一組預(yù)定義的類,如窗口基類(CWnd)、各種窗口派生類等等,這些類在應(yīng)用程序中可直接使用,不需要重新定義。在MFC中,也為ODBC預(yù)定義了幾個(gè)類,其中主要的是數(shù)據(jù)庫(kù)類(CDatabase)和記錄集合類(CRecoredset)。這兩個(gè)類既有聯(lián)系又有區(qū)別,在應(yīng)用程序中,可以分別使用,也可以同時(shí)使用,每一類也可以同時(shí)存在多個(gè)對(duì)象。CDatabase的每一個(gè)對(duì)象代表了一個(gè)數(shù)據(jù)源的連接,CRecordset的每一個(gè)對(duì)象代表了從一
個(gè)數(shù)據(jù)表中按預(yù)定的查詢條件獲得的記錄的集合,一般說來,前者適宜于對(duì)數(shù)據(jù)源下的某個(gè)數(shù)據(jù)表格進(jìn)行整體操作,后者用于對(duì)所選的記錄集合進(jìn)行處理。
同Windows類與SDKAPI函數(shù)的關(guān)系一樣,CDatabase類與ODBCAPI函數(shù)也有類似的關(guān)系,但CDatabase類中并不包含所有的ODBCAPI函數(shù),大部分操作功能仍須直接調(diào)用ODBCAPI函數(shù),如目錄功能函數(shù),用于獲得數(shù)據(jù)源下的數(shù)據(jù)表格信息,如表格名,字段名等。
在應(yīng)用編程時(shí),一般使用CDatabase和CRecordset的派生類。假設(shè)派生類分別為CUserdb和CUserset,而在應(yīng)用類CUserClass中,使用了一個(gè)CUserdb對(duì)象(m-db)和一個(gè)Cuserset對(duì)象(m-recset),圖2給出了用戶應(yīng)用類與ODBC類的相互關(guān)系示意圖。
@@09A05901.GIF;圖2CDatabaseCRecordset類與應(yīng)用類及數(shù)據(jù)源關(guān)系圖@@
1.m-db連接數(shù)據(jù)源
m-db在完成定義構(gòu)造后,要調(diào)用CDatabase的打開(Open)函數(shù)以進(jìn)行數(shù)據(jù)源的實(shí)際連接:
m-db.Open(lpszDSN,bExclusive,bReadOnly,lpszConnect);
打開函數(shù)需要輸入四個(gè)參數(shù)。lpszDSN:要連接的數(shù)據(jù)源的名字,如果lpszDSN=NULL且lpszConnect中也沒有指明數(shù)據(jù)源名,則該調(diào)用會(huì)自動(dòng)出現(xiàn)一個(gè)對(duì)話框列出所有可用的數(shù)據(jù)源(名),讓用戶選擇。bExclusive:只支持“假”(False)值,表示為共享(share)方式連接。因此,應(yīng)用程序在運(yùn)行前,一定要裝入share.exe或在Windows的system.ini中裝入vshare.386。ReadOnly:指明數(shù)據(jù)源操作方式是“只讀”還是可以修改。lpszConnect:指明連接字符串,包括數(shù)據(jù)源名、用戶標(biāo)識(shí)碼、口令等信息。該字符串必須以“ODBC;”開頭,表示該連接是與一個(gè)ODBC數(shù)據(jù)源的連接(考慮以后版本支持非ODBC數(shù)據(jù)源)。
m-db打開后,其指針可以傳給m-recset作為其數(shù)據(jù)源。m-db關(guān)閉后,將關(guān)閉所有CRecordset對(duì)它的連接,m-db也可以重新打開。
2.m-db操作數(shù)據(jù)
數(shù)據(jù)源打開后,即可對(duì)數(shù)據(jù)庫(kù)文件中的數(shù)據(jù)表格進(jìn)行操作,操作以調(diào)用SQL語句方式進(jìn)行,可直接通過ODBCAPI函數(shù),或者CDatabase類成員函數(shù)ExecuteSQL。數(shù)據(jù)表名在SQL語句中指定,如下語句則在所在的數(shù)據(jù)源中的clerk表中插入一個(gè)記錄,記錄的name字段值為"chen"。
m-db.ExecuteSQL("insertintoclerk(name)value(''''chen'''')");3.m-recset連接數(shù)據(jù)m-recset在構(gòu)造時(shí),可傳入一個(gè)CDatabase對(duì)象指針,作為m-recset的數(shù)據(jù)源,當(dāng)為NULL時(shí),必須重載CRecordset的函數(shù)GetDefaultConnect,以提供數(shù)據(jù)源連接字符串(相當(dāng)于m-db.Open中的lpszConnect)。如下則表示連接名為COMPANY的數(shù)據(jù)源(當(dāng)傳入了合法的CDatabase對(duì)象指針時(shí),該函數(shù)將不被調(diào)用)。
CStringCUserset::GetDefaultConnect()
{
return"ODBC;DSN=COMPANY;";
}4.m-recset選取記錄和字段
m-recset在調(diào)用打開函數(shù)時(shí),即獲得了符合條件的一組記錄,條件語句在Open函數(shù)中的lpszSQL中給出,如果lpszSQL為NULL,則必須重載CRecordset的函數(shù)以提供該語句。該語句是一個(gè)SELECT語句,帶或不帶where和orderby子句(如果不帶,where和Orderby的條件也可在CRecordset的兩個(gè)預(yù)定義成員變量m-strFilter和m-strSort中給出)。lpszSQL也可以只是一個(gè)數(shù)據(jù)表名(table-name),也可以是對(duì)內(nèi)嵌在數(shù)據(jù)庫(kù)文件中的查詢程序的調(diào)用語句。所選擇的一系列字段名,在成員函數(shù)DoFieldExchange中由一系列RFX-函數(shù)指定。RFX-(RecordFieldExchange)函數(shù),使字段和成員變量一一建立類型對(duì)應(yīng)關(guān)系。另外,m-strFilter中也可以帶變量參數(shù)(用"?"表示,如"fieldl>=?ANDfield2<=?"),參數(shù)與成員變量的對(duì)應(yīng)關(guān)系也在DoFieldExchange中由RFX-函數(shù)指定(串中的"?"將被參數(shù)變量值逐一替換)。
voidCUserset::DoFieldExchange(CFieldExchange*pFX)
{
pFX->SetFieldType(CFieldExchange::outputColumn);
/*以下為字段連接*/
RFX-???(pFX,"field1",m-var1);
RFX-???(pFX,"field2",m-var2);
...
RFX-???(pFX,"fieldn",m-varn);
pFX->SetFieldType(CFieldExchange::param);
/*以下為參數(shù)連接*/
RFX-???(pFX,field1,m-param1);
RFX-???(pFX,field2,m-param2);
...
}其中,???為ODBCSQL數(shù)據(jù)類型名,如RFX-Double,RFX-Text等。
綜合上述,選取記錄和字段實(shí)際是由下列語句完成:
SELECTrfx-field-listFROMtable-name[WHEREm-strFilter][ORDERBYm-strSort]
字段變量和參數(shù)變量的個(gè)數(shù)一定要在調(diào)用打開函數(shù)前(如構(gòu)造函數(shù)中)準(zhǔn)確地賦值給成員變量m-nFields和m-nParams。m-recset在打開后的任何時(shí)候調(diào)用Requery()函數(shù),將根據(jù)新的查詢條件(例如修改了參數(shù)變量值)重新選取記錄。
5.m-recset操作數(shù)據(jù)
記錄集合生成后,其當(dāng)前記錄的各字段值被保存在前述的各字段變量中,如果調(diào)用CRecordset的滾動(dòng)(scroll)函數(shù),如MoveFirst(),MoveNext(),MovePrev(),MoveLast()等,字段變量的值將自動(dòng)跟隨“當(dāng)前”記錄的位置的變化而變化。IsBOF(),IsEOF()用于判別是否移動(dòng)到記錄的頭或尾。
數(shù)據(jù)操作主要包括刪除(Delete),添加(AddNew)和更改(Edit),一般流程為:
if(m-recset.CanUpdate())/*是否允許修改*/
{
if(m-db.CanTransact())/*是否支持“批”處理*/
{
m-db.BeginTrans();
m-recset.AddNew();
/*修改字段變量值*/
...
m-recset.Update();
m-mitTrans();
if(catcherror)
m-db.RollBack();
}
}
對(duì)于AddNew和Edit,修改字段變量后一定要調(diào)用函數(shù)Update(),否則更新將丟失,而Delete操作則不必進(jìn)行字段值修改和調(diào)用Update()。
上述的CDatabase的四個(gè)函數(shù)是ODBC為保證數(shù)據(jù)操作的可靠性而提供的“批”處理函數(shù),即在BeginTrans和CommitTrans之間的數(shù)據(jù)修改如果出現(xiàn)任何異常,可通過函數(shù)RoolBack來恢復(fù)所做的修改。
在多用戶系統(tǒng)使用時(shí),每一個(gè)數(shù)據(jù)源可以被多個(gè)用戶的多個(gè)任務(wù)連接,不同的任務(wù)可同時(shí)修改相同的數(shù)據(jù)源。ODBC提供了兩種數(shù)據(jù)表更新的同步機(jī)制(在m-recset.Open函數(shù)中指定),“靜態(tài)”的(snapshot)和動(dòng)態(tài)的(dynaset)。前者是一組靜態(tài)的記錄集合,當(dāng)建立后不會(huì)改變,除了反應(yīng)自己的添加/刪除外,不反應(yīng)別的用戶的修改,除非調(diào)用了Requery重新建立。后者是一組動(dòng)態(tài)的記錄集合,自己或別的用戶所作的修改隨時(shí)反應(yīng)到集合中來(當(dāng)然也可用Requery重建),以保持記錄與數(shù)據(jù)源的同步。在應(yīng)用中,應(yīng)根據(jù)需要確定使用哪一種方式。
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)是網(wǎng)絡(luò)環(huán)境下辦公自動(dòng)化(OA)系統(tǒng)的核心部分。設(shè)計(jì)一個(gè)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)所采用的技術(shù)實(shí)現(xiàn)方法,其先進(jìn)性和科學(xué)性不僅對(duì)軟件的開發(fā)效率和軟件質(zhì)量有著很大的影響,而且對(duì)整個(gè)軟件的使用和維護(hù)有著重大的影響。同時(shí),系統(tǒng)的安全性對(duì)于系統(tǒng)的實(shí)現(xiàn)同樣非常關(guān)鍵。系統(tǒng)不安全的因素包括非授權(quán)用戶訪問計(jì)算機(jī)網(wǎng)絡(luò),授權(quán)用戶越權(quán)訪問有關(guān)數(shù)據(jù)庫(kù),以及敏感信息在基于TCP/IP網(wǎng)絡(luò)上的傳輸。結(jié)合開發(fā)實(shí)踐,本文主要介紹網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)技術(shù)和基于SQLSERVER的安全策略。
1系統(tǒng)實(shí)現(xiàn)技術(shù)
(一)數(shù)據(jù)庫(kù)訪問技術(shù)
一般的數(shù)據(jù)庫(kù)開發(fā)工具如Delphi5都提供了一些數(shù)據(jù)庫(kù)對(duì)象組件,它們封裝了BDE的功能。這樣,開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序就不必知道BDE的功能。其次,還提供了數(shù)據(jù)感知組件可以與數(shù)據(jù)訪問組件彼此通信,這樣,建立數(shù)據(jù)庫(kù)應(yīng)用程序的界面就變得簡(jiǎn)單。SQLLinks為連接Oracle、Sybase、Informix、MicrosoftSQLServer、DB2和InterBase提供了專門的驅(qū)動(dòng)程序,還可以通過ODBC連接其他數(shù)據(jù)庫(kù)[1]。
(二)SQL編程技術(shù)
SQL是一組符合工業(yè)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)操作命令集,它可以在Delphi這樣的編程環(huán)境中使用。SQL不是一門語言,無法得到一個(gè)專門的SQL軟件,它只是服務(wù)器數(shù)據(jù)庫(kù)的一部分。
作為一種查詢語言,是網(wǎng)絡(luò)環(huán)境下客戶/服務(wù)器數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā)的標(biāo)準(zhǔn)[2]。Delphi提供了支持SQL的有關(guān)組件。SQL具有一些查看數(shù)據(jù)的優(yōu)勢(shì),而且只能使用SQL命令來獲得。通過SQL,也可以靈活地查詢所需要的數(shù)據(jù),這種靈活性是面向記錄的數(shù)據(jù)庫(kù)操作所不具備的。
SQL為控制服務(wù)器的數(shù)據(jù)提供了下列功能:
數(shù)據(jù)定義:使用SQL可以定義數(shù)據(jù)庫(kù)表的結(jié)構(gòu),包括表中字段的數(shù)據(jù)類型以及不同表的字段之間的參照關(guān)系。
數(shù)據(jù)檢索:客戶程序可以通過SQL向服務(wù)器請(qǐng)求它所需要的數(shù)據(jù)。SQL還允許客戶定義要檢索什么數(shù)據(jù)、如何檢索,例如排序、選擇字段等。
數(shù)據(jù)完整性:SQL可以實(shí)現(xiàn)數(shù)據(jù)完整性約束,這些完整性約束可以定義為數(shù)據(jù)庫(kù)表的一部分,也可以使這些規(guī)則以存儲(chǔ)過程或其他數(shù)據(jù)庫(kù)對(duì)象的形式從表中獨(dú)立出來。
數(shù)據(jù)處理:SQL允許客戶程序更新、添加或刪除服務(wù)器上的數(shù)據(jù)。這些操作可以由客戶提交的SQL語句來完成,也可以由服務(wù)器上的存儲(chǔ)過程來完成。
安全性:通過對(duì)不同的數(shù)據(jù)庫(kù)對(duì)象定義訪問權(quán)限、視圖以及受限制的訪問,SQL可以保護(hù)數(shù)據(jù)的安全。
并發(fā)訪問:SQL支持對(duì)數(shù)據(jù)的并發(fā)訪問,多個(gè)用戶可以同時(shí)使用系統(tǒng)而不互相干擾。
簡(jiǎn)而言之,SQL是開發(fā)和操作客戶/服務(wù)器數(shù)據(jù)的重要工具。
(三)多層分布式應(yīng)用技術(shù)。
MIDAS(MultitudeDistributedApplicationServicesSuite)即多層分布式應(yīng)用程序服務(wù)器,它提供了一整套中間層應(yīng)用服務(wù),擴(kuò)展了操作系統(tǒng)標(biāo)準(zhǔn),這些服務(wù)用于解決各種具體的分布式計(jì)算問題,從用于網(wǎng)絡(luò)定位的目錄服務(wù)到數(shù)據(jù)庫(kù)集成和業(yè)務(wù)規(guī)則處理。
1.Oracle。Oracle是一個(gè)最早商品化的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),也是應(yīng)用廣泛、功能強(qiáng)大的數(shù)據(jù)庫(kù)管理系統(tǒng)。Oracle作為一個(gè)通用的數(shù)據(jù)庫(kù)管理系統(tǒng),不僅具有完整的數(shù)據(jù)管理功能,還是一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng),支持各種分布式功能。Oracle使用PL/SQL語言執(zhí)行各種操作,具有可開放性、可移植性、可伸縮性等功能。
2.Sybase。最新版本的SybaseAdaptiveServer與以前的版本相比,具有更豐富的功能設(shè)置,Sybase比較強(qiáng)大的地方在于它對(duì)資源的低占有率上。在這一方面,Sybase15還引入了新的“專利查詢過程技術(shù)”,顯示了增強(qiáng)的性能和降低的硬件資源消耗。
3.MicrosoftSQLServer。MicrosoftSQLServer是一種典型的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),可以在許多操作系統(tǒng)上運(yùn)行,它使用Transact-SQL語言完成數(shù)據(jù)操作。由于MicrosoftSQLServer是開放式的系統(tǒng),其它系統(tǒng)可以與它進(jìn)行完好的交互操作。
4.MicrosoftOffice。作為MicrosoftOffice組件之一的MicrosoftAccess是在Windows環(huán)境下非常流行的桌面型數(shù)據(jù)庫(kù)管理系統(tǒng)。Access既擁有用戶界面(VB可以用來開發(fā)用戶界面);也擁有邏輯、流程處理,即VBA語言(VB也可以用來做邏輯處理);又可以存儲(chǔ)數(shù)據(jù),即在“表”中存儲(chǔ)數(shù)據(jù)。使用MicrosoftAccess無需編寫任何代碼,只需通過直觀的可視化操作就可以完成大部分?jǐn)?shù)據(jù)管理任務(wù)。在MicrosoftAccess數(shù)據(jù)庫(kù)中,包括許多組成數(shù)據(jù)庫(kù)的基本要素。這些要素是存儲(chǔ)信息的表、顯示人機(jī)交互界面的窗體、有效檢索數(shù)據(jù)的查詢、信息輸出載體的報(bào)表、提高應(yīng)用效率的宏、功能強(qiáng)大的模塊工具等。
5.VisualFoxPro。VisualFoxPro是Microsoft公司VisualStudio系列開發(fā)產(chǎn)品之一,簡(jiǎn)稱VFP是Xbase數(shù)據(jù)庫(kù)家族的成員,可以運(yùn)行于Windows9X/2000和WindowsNT平臺(tái)的32位的數(shù)據(jù)庫(kù)開發(fā)系統(tǒng)。VisualFoxPro提供了一個(gè)功能強(qiáng)大的集成化開發(fā)環(huán)境,采用可視化和面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,使數(shù)據(jù)管理和應(yīng)用程序的開發(fā)更加簡(jiǎn)便。VisualFoxPro是數(shù)據(jù)庫(kù)管理軟件,可實(shí)現(xiàn)數(shù)據(jù)與應(yīng)用程序獨(dú)立。
二、如何選擇適合自己的數(shù)據(jù)庫(kù)軟件
1.按性能應(yīng)從以下幾個(gè)方面予以考慮:
(1)構(gòu)造數(shù)據(jù)庫(kù)的難易程度;(2)程序開發(fā)的難易程度;(3)數(shù)據(jù)庫(kù)管理系統(tǒng)的性能分析;(4)對(duì)分布式應(yīng)用的支持;(5)并行處理能力;(6)可移植性和可擴(kuò)展性;(7)數(shù)據(jù)完整性約束;(8)并發(fā)控制功能;(9)容錯(cuò)能力;(10)安全性控制;(11)支持漢字處理能力。
2.按需求來選擇
選擇一個(gè)數(shù)據(jù)庫(kù)的主要理由就是它的功能是否可以很好地支持你的應(yīng)用程序。人們通常使用數(shù)據(jù)庫(kù)來完成的任務(wù)有:支持Web、事務(wù)處理、文本搜索,有的情況下復(fù)制也是一個(gè)重要的要求。在事務(wù)處理方面,Oracle看上去更有領(lǐng)先優(yōu)勢(shì),接下來是微軟的SQLServer。沒有一個(gè)開源數(shù)據(jù)庫(kù)具有可以與Oracle相媲美的事務(wù)處理功能。
3.按易用性和管理來選擇;
4.按支持性來選擇;
5.按成本因素來選擇。
三、結(jié)論
Oracle是商業(yè)數(shù)據(jù)庫(kù)的代表,具有非常豐富的功能、廣泛的平臺(tái)支持和大量的附加功能。目前Access更常用一些,Access不是一種存儲(chǔ)格式,是一種軟件。ACCESS這個(gè)軟件本身就具有開發(fā)者使用的界面和適合于“最終用戶”的界面。但學(xué)習(xí)FoxPro可為學(xué)型數(shù)據(jù)庫(kù)管理軟件大典基礎(chǔ)。微軟的SQLServer只可以運(yùn)行在其Windows操作系統(tǒng)平臺(tái)上。不過由于Windows操作系統(tǒng)的廣泛普及,缺乏對(duì)其他系統(tǒng)的支持并沒有阻擋SQLServer的市場(chǎng)份額的增長(zhǎng)。SQLServer是真正的中大型數(shù)據(jù)庫(kù),VFP是桌面數(shù)據(jù)庫(kù),使用方便、易學(xué),但實(shí)際上犧牲了真正數(shù)據(jù)庫(kù)的一些功能,如安全性;此外,VFP既是數(shù)據(jù)庫(kù)又是編程語言(開發(fā)工具)。SQLServer是中大型數(shù)據(jù)庫(kù),VFP是帶有自身數(shù)據(jù)庫(kù)的編程語言。
總體來說,選擇什么樣的數(shù)據(jù)庫(kù)要看你的應(yīng)用程序的需要。如果它是以閱讀數(shù)據(jù)庫(kù)為主的Web應(yīng)用,MySQL無疑是最佳選擇。而如果需要那些事務(wù)處理和復(fù)雜的數(shù)據(jù)庫(kù)功能,那么可選擇Oracle和微軟的SQLServer。如果你需要一些商業(yè)數(shù)據(jù)庫(kù)的高級(jí)功,但又不想支付授權(quán)費(fèi)用,那么可以考慮PostgreSQL或Ingres。對(duì)于嵌入式數(shù)據(jù)庫(kù)應(yīng)用,MySQL和Sybase所占有的系統(tǒng)資源最少。總之,最適合的才是最好的!
參考文獻(xiàn):
[1]劉守根.數(shù)據(jù)庫(kù)管理系統(tǒng)的現(xiàn)狀和發(fā)展方向初探.內(nèi)江科技,2006,(2).
[2]陳業(yè)斌.分布式數(shù)據(jù)庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).安徽工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,(3).
[3]姬志剛.計(jì)算機(jī)、網(wǎng)絡(luò)與信息社會(huì).科技咨詢導(dǎo)報(bào),2006,(20).
[4]薛向陽.數(shù)據(jù)庫(kù)管理系統(tǒng)的開發(fā)與程序的設(shè)計(jì).渭南師范學(xué)院學(xué)報(bào),2005,(2)
2基于策略的網(wǎng)絡(luò)管理主要應(yīng)用
2.1策略管理工具的應(yīng)用
策略管理工具主要是網(wǎng)絡(luò)管理人員對(duì)各種策略進(jìn)行監(jiān)測(cè)分析所使用的。雖然已經(jīng)將策略歸納分類,但是對(duì)策略的編輯是一項(xiàng)工程巨大的工作,而策略管理工具的應(yīng)用可以為網(wǎng)絡(luò)管理人員提供一個(gè)便捷高效的操作方式,對(duì)策略進(jìn)行科學(xué)的編輯管理,并將其作為一種解決問題的策略加入數(shù)據(jù)庫(kù)中,以備不時(shí)之需。
2.2策略表示的應(yīng)用
網(wǎng)絡(luò)管理人員在對(duì)策略進(jìn)行輸入及編輯時(shí),需要用到策略表示。就是策略數(shù)據(jù)庫(kù)與系統(tǒng)之間的橋梁,能夠?qū)⒉呗詳?shù)據(jù)庫(kù)與外界因素連接起來,從而簡(jiǎn)化網(wǎng)絡(luò)管理的流程,減輕工作任務(wù),將一些策略簡(jiǎn)單化,使管理工作變得更加高效快捷。
2.3策略數(shù)據(jù)庫(kù)的應(yīng)用
策略數(shù)據(jù)庫(kù)就是儲(chǔ)存策略的倉(cāng)庫(kù),不同于其他數(shù)據(jù)庫(kù),網(wǎng)絡(luò)管理人員將編輯好的策略存放于策略數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)能夠自行對(duì)各種策略進(jìn)行分類匯總,列出不同策略的不同作用,在遇到不同問題時(shí)就可以針對(duì)性做出應(yīng)對(duì)。策略數(shù)據(jù)庫(kù)不僅能儲(chǔ)存策略,還能儲(chǔ)存一些輔助參數(shù),幫助提高數(shù)據(jù)庫(kù)的系統(tǒng)性能。
2.4策略決策點(diǎn)的應(yīng)用
策略決策點(diǎn)相當(dāng)于人的大腦,是決策系統(tǒng)的指揮官。遇到網(wǎng)絡(luò)時(shí),該服務(wù)器開始作出決策,從眾多決策中找到合適的解決方式并提取出來。這部分的功能就是將決策和問題對(duì)號(hào)入座,并負(fù)責(zé)決策的提取和分配。
2.5策略執(zhí)行點(diǎn)的應(yīng)用
策略執(zhí)行點(diǎn)主要是解決問題的直接對(duì)象,可以將其理解為執(zhí)行的客戶端。策略被輸出后直接由該部分直接表現(xiàn)出來,日常殺毒軟件等都屬于策略執(zhí)行點(diǎn)的范圍,是執(zhí)行策略的一線工人,也是最能展現(xiàn)效果的部分。
3基于策略的網(wǎng)絡(luò)管理技術(shù)模型建立
基于策略的網(wǎng)絡(luò)管理技術(shù)模型的建立主要是根據(jù)一定規(guī)律分布、為解決問題而存在的策略組模型與待解決問題對(duì)象之間通過某些聯(lián)系結(jié)合在一起而形成的。需要注意的是,策略模型是面向?qū)ο蟮模浜诵木褪乔拔奶岬降牟呗韵到y(tǒng)的大腦,即策略決策點(diǎn),另外輔助于策略的其他功能組建一個(gè)完整的策略模型。策略模型的建立過程并非表面上看得那么簡(jiǎn)單。從宏觀上看,整個(gè)策略數(shù)據(jù)庫(kù)與存在的各種問題本身就是一個(gè)抽象的策略模型。有些人認(rèn)為策略與問題是一一對(duì)應(yīng)的,其實(shí)不然,策略模型本就是多對(duì)多的存在模式,即一種策略可以解決多個(gè)問題,一個(gè)問題可以被多個(gè)策略解決,而整個(gè)策略系統(tǒng)的任務(wù)就是在策略數(shù)據(jù)庫(kù)中尋找最適合的解決方法并貫徹執(zhí)行。
1.Oracle。Oracle是一個(gè)最早商品化的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),也是應(yīng)用廣泛、功能強(qiáng)大的數(shù)據(jù)庫(kù)管理系統(tǒng)。Oracle作為一個(gè)通用的數(shù)據(jù)庫(kù)管理系統(tǒng),不僅具有完整的數(shù)據(jù)管理功能,還是一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng),支持各種分布式功能。Oracle使用PL/SQL語言執(zhí)行各種操作,具有可開放性、可移植性、可伸縮性等功能。
2.Sybase。最新版本的SybaseAdaptiveServer與以前的版本相比,具有更豐富的功能設(shè)置,Sybase比較強(qiáng)大的地方在于它對(duì)資源的低占有率上。在這一方面,Sybase15還引入了新的“專利查詢過程技術(shù)”,顯示了增強(qiáng)的性能和降低的硬件資源消耗。
3.MicrosoftSQLServer。MicrosoftSQLServer是一種典型的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),可以在許多操作系統(tǒng)上運(yùn)行,它使用Transact-SQL語言完成數(shù)據(jù)操作。由于MicrosoftSQLServer是開放式的系統(tǒng),其它系統(tǒng)可以與它進(jìn)行完好的交互操作。
4.MicrosoftOffice。作為MicrosoftOffice組件之一的MicrosoftAccess是在Windows環(huán)境下非常流行的桌面型數(shù)據(jù)庫(kù)管理系統(tǒng)。Access既擁有用戶界面(VB可以用來開發(fā)用戶界面);也擁有邏輯、流程處理,即VBA語言(VB也可以用來做邏輯處理);又可以存儲(chǔ)數(shù)據(jù),即在“表”中存儲(chǔ)數(shù)據(jù)。使用MicrosoftAccess無需編寫任何代碼,只需通過直觀的可視化操作就可以完成大部分?jǐn)?shù)據(jù)管理任務(wù)。在MicrosoftAccess數(shù)據(jù)庫(kù)中,包括許多組成數(shù)據(jù)庫(kù)的基本要素。這些要素是存儲(chǔ)信息的表、顯示人機(jī)交互界面的窗體、有效檢索數(shù)據(jù)的查詢、信息輸出載體的報(bào)表、提高應(yīng)用效率的宏、功能強(qiáng)大的模塊工具等。
5.VisualFoxPro。VisualFoxPro是Microsoft公司VisualStudio系列開發(fā)產(chǎn)品之一,簡(jiǎn)稱VFP是Xbase數(shù)據(jù)庫(kù)家族的成員,可以運(yùn)行于Windows9X/2000和WindowsNT平臺(tái)的32位的數(shù)據(jù)庫(kù)開發(fā)系統(tǒng)。VisualFoxPro提供了一個(gè)功能強(qiáng)大的集成化開發(fā)環(huán)境,采用可視化和面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,使數(shù)據(jù)管理和應(yīng)用程序的開發(fā)更加簡(jiǎn)便。VisualFoxPro是數(shù)據(jù)庫(kù)管理軟件,可實(shí)現(xiàn)數(shù)據(jù)與應(yīng)用程序獨(dú)立。
二、如何選擇適合自己的數(shù)據(jù)庫(kù)軟件
1.按性能應(yīng)從以下幾個(gè)方面予以考慮:
(1)構(gòu)造數(shù)據(jù)庫(kù)的難易程度;(2)程序開發(fā)的難易程度;(3)數(shù)據(jù)庫(kù)管理系統(tǒng)的性能分析;(4)對(duì)分布式應(yīng)用的支持;(5)并行處理能力;(6)可移植性和可擴(kuò)展性;(7)數(shù)據(jù)完整性約束;(8)并發(fā)控制功能;(9)容錯(cuò)能力;(10)安全性控制;(11)支持漢字處理能力。
2.按需求來選擇
選擇一個(gè)數(shù)據(jù)庫(kù)的主要理由就是它的功能是否可以很好地支持你的應(yīng)用程序。人們通常使用數(shù)據(jù)庫(kù)來完成的任務(wù)有:支持Web、事務(wù)處理、文本搜索,有的情況下復(fù)制也是一個(gè)重要的要求。在事務(wù)處理方面,Oracle看上去更有領(lǐng)先優(yōu)勢(shì),接下來是微軟的SQLServer。沒有一個(gè)開源數(shù)據(jù)庫(kù)具有可以與Oracle相媲美的事務(wù)處理功能。
3.按易用性和管理來選擇;
4.按支持性來選擇;
5.按成本因素來選擇。
三、結(jié)論
Oracle是商業(yè)數(shù)據(jù)庫(kù)的代表,具有非常豐富的功能、廣泛的平臺(tái)支持和大量的附加功能。目前Access更常用一些,Access不是一種存儲(chǔ)格式,是一種軟件。ACCESS這個(gè)軟件本身就具有開發(fā)者使用的界面和適合于“最終用戶”的界面。但學(xué)習(xí)FoxPro可為學(xué)型數(shù)據(jù)庫(kù)管理軟件大典基礎(chǔ)。微軟的SQLServer只可以運(yùn)行在其Windows操作系統(tǒng)平臺(tái)上。不過由于Windows操作系統(tǒng)的廣泛普及,缺乏對(duì)其他系統(tǒng)的支持并沒有阻擋SQLServer的市場(chǎng)份額的增長(zhǎng)。SQLServer是真正的中大型數(shù)據(jù)庫(kù),VFP是桌面數(shù)據(jù)庫(kù),使用方便、易學(xué),但實(shí)際上犧牲了真正數(shù)據(jù)庫(kù)的一些功能,如安全性;此外,VFP既是數(shù)據(jù)庫(kù)又是編程語言(開發(fā)工具)。SQLServer是中大型數(shù)據(jù)庫(kù),VFP是帶有自身數(shù)據(jù)庫(kù)的編程語言。
總體來說,選擇什么樣的數(shù)據(jù)庫(kù)要看你的應(yīng)用程序的需要。如果它是以閱讀數(shù)據(jù)庫(kù)為主的Web應(yīng)用,MySQL無疑是最佳選擇。而如果需要那些事務(wù)處理和復(fù)雜的數(shù)據(jù)庫(kù)功能,那么可選擇Oracle和微軟的SQLServer。如果你需要一些商業(yè)數(shù)據(jù)庫(kù)的高級(jí)功,但又不想支付授權(quán)費(fèi)用,那么可以考慮PostgreSQL或Ingres。對(duì)于嵌入式數(shù)據(jù)庫(kù)應(yīng)用,MySQL和Sybase所占有的系統(tǒng)資源最少。總之,最適合的才是最好的!
參考文獻(xiàn):
[1]劉守根.數(shù)據(jù)庫(kù)管理系統(tǒng)的現(xiàn)狀和發(fā)展方向初探.內(nèi)江科技,2006,(2).
[2]陳業(yè)斌.分布式數(shù)據(jù)庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).安徽工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,(3).
[3]姬志剛.計(jì)算機(jī)、網(wǎng)絡(luò)與信息社會(huì).科技咨詢導(dǎo)報(bào),2006,(20).
[4]薛向陽.數(shù)據(jù)庫(kù)管理系統(tǒng)的開發(fā)與程序的設(shè)計(jì).渭南師范學(xué)院學(xué)報(bào),2005,(2)
2數(shù)據(jù)庫(kù)自動(dòng)分片設(shè)計(jì)
管理系統(tǒng)在運(yùn)行中會(huì)產(chǎn)生大量的寫操作,進(jìn)而帶來頻繁的磁盤I/O操作,在大數(shù)據(jù)下,最好采用將數(shù)據(jù)庫(kù)分布在多臺(tái)服務(wù)器上,即分片[7]。本文采用Auto-Sharding(自動(dòng)分片)及Replic-Set(復(fù)本集)相結(jié)合的方式來減輕單個(gè)數(shù)據(jù)庫(kù)服務(wù)器的負(fù)載,即在每臺(tái)Server上各自運(yùn)行一個(gè)實(shí)例,組成一個(gè)Replic-Set,最后再各運(yùn)行一個(gè)實(shí)例,組成ConfigServer。直接執(zhí)行Addshard操作即可增加分片以緩解服務(wù)器的壓力,實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展。分片的實(shí)現(xiàn)重點(diǎn)在于片鍵設(shè)計(jì)。本文將保存天線參數(shù)信息的集合聲明了一個(gè)復(fù)合片鍵{Lacci:1,Day:1}。當(dāng)來自不同的小區(qū)(可以根據(jù)Lacci進(jìn)行判斷)向集群系統(tǒng)插入數(shù)據(jù)時(shí),可以預(yù)計(jì)到在大部分情況下,同一小區(qū)的數(shù)據(jù)會(huì)落在單個(gè)塊或片上。
3數(shù)據(jù)庫(kù)查詢的實(shí)現(xiàn)
數(shù)據(jù)查詢功能為本數(shù)據(jù)庫(kù)設(shè)計(jì)的重要功能之一。數(shù)據(jù)庫(kù)將小區(qū)信息、天線參數(shù)等相關(guān)的數(shù)據(jù)信息根據(jù)用戶的要求,以界面或報(bào)表的形式全部或部分的顯示給用戶。基于本數(shù)據(jù)庫(kù)的設(shè)計(jì),用戶通過數(shù)據(jù)查詢菜單進(jìn)入相應(yīng)查詢界面,獲取小區(qū)信息、終端信息及告警信息等。實(shí)現(xiàn)“天線工程參數(shù)查詢”功能的工作流程如圖3所示。為了實(shí)現(xiàn)小區(qū)天線參數(shù)查詢功能,客戶端需要向數(shù)據(jù)庫(kù)發(fā)送2次請(qǐng)求,用戶根據(jù)需求,向控制器發(fā)送查詢請(qǐng)求,控制器處理查詢命令,對(duì)相應(yīng)的小區(qū)進(jìn)行信息查詢,待小區(qū)返回信息后,將用戶的查詢命令發(fā)送至對(duì)應(yīng)小區(qū),根據(jù)需求讀取有用信息,并返回給用戶。跟關(guān)系型數(shù)據(jù)庫(kù)相比,由于省去了大量的多表連接操作,實(shí)際上查詢的效率要高于基于關(guān)系型數(shù)據(jù)庫(kù)的多表連接查詢。查詢工作的SQL語句如下。
4數(shù)據(jù)庫(kù)備份與恢復(fù)
數(shù)據(jù)安全在數(shù)據(jù)庫(kù)設(shè)計(jì)中有很重要的地位。在各種意外情況下,如計(jì)算機(jī)硬件故障等,對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份和恢復(fù)能夠保障數(shù)據(jù)的完整性和安全性,使得數(shù)據(jù)損失降到最小[8]。本數(shù)據(jù)庫(kù)設(shè)計(jì)的備份選用的是副本集的方式[7]:在主節(jié)點(diǎn)上進(jìn)行操作,寫入的數(shù)據(jù)被一步地同步到所有的從節(jié)點(diǎn)上,并從主節(jié)點(diǎn)或從節(jié)點(diǎn)上讀取數(shù)據(jù),如果主節(jié)點(diǎn)由于某些原因斷線,會(huì)自動(dòng)將一個(gè)從節(jié)點(diǎn)提升為主節(jié)點(diǎn)。在查詢分析器中運(yùn)用SQL語句完成數(shù)據(jù)庫(kù)的備份和恢復(fù)。在數(shù)據(jù)庫(kù)管理界面中,用戶通過數(shù)據(jù)庫(kù)備份與恢復(fù)功能進(jìn)行相應(yīng)操作,確保數(shù)據(jù)的正確行和完整性。
二、為什么用ASP
隨著Internet的發(fā)展,靜態(tài)Web站點(diǎn)的開發(fā)與維護(hù)變得越來越困難,一方面信息的不斷增加和變化,使站點(diǎn)維護(hù)人員不得不經(jīng)常修改他們的網(wǎng)頁,特別是基于數(shù)據(jù)庫(kù)驅(qū)動(dòng)的Web站點(diǎn)更是如此;另一方面靜態(tài)網(wǎng)頁由于不能與瀏覽者進(jìn)行有效交互,使人們感到越來越乏味,而不愿意再一次地進(jìn)入同一站點(diǎn)。所以開發(fā)動(dòng)態(tài)網(wǎng)頁或動(dòng)態(tài)內(nèi)容成了越來越多的站點(diǎn)所追求目標(biāo)。所謂動(dòng)態(tài)內(nèi)容是由每一個(gè)用戶按照自己的需求發(fā)出請(qǐng)求而特殊制作的Web網(wǎng)頁,例如訪問某一網(wǎng)站的新用戶得到的歡迎詞與重新返回到該站點(diǎn)的用戶得到的歡迎詞是不同的。
三、ASP的特點(diǎn)
ASP具有學(xué)習(xí)快、設(shè)計(jì)快的特點(diǎn),不需花許多時(shí)間即可學(xué)會(huì)和快速設(shè)計(jì)出WEB應(yīng)用程序。
ASP的源程序碼在服務(wù)器端執(zhí)行,代碼保密性好。
集成與HTML中,無需編譯鏈接可直接執(zhí)行;使用文本編輯器如記事本,即可設(shè)計(jì)。
與瀏覽器無關(guān),用戶端只要使用常規(guī)可執(zhí)行HTML代碼的瀏覽器。
ASP是面向?qū)ο蟮模∣bject_Oriented)
四、ASP與其它相關(guān)技術(shù)的比較
隨著Internet的發(fā)展,靜態(tài)Web站點(diǎn)的開發(fā)與維護(hù)變得越來越困難,一方面信息的不斷增加和變化使站點(diǎn)維護(hù)人員不得不經(jīng)常修改他們的網(wǎng)頁,特別是基于數(shù)據(jù)庫(kù)驅(qū)動(dòng)的Web站點(diǎn)更是如此;另一方面靜態(tài)網(wǎng)頁由于不能與瀏覽者進(jìn)行有效交互,使人們感到越來越乏味,而不愿意再一次地站點(diǎn)。所以開發(fā)動(dòng)態(tài)網(wǎng)頁或動(dòng)態(tài)內(nèi)容成了越來越多的站點(diǎn)所追求目標(biāo)。
所謂動(dòng)態(tài)內(nèi)容是由每一個(gè)用戶按照自己的需求發(fā)出請(qǐng)求而特殊制作的Web網(wǎng)頁,例如訪問某一網(wǎng)站的新用戶得到的歡迎詞與重新返回到該站點(diǎn)的用戶得到的歡迎詞是不同的。有許多技術(shù)可以實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容,目前常用的主要有兩種:CGI(公共網(wǎng)關(guān)接口)和ISAPI。
CGI是開發(fā)較早的技術(shù),它可以很好地實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容,但它有兩個(gè)主要缺點(diǎn)。一是對(duì)每一個(gè)請(qǐng)求(請(qǐng)求一個(gè)頁面)CGI都要產(chǎn)生一個(gè)新的進(jìn)程,同一時(shí)刻發(fā)出的請(qǐng)求越多,服務(wù)器產(chǎn)生的進(jìn)程也就越多。我們知道,產(chǎn)生一個(gè)進(jìn)程是非常耗時(shí)的,而且需要用到大量的服務(wù)器RAM,所以其響應(yīng)時(shí)間相對(duì)較長(zhǎng),特別是當(dāng)進(jìn)程多到某一數(shù)量后,服務(wù)器性能將顯著下降。另一方面,CGI的主要編程語言是C語言,對(duì)大多數(shù)網(wǎng)頁開發(fā)人員來說,要掌握和精通這些編程語言需要花很長(zhǎng)的時(shí)間。
ISAPI針對(duì)CGI第一個(gè)缺點(diǎn)進(jìn)行了改進(jìn),利用DLL(動(dòng)態(tài)鏈接庫(kù))技術(shù),以線程代替進(jìn)程,提高了性能和速度,但要考慮線程的同步問題,而且開發(fā)步驟煩瑣。
ASP除了提供CGI的所有功能外,還具有許多顯著的優(yōu)點(diǎn)。ASP運(yùn)行在Web服務(wù)器的同一個(gè)進(jìn)程中,可以更快、更有效地處理客戶請(qǐng)求;ASP提供更方便、更簡(jiǎn)單的訪問數(shù)據(jù)庫(kù)的方法,使開
發(fā)基于數(shù)據(jù)庫(kù)驅(qū)動(dòng)的Web應(yīng)用程序更加容易;ASP支持幾乎所有的腳本語言,如VBScript、Jscript和Perl,其主要腳本語言VBScript是基于眾多編程人員非常熟悉VisualBasic語言,所以ASP更容易被人們所接受。
五、ASP的工作過程
ASP技術(shù)直接建立于微軟的Web服務(wù)器之中,所有微軟的Web服務(wù)器都支持ASP,如WindowsNTInternetInformationServer(IIS),WindowsNTWorkstation以及Windows95PersonalWebServer。你不要擔(dān)心瀏覽器是否能執(zhí)行你的ASP程序,你的WEB服務(wù)器會(huì)自動(dòng)把ASP程序碼,解釋為HTML格式的主頁內(nèi)容,再送到用戶端的瀏覽器顯示出來。如圖1所。
六、用ASP實(shí)現(xiàn)用戶登陸WEB數(shù)據(jù)庫(kù)
在ASP中訪問數(shù)據(jù)庫(kù),可采用ASP內(nèi)置ActiveX服務(wù)器組件棗數(shù)據(jù)庫(kù)訪問組件,使用ActiveXDataObject(ActiveX數(shù)據(jù)對(duì)象,簡(jiǎn)稱ADO)的技術(shù)。ADO通過在WEB服務(wù)器上設(shè)定ODBC,來建立與多種數(shù)據(jù)庫(kù)的連接,其中包括SQLServer、Oracle、Foxpro等各種大、中、小型數(shù)據(jù)庫(kù)。下面我們舉例說明用ASP實(shí)現(xiàn)用戶登陸WEB數(shù)據(jù)庫(kù)的過程。
1.用戶在客戶機(jī)瀏覽器上輸入一個(gè)URL地址并回車,請(qǐng)求一個(gè)頁面。
例如yin/User_Login/default.htm。
2.服務(wù)器接受用戶請(qǐng)求,調(diào)出相應(yīng)頁面(假設(shè)該頁面含有一個(gè)表單)。
例如default.htm,其代碼如下:
<html>
<head>
<metaname="GENERATOR"content="MicrosoftFrontPage3.0">
<title>系統(tǒng)登錄</title>
</head>
<h2align="center">系統(tǒng)登錄</h2><hr>
<formmethod="post"action=”user_login.asp”name=”form”>
<center>
請(qǐng)輸入用戶名:<inputname="username"type="text">
請(qǐng)輸入口令:<inputtype="password"name="password"size="14">
<br>
<inputtype="submit"value="登錄"name="submit">
<inputtype="reset"value="復(fù)位"name="reset">
</center></form></body>
</html>
2數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)
2.1數(shù)據(jù)庫(kù)選擇
由于科研管理的保密性,本校科研管理不對(duì)校外開放,基本不用考慮并行查詢的系統(tǒng)需求,另外,鑒于本系統(tǒng)目標(biāo)用戶普遍應(yīng)用Windows系統(tǒng),所以項(xiàng)目采用了WindowsServers系統(tǒng)下的SQLServer,在跨平臺(tái)操作時(shí),可直接用SQL語言進(jìn)行數(shù)據(jù)讀寫和查詢等操作命令.用于數(shù)據(jù)庫(kù)中的標(biāo)準(zhǔn)數(shù)據(jù)查詢語言項(xiàng)目在開發(fā)過程中得到了驗(yàn)證.
2.2數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)
數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì)一定是在項(xiàng)目的最初完成的.構(gòu)造數(shù)據(jù)庫(kù)必須考慮所有需求規(guī)則.在關(guān)系數(shù)據(jù)庫(kù)中,我們習(xí)慣稱之為范式,參考關(guān)系數(shù)據(jù)庫(kù)的多種范式,依據(jù)科研管理的需求分析,為擴(kuò)大操作功能和減少冗余度選擇了第三范式.科研工作者的信息是貫穿于整個(gè)數(shù)據(jù)庫(kù)中的,必須單獨(dú)建立的,同時(shí)為了避免多人同名可以采用唯一身份證號(hào)碼加以區(qū)別.其表內(nèi)信息依據(jù)需要建立以下字段:包括年齡、性別、單位院系、職務(wù)職稱、技術(shù)領(lǐng)域、個(gè)人信息(電話)等.每個(gè)表單都有一個(gè)和人員相關(guān)的字段,這個(gè)字段可以是工作證號(hào),也可以是身份證號(hào)碼.每個(gè)表單都可以單獨(dú)進(jìn)行,甚至可以在備份的同時(shí)也不影響錄入.如果將來需要查詢某科研人員的詳細(xì)成果,只要每個(gè)庫(kù)調(diào)用相同工作證號(hào)或身份證等就可以.科研經(jīng)費(fèi)是每年國(guó)家審計(jì)管理的重點(diǎn),每筆經(jīng)費(fèi)一定要保證和唯一項(xiàng)目編號(hào)準(zhǔn)確對(duì)應(yīng).所以建立經(jīng)費(fèi)和經(jīng)費(fèi)分配兩獨(dú)立表單.兩個(gè)單獨(dú)表中經(jīng)費(fèi)都含有項(xiàng)目編號(hào),這個(gè)項(xiàng)目編號(hào)和項(xiàng)目管理中的項(xiàng)目編號(hào)一致.由于項(xiàng)目管理表中有人員信息相連,所以只要通過調(diào)出科研經(jīng)費(fèi)相關(guān)聯(lián)的項(xiàng)目編號(hào)后自動(dòng)在邏輯層調(diào)用項(xiàng)目表和科研工作者庫(kù)中信息,就可以得到全面的經(jīng)費(fèi)信息.而經(jīng)費(fèi)分配表中的人員必須符合人員庫(kù),這樣就杜絕了非項(xiàng)目人員經(jīng)費(fèi)報(bào)銷的可能性,大大降低了查找同一個(gè)人員參加的不同項(xiàng)目的經(jīng)費(fèi)結(jié)果的復(fù)雜度.成果管理模塊通過建立專門的成果庫(kù),成果庫(kù)可以包括論文、專著、專利、軟件著作權(quán)等.在設(shè)計(jì)時(shí)同樣建立一個(gè)單獨(dú)的表,而成果中也有和經(jīng)費(fèi)模塊一樣的地方,也就是包含項(xiàng)目人員,這樣將來查詢某人員的時(shí)候,項(xiàng)目和成果可以一起得出.
2.3用戶接口設(shè)計(jì)
根據(jù)科研管理需求分析,設(shè)計(jì)為多用戶.第一種是數(shù)量最多的科研工作者的訪問模塊,每個(gè)科研人員可以利用互聯(lián)網(wǎng)將在任何地點(diǎn)輸入本人的科研信息和成果,這樣可以將科研管理人員從大量錄入科研工作者的項(xiàng)目成果、專利等繁瑣工作中擺脫出來,同時(shí)也可以在保密許可范圍內(nèi)查詢到自己參加過的所有項(xiàng)目、論文和成果;第二種是科研管理人員的入口(科研處人員),科研管理人員必須通過授權(quán)才可以通過接口進(jìn)入后臺(tái).在有記錄的情況下,直接管理數(shù)據(jù),包括輸入到數(shù)據(jù)庫(kù)、項(xiàng)目審核、項(xiàng)目修改(教師錄入錯(cuò)誤等)及刪除等.這個(gè)入口可看到項(xiàng)目和經(jīng)費(fèi),還可以審批經(jīng)費(fèi)等管理功能.超級(jí)管理員還可以對(duì)科研工作者授權(quán),使之對(duì)本人輸入數(shù)據(jù)的錯(cuò)誤進(jìn)行修正.一般來說,科研處的分工有多細(xì),這個(gè)入口就有多細(xì).比如項(xiàng)目管理科的人員就只能針對(duì)項(xiàng)目管理,項(xiàng)目經(jīng)費(fèi)管理科只能針對(duì)項(xiàng)目經(jīng)費(fèi)管理和項(xiàng)目狀態(tài)管理等.這樣,在管理上的細(xì)分導(dǎo)致多用戶之間是嚴(yán)格不相關(guān)并且不能互相越權(quán)管理.
3數(shù)據(jù)庫(kù)接口應(yīng)用
本校科研管理平臺(tái)用戶功能在面板左側(cè)以項(xiàng)目為例:分別為項(xiàng)目錄入、項(xiàng)目修改、項(xiàng)目查詢和項(xiàng)目分析.
3.1項(xiàng)目錄入
該平臺(tái)突破了傳統(tǒng)的手工錄入方法,避免了項(xiàng)目數(shù)量巨大,錄入工期長(zhǎng)等問題.最重要的是保證了非手工錄入的正確率.創(chuàng)新方法為先在熟悉科研管理方法的基礎(chǔ)上提出一個(gè)完善的項(xiàng)目資料存檔要求,并對(duì)每個(gè)存檔內(nèi)容給予明確的指示,應(yīng)包含一個(gè)科研項(xiàng)目的所有基本信息.其中項(xiàng)目類型中應(yīng)包含附加屬性,如是否雙十項(xiàng)目等;項(xiàng)目狀態(tài)應(yīng)添加自動(dòng)修改的功能,當(dāng)項(xiàng)目合同時(shí)間已到卻仍未結(jié)題者,項(xiàng)目應(yīng)變更為延期.當(dāng)所有功能都已確定完成后,直接由項(xiàng)目負(fù)責(zé)人提供符合后臺(tái)數(shù)據(jù)庫(kù)格式的excel表格,無論申報(bào)還是結(jié)題,都由各科研處統(tǒng)一通過審核將各個(gè)項(xiàng)目表格匯總,項(xiàng)目錄入工作就是直接導(dǎo)入.這樣大大避免了手工錄入的人為錯(cuò)誤.如果有臨時(shí)的突然增加項(xiàng)目,讓項(xiàng)目負(fù)責(zé)人填好相應(yīng)表格,直接導(dǎo)入即可.
3.2前臺(tái)的查詢功能
前臺(tái)應(yīng)將任意條件如項(xiàng)目名稱、項(xiàng)目負(fù)責(zé)人、工作單位和項(xiàng)目編號(hào)等檢索,同時(shí)應(yīng)考慮到將來的科研管理需求,如想查詢所有結(jié)題項(xiàng)目或經(jīng)費(fèi)等于4萬的項(xiàng)目等其他條件等,這樣的檢索可以讓我們?cè)谧筮叺目蛇x字段中自由搭配,以便于應(yīng)對(duì)不同的科研管理需求.所以平臺(tái)開發(fā)為檢索條件完全自由組合。
3.3項(xiàng)目修改
設(shè)計(jì)了對(duì)應(yīng)不同功能的不同賬號(hào),并分別給予不同權(quán)限,如普通院系老師給予查詢功能,首先通過教師的身份證號(hào)或者工資卡號(hào)等登陸,教師一旦登陸就相當(dāng)于默認(rèn)為查詢自己的所有項(xiàng)目.如果是科研處的管理科研工作者登陸,則可以修改和確認(rèn).為防止科研處管理科研工作者的人工誤差,可以在確認(rèn)上有兩個(gè)賬號(hào),由領(lǐng)導(dǎo)審核后方可生效.
3.4數(shù)據(jù)導(dǎo)出
項(xiàng)目查詢完畢后,可以導(dǎo)出的EXCEL表格應(yīng)是前面檢索條件下檢索結(jié)果的表格,要求應(yīng)包含所有的科研信息.由于現(xiàn)有的數(shù)據(jù)倉(cāng)庫(kù)技術(shù)發(fā)展,將導(dǎo)出的數(shù)據(jù)中與現(xiàn)有其他數(shù)據(jù)來源(如其他大學(xué)的科研數(shù)據(jù)分析圖)對(duì)比,可根據(jù)對(duì)比數(shù)據(jù)修整本校科研發(fā)展的方向.