基于JSON的數(shù)據(jù)庫訪問層研究與應用
發(fā)布時間:2021-03-02 18:00
在關(guān)系型數(shù)據(jù)庫及相關(guān)技術(shù)發(fā)展過程中,SQL作為其查詢與處理數(shù)據(jù)的編程語言。但由于SQL具有自然語言描述的特點,不便于在開發(fā)過程中直接書寫與維護,在實際應用中普遍引入數(shù)據(jù)庫訪問層加以封裝,通過調(diào)用API以構(gòu)建SQL完成查詢。在這一背景下,本文對現(xiàn)有數(shù)據(jù)庫訪問層進行研究與總結(jié),提出了以格式化數(shù)據(jù)轉(zhuǎn)換為核心的數(shù)據(jù)庫訪問層改進方案,在一定程度上解決了現(xiàn)有數(shù)據(jù)庫訪問層鏈式調(diào)用帶來的邏輯難以復用、API格式與編程語言過于耦合的問題。本文的主要研究內(nèi)容如下:在應用系統(tǒng)中,數(shù)據(jù)庫訪問層作為獨立的一部分,需要與其他層級結(jié)構(gòu)進行數(shù)據(jù)傳輸與交換,共同完成工作。因此在數(shù)據(jù)傳輸這一領(lǐng)域,表現(xiàn)形式及技術(shù)手段也在不斷改進,出現(xiàn)了各種各樣的數(shù)據(jù)交換格式。本文對結(jié)構(gòu)化數(shù)據(jù)發(fā)展歷史與現(xiàn)狀進行了調(diào)研,通過橫向?qū)Ρ冗x型,最終選擇了使用JSON作為接口描述格式語言,并基于此進行了數(shù)據(jù)庫訪問層的研究與實現(xiàn)。在數(shù)據(jù)庫訪問層的研究過程中,通過對現(xiàn)有產(chǎn)品的優(yōu)勢與不足進行了分析,結(jié)合目前的技術(shù)研究現(xiàn)狀與實際產(chǎn)品方案,并分析一般用戶操作數(shù)據(jù)庫的需求,給出了它的基本功能定義。在滿足開發(fā)者基礎(chǔ)需求的同時,又新增了以插件系統(tǒng)為核心的擴展功能需求...
【文章來源】:北方工業(yè)大學北京市
【文章頁數(shù)】:71 頁
【學位級別】:碩士
【部分圖文】:
圖1-2?TIBOE官網(wǎng)發(fā)布的2019年3月編程語言排行榜??3??
MongoDB數(shù)據(jù)庫,相比MongoDB官方的數(shù)據(jù)庫驅(qū)動,Mongoose將MongoDB中??的每一個集合映射成Schema,并在Model層封裝了對Schema的操作,構(gòu)建??了完整的對象模型,提供接近于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫^的使用方法。圖2-3是使??用Mongoose操作MongoDB數(shù)據(jù)庫的例子。它定義/—個文學作者數(shù)據(jù)庫的??Schema,并插入了一條作者數(shù)據(jù)。??1?const?mongoose?=?rcquire(?"mongoose1),??3?mongoose.connect('mongodb://localhost?r27017/inongoosesafnp]e?');??4??5?//?定義?User?的?Schema??const?User?=?mongoose.model(?books',?next*?mongoose.Schema({??id:?{type.?Objcctld?),??8?title:?{type:?String},???l?author:?{type:?String),??year:?(type:?Number}??11?}));??n?"推入數(shù)據(jù)??L■?const?user?=?new?User({??::??title:??一卷大腌的風華?,??'■?6?author:??白落梅’
15?/?杳洵後作??knex.?select('?title*,?'author',?'year*?).from('books');?//?執(zhí)行?select???title’,?author',?year'?from?books??圖2-2使用Knex進行SQLite數(shù)據(jù)庫操作??2.?Mongoose??Mongoose同樣基于Node,?js平臺,與Knex.?js不同,Mongoose只支持??MongoDB數(shù)據(jù)庫,相比MongoDB官方的數(shù)據(jù)庫驅(qū)動,Mongoose將MongoDB中??的每一個集合映射成Schema,并在Model層封裝了對Schema的操作,構(gòu)建??了完整的對象模型,提供接近于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫^的使用方法。圖2-3是使??用Mongoose操作MongoDB數(shù)據(jù)庫的例子。它定義/—個文學作者數(shù)據(jù)庫的??Schema,并插入了一條作者數(shù)據(jù)。??1?const?mongoose?=?rcquire(?"mongoose1),??3?mongoose.connect('mongodb://localhost?r27017/inongoosesafnp]e?');??4??5?//?定義?User?的?Schema??const?User?=?mongoose.model(?books',?next*?mongoose.Schema({??id:?{type.?Objcctld?)
【參考文獻】:
期刊論文
[1]區(qū)塊鏈系統(tǒng)的數(shù)據(jù)存儲與查詢技術(shù)綜述[J]. 王千閣,何蒲,聶鐵錚,申德榮,于戈. 計算機科學. 2018(12)
[2]基于云服務的異構(gòu)數(shù)據(jù)庫管理系統(tǒng)的設(shè)計與實現(xiàn)[J]. 石明翔,田濟瑋,李文齊,郭學節(jié). 計算機時代. 2018(12)
[3]我國XBRL應用現(xiàn)狀及存在的關(guān)鍵問題[J]. 段鳳霞,張蕾. 中國管理信息化. 2018(21)
[4]融合大數(shù)據(jù)技術(shù)架構(gòu)在大型商業(yè)銀行海量數(shù)據(jù)分析的應用[J]. 金磐石,朱志,沈麗忠. 計算機系統(tǒng)應用. 2018(10)
[5]可信計算環(huán)境下的數(shù)據(jù)庫強制行為控制研究[J]. 李曄鋒,公備,徐達文,樂嘉錦. 計算機應用與軟件. 2018(08)
[6]SQL數(shù)據(jù)庫的構(gòu)建及其安全管理維護[J]. 楊軍莉. 微型電腦應用. 2018(06)
[7]MVC模式下多層分布式軟件系統(tǒng)架構(gòu)設(shè)計[J]. 劉正,張書鋒,趙鶴鳴. 現(xiàn)代電子技術(shù). 2018(07)
[8]基于日志分析平臺的監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J]. 王力群,黃必棟. 計算機應用與軟件. 2017(12)
[9]大型網(wǎng)站的架構(gòu)研究及解決方案[J]. 周強,謝靖,趙華茗. 計算機科學. 2017(S1)
[10]適配器模式及其應用[J]. 戚利娜. 電子測試. 2017(11)
碩士論文
[1]基于Protobuf的RPC系統(tǒng)的設(shè)計與實現(xiàn)[D]. 王斌斌.電子科技大學 2016
[2]基于函數(shù)式編程語言的設(shè)計模式研究[D]. 劉德財.上海師范大學 2016
[3]HTML5本地存儲和離線緩存機制應用研究[D]. 鄭艷.武漢理工大學 2014
[4]針對非關(guān)系型數(shù)據(jù)庫的海量數(shù)據(jù)的事務處理[D]. 孫寧.上海交通大學 2014
本文編號:3059694
【文章來源】:北方工業(yè)大學北京市
【文章頁數(shù)】:71 頁
【學位級別】:碩士
【部分圖文】:
圖1-2?TIBOE官網(wǎng)發(fā)布的2019年3月編程語言排行榜??3??
MongoDB數(shù)據(jù)庫,相比MongoDB官方的數(shù)據(jù)庫驅(qū)動,Mongoose將MongoDB中??的每一個集合映射成Schema,并在Model層封裝了對Schema的操作,構(gòu)建??了完整的對象模型,提供接近于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫^的使用方法。圖2-3是使??用Mongoose操作MongoDB數(shù)據(jù)庫的例子。它定義/—個文學作者數(shù)據(jù)庫的??Schema,并插入了一條作者數(shù)據(jù)。??1?const?mongoose?=?rcquire(?"mongoose1),??3?mongoose.connect('mongodb://localhost?r27017/inongoosesafnp]e?');??4??5?//?定義?User?的?Schema??const?User?=?mongoose.model(?books',?next*?mongoose.Schema({??id:?{type.?Objcctld?),??8?title:?{type:?String},???l?author:?{type:?String),??year:?(type:?Number}??11?}));??n?"推入數(shù)據(jù)??L■?const?user?=?new?User({??::??title:??一卷大腌的風華?,??'■?6?author:??白落梅’
15?/?杳洵後作??knex.?select('?title*,?'author',?'year*?).from('books');?//?執(zhí)行?select???title’,?author',?year'?from?books??圖2-2使用Knex進行SQLite數(shù)據(jù)庫操作??2.?Mongoose??Mongoose同樣基于Node,?js平臺,與Knex.?js不同,Mongoose只支持??MongoDB數(shù)據(jù)庫,相比MongoDB官方的數(shù)據(jù)庫驅(qū)動,Mongoose將MongoDB中??的每一個集合映射成Schema,并在Model層封裝了對Schema的操作,構(gòu)建??了完整的對象模型,提供接近于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫^的使用方法。圖2-3是使??用Mongoose操作MongoDB數(shù)據(jù)庫的例子。它定義/—個文學作者數(shù)據(jù)庫的??Schema,并插入了一條作者數(shù)據(jù)。??1?const?mongoose?=?rcquire(?"mongoose1),??3?mongoose.connect('mongodb://localhost?r27017/inongoosesafnp]e?');??4??5?//?定義?User?的?Schema??const?User?=?mongoose.model(?books',?next*?mongoose.Schema({??id:?{type.?Objcctld?)
【參考文獻】:
期刊論文
[1]區(qū)塊鏈系統(tǒng)的數(shù)據(jù)存儲與查詢技術(shù)綜述[J]. 王千閣,何蒲,聶鐵錚,申德榮,于戈. 計算機科學. 2018(12)
[2]基于云服務的異構(gòu)數(shù)據(jù)庫管理系統(tǒng)的設(shè)計與實現(xiàn)[J]. 石明翔,田濟瑋,李文齊,郭學節(jié). 計算機時代. 2018(12)
[3]我國XBRL應用現(xiàn)狀及存在的關(guān)鍵問題[J]. 段鳳霞,張蕾. 中國管理信息化. 2018(21)
[4]融合大數(shù)據(jù)技術(shù)架構(gòu)在大型商業(yè)銀行海量數(shù)據(jù)分析的應用[J]. 金磐石,朱志,沈麗忠. 計算機系統(tǒng)應用. 2018(10)
[5]可信計算環(huán)境下的數(shù)據(jù)庫強制行為控制研究[J]. 李曄鋒,公備,徐達文,樂嘉錦. 計算機應用與軟件. 2018(08)
[6]SQL數(shù)據(jù)庫的構(gòu)建及其安全管理維護[J]. 楊軍莉. 微型電腦應用. 2018(06)
[7]MVC模式下多層分布式軟件系統(tǒng)架構(gòu)設(shè)計[J]. 劉正,張書鋒,趙鶴鳴. 現(xiàn)代電子技術(shù). 2018(07)
[8]基于日志分析平臺的監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J]. 王力群,黃必棟. 計算機應用與軟件. 2017(12)
[9]大型網(wǎng)站的架構(gòu)研究及解決方案[J]. 周強,謝靖,趙華茗. 計算機科學. 2017(S1)
[10]適配器模式及其應用[J]. 戚利娜. 電子測試. 2017(11)
碩士論文
[1]基于Protobuf的RPC系統(tǒng)的設(shè)計與實現(xiàn)[D]. 王斌斌.電子科技大學 2016
[2]基于函數(shù)式編程語言的設(shè)計模式研究[D]. 劉德財.上海師范大學 2016
[3]HTML5本地存儲和離線緩存機制應用研究[D]. 鄭艷.武漢理工大學 2014
[4]針對非關(guān)系型數(shù)據(jù)庫的海量數(shù)據(jù)的事務處理[D]. 孫寧.上海交通大學 2014
本文編號:3059694
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3059694.html
最近更新
教材專著