国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的應(yīng)用系統(tǒng)開發(fā)

2013-04-29 00:44:03楊麗雯尹華松張永繼
電腦知識與技術(shù) 2013年9期
關(guān)鍵詞:數(shù)據(jù)模型

楊麗雯 尹華松 張永繼

摘要:介紹了面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(OODBS)的基本原理,引入了利用基于開源的面向?qū)ο髷?shù)據(jù)庫DB4O實現(xiàn)OODBS的方法。在此基礎(chǔ)上,利用DB4O對“新聞信息系統(tǒng)中的內(nèi)容管理器”進行了設(shè)計,展示了利用DB4O實現(xiàn)OODBS具體應(yīng)用的方法和途徑。

關(guān)鍵詞:面向?qū)ο髷?shù)據(jù)庫系統(tǒng);數(shù)據(jù)模型;內(nèi)容管理系統(tǒng)

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2013)09-2033-04

1 面向?qū)ο笈c面向?qū)ο髷?shù)據(jù)庫系統(tǒng)

面向?qū)ο螅∣O)方法的核心思想,是將系統(tǒng)問題域中的實體對象,直接映射為軟件的構(gòu)成元素。認為客觀世界本來是由許多不同種類的對象構(gòu)成的,在不同對象之間的相互聯(lián)系和相互作用下,才構(gòu)成完整的事物。

面向?qū)ο蠓椒▽W(xué)所引入的對象、方法、消息、類、實例、繼承性、封裝性等重要概念,為軟件開發(fā)的分析和設(shè)計帶來新的思維過程和方法,對于實現(xiàn)大型的、復(fù)雜的系統(tǒng)分析和設(shè)計奠定了良好的科學(xué)技術(shù)基礎(chǔ)。

近年以來,數(shù)據(jù)庫開發(fā)商們都已經(jīng)在關(guān)系數(shù)據(jù)庫系統(tǒng)中很好地支持了對象到關(guān)系表的映射,如Oracle8i 、DB2-5等等。但是,利用面向?qū)ο蠼<夹g(shù)所建立起來的對象模型,無法直接映射到關(guān)系結(jié)構(gòu)中,需要通過某種方法,進行必不可少的轉(zhuǎn)換。但是更重要的,是概念上的混亂和額外開發(fā)負擔(dān)所帶來的問題。

面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(OODBS)能直接對應(yīng)面向?qū)ο螅∣O)數(shù)據(jù)模型,支持自定義的各種數(shù)據(jù)類型和結(jié)構(gòu),并提供數(shù)據(jù)建?;A(chǔ)上的復(fù)雜數(shù)據(jù)操縱能力,包括:定義專用的控制運算,定義語義關(guān)系運算,以及事務(wù)管理運算,等等。

OODBS 是持久共享對象庫的管理者;每個對象庫對應(yīng)模型所定義的對象集合。

2 面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的特性

面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(OODBS) 賦予數(shù)據(jù)庫設(shè)計和應(yīng)用開發(fā)人員很強的面向?qū)ο竽芰?,從而大大擴展了數(shù)據(jù)庫系統(tǒng)的應(yīng)用領(lǐng)域,提高了開發(fā)人員的工作效率和應(yīng)用系統(tǒng)的質(zhì)量。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)具有以下特性:

① 具有表示和構(gòu)造復(fù)雜對象的能力。

② 封裝性和信息隱藏技術(shù)提供了程序的模塊化機制。

③ 能夠表達繼承和類層次的關(guān)系。

④ 一般為原生數(shù)據(jù)庫,直接使用編程語言操作數(shù)據(jù)庫,提高程序員開發(fā)持久層階段的效率。

3 開源的面向?qū)ο蟮臄?shù)據(jù)庫DB4O

DB4O(Database 4 Object)就是一家來自加州硅谷的開源面向?qū)ο髷?shù)據(jù)庫公司 db4objects 設(shè)計和實現(xiàn)的一款開源的性能卓越的純面向?qū)ο髷?shù)據(jù)庫。目前支持.NET和java兩種編程語言。

db4o主要特性如下:

① 100% 原生的面向?qū)ο髷?shù)據(jù)庫。

