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