② 高性能db4o 官方公布的基準測試數(shù)據(jù),如表1所示(表中的數(shù)值表示相對速度)。db4o 比采用 Hibernate/MySQL 方案在某些測試線路上速度高出 44 倍之多!并且安裝簡單,僅僅需要 400Kb 左右的 .jar 或 .dll 庫文件。

③ 支持多種平臺db4o 支持從 Java 1.1 到 Java 5.0,此外還支持 .NET 、 CompactFramework 、 Mono 等。

④ 開源模式 與其他 ODBMS 不同,db4o 為開源軟件,通過開源社區(qū)的力量驅(qū)動開發(fā) db4o 產(chǎn)品。

4 J2EE系統(tǒng)的設(shè)計

目前比較成熟的WEB應(yīng)用的模型,即J2EE系統(tǒng)的架構(gòu)模型——MVC2,MVC+Struts,如圖1所示。

本研究結(jié)合面向?qū)ο髷?shù)據(jù)庫DB4O的特性和J2EE系統(tǒng)的特性,以內(nèi)容管理系統(tǒng)CMS(Content Management System)作為實現(xiàn)的載體。

4.1 內(nèi)容管理系統(tǒng)模塊的設(shè)計

根據(jù)新聞管理系統(tǒng)的特殊性,分為前臺系統(tǒng)和后臺管理系統(tǒng)。前臺系統(tǒng)的功能模塊如圖2所示。

后臺管理的系統(tǒng)功能模塊如圖3所示。

4.2 內(nèi)容管理系統(tǒng)數(shù)據(jù)庫設(shè)計

內(nèi)容管理系統(tǒng)最為主要的數(shù)據(jù)庫表的設(shè)計新聞這張表,其他的表的設(shè)計都是圍繞這張表進行,所以整個系統(tǒng)的數(shù)據(jù)庫表的設(shè)計如圖4所示。

所有表的id都由系統(tǒng)生成唯一的標識,User作為News表的user屬性的類型,Type作為News表的type屬性的類型,Comment作為News表的comments屬性的類型,并且comments還是數(shù)組類型,這樣能夠很好的體現(xiàn)此系統(tǒng)中每個數(shù)據(jù)表的對象關(guān)系。

4.3 內(nèi)容管理系統(tǒng)的實現(xiàn)

由于面向?qū)ο髷?shù)據(jù)庫DB4O不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,而其中最大的特點是不再有sql語句對數(shù)據(jù)庫進行操作,所以對于和數(shù)據(jù)庫交互的開啟、關(guān)閉、增、刪、改、查的操作封裝城公用類(BaseDAO)進行相關(guān)的操作。而這些對數(shù)據(jù)庫的操作中最有特點的則是查詢,因為沒有sql語句,所以在此封裝了一個玫舉用于判斷對于某個字段的查詢是相等,相似,大于,小于,還是不相等。查詢操作符的玫舉封裝代碼,如圖5所示。

在查詢操作時就能夠和關(guān)系數(shù)據(jù)庫類似的進行相等、相似、大于、小于、不相等的查詢。生成組合查詢條件的代碼,如圖6所示。

生成組合查詢條件的代碼說明:傳入?yún)?shù),query為查詢條件的實例,fields為查詢的字段名,values為對應(yīng)查詢字段具體的值,queryTypes為對應(yīng)查詢條件的操作類型即相等、相似、大于、小于、不相等之一。Fields,values,queryTypes為相同大小的數(shù)組,并且按照數(shù)組下標一一對應(yīng)。

4.4 新聞系統(tǒng)的特殊查詢

新聞系統(tǒng)大部分的操作都是查看最新的新聞,結(jié)合DB4O數(shù)據(jù)庫在執(zhí)行查詢(client.query())時的一些特性,即每次會取出數(shù)據(jù)庫中此對象類的所有IDs,此處為所有News對象的ID。所以,單獨對這部分操作進行處理。多個查詢操作在一段短時間訪問getNewsList方法時,在第一個查詢操作還沒有關(guān)閉數(shù)據(jù)庫之前到來的查詢,繼續(xù)使用第一個操作查詢打開的連接和得到的數(shù)據(jù)集合對象(ObjectSet)由此提高性能。

5 結(jié)束語

面向?qū)ο蟮臄?shù)據(jù)庫在J2EE系統(tǒng)中的應(yīng)用,就目前而言應(yīng)用不是很廣泛,但是就其自身的特性在某一些領(lǐng)域運用面向?qū)ο蟮臄?shù)據(jù)庫可能會起到優(yōu)化系統(tǒng),提高性能的作用。目前DB4O是主要用于嵌入式應(yīng)用開發(fā)的數(shù)據(jù)庫,但是它優(yōu)良的性能,而且比較優(yōu)秀的事務(wù)管理,同樣能讓其在企業(yè)應(yīng)用中合理的應(yīng)用能發(fā)揮很好的作用。此內(nèi)容管理系統(tǒng)是把面向?qū)ο蟮臄?shù)據(jù)庫DB4O用于J2EE項目中的一次嘗試,并且取得了不錯的效果。不過是不是適合更復(fù)雜的企業(yè)應(yīng)用系統(tǒng)還需要進一步的探索和研究。

參考文獻:

[1] 夏素霞,袁宗福,金立平.OO模型中ODL語言的研究與實現(xiàn)[J].計算機應(yīng)用與軟件,2005(5).

[2] 王意潔.面向?qū)ο髷?shù)據(jù)庫的并行查詢處理與事務(wù)管理[M].長沙:國防科技大學(xué)出版社,2005.

[3] 徐潔磐.面向?qū)ο髷?shù)據(jù)庫系統(tǒng)及其應(yīng)用[M].北京:科學(xué)出版社,2003.

[4] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概念[M].北京:高等教育出版社,2006.

[5] (印度) Kumar B V, Sangeetha S, Subrahmanya S V.深入淺出J 2 EE架構(gòu) 應(yīng)用程序設(shè)計與部署的原理[M].北京:清華大學(xué)出版社,2006.

[6] (美) Darren Broemmer.J 2 EE應(yīng)用與實踐技巧 Java設(shè)計模式、自動化與性能[M].北京:電子工業(yè)出版社,2004.

[7] Rosen Jiang,張黃矚,Chris.開源面向?qū)ο髷?shù)據(jù)庫DB4O之旅[EB/OL].http://www.ibm.com/developerworks/cn/java/j-db4o/

[8] 《DB4O-6.1-tutorial》,DB4O開發(fā)手冊.

猜你喜歡
數(shù)據(jù)模型
基于Pro/E 的發(fā)射裝置設(shè)計數(shù)據(jù)快速轉(zhuǎn)化方法
面板數(shù)據(jù)模型截面相關(guān)檢驗方法綜述
人民幣匯率波動對張家界入境旅游的影響——基于主要客源國面板數(shù)據(jù)模型的分析
加熱爐爐內(nèi)跟蹤數(shù)據(jù)模型優(yōu)化
電子測試(2017年12期)2017-12-18 06:35:36
財政支出效率與產(chǎn)業(yè)結(jié)構(gòu):要素積累與流動——基于DEA 和省級面板數(shù)據(jù)模型的實證研究
基于PowerDesigner的家庭財務(wù)管理系統(tǒng)的數(shù)據(jù)庫設(shè)計
經(jīng)濟全球化對我國勞動收入份額影響機制研究——基于面板數(shù)據(jù)模型
環(huán)境規(guī)制、行業(yè)異質(zhì)性與區(qū)域產(chǎn)業(yè)集聚——基于省際動態(tài)面板數(shù)據(jù)模型的GMM方法
基于分位數(shù)回歸的電力負荷特性預(yù)測面板數(shù)據(jù)模型
面向集成管理的出版原圖數(shù)據(jù)模型
休宁县| 汽车| 平谷区| 乌拉特中旗| 呼玛县| 木里| 诏安县| 砚山县| 页游| 富锦市| 沙洋县| 西青区| 富阳市| 岳西县| 清流县| 武平县| 洪湖市| 西畴县| 三原县| 通江县| 和硕县| 博乐市| 格尔木市| 阿拉尔市| 拉萨市| 昌邑市| 达尔| 万安县| 井陉县| 汕尾市| 山东| 当涂县| 新平| 夏邑县| 陕西省| 嫩江县| 阳江市| 武威市| 安新县| 大化| 贡嘎县|