基于JSON的数据库访问层研究与应用
发布时间:2021-03-02 18:00
在关系型数据库及相关技术发展过程中,SQL作为其查询与处理数据的编程语言。但由于SQL具有自然语言描述的特点,不便于在开发过程中直接书写与维护,在实际应用中普遍引入数据库访问层加以封装,通过调用API以构建SQL完成查询。在这一背景下,本文对现有数据库访问层进行研究与总结,提出了以格式化数据转换为核心的数据库访问层改进方案,在一定程度上解决了现有数据库访问层链式调用带来的逻辑难以复用、API格式与编程语言过于耦合的问题。本文的主要研究内容如下:在应用系统中,数据库访问层作为独立的一部分,需要与其他层级结构进行数据传输与交换,共同完成工作。因此在数据传输这一领域,表现形式及技术手段也在不断改进,出现了各种各样的数据交换格式。本文对结构化数据发展历史与现状进行了调研,通过横向对比选型,最终选择了使用JSON作为接口描述格式语言,并基于此进行了数据库访问层的研究与实现。在数据库访问层的研究过程中,通过对现有产品的优势与不足进行了分析,结合目前的技术研究现状与实际产品方案,并分析一般用户操作数据库的需求,给出了它的基本功能定义。在满足开发者基础需求的同时,又新增了以插件系统为核心的扩展功能需求...
【文章来源】:北方工业大学北京市
【文章页数】:71 页
【学位级别】:硕士
【部分图文】:
图1-2?TIBOE官网发布的2019年3月编程语言排行榜??3??
MongoDB数据库,相比MongoDB官方的数据库驱动,Mongoose将MongoDB中??的每一个集合映射成Schema,并在Model层封装了对Schema的操作,构建??了完整的对象模型,提供接近于传统的关系型数据库^的使用方法。图2-3是使??用Mongoose操作MongoDB数据库的例子。它定义/—个文学作者数据库的??Schema,并插入了一条作者数据。??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?"推入数据??L■?const?user?=?new?User({??::??title:??一卷大腌的风华?,??'■?6?author:??白落梅’
15?/?杳洵後作??knex.?select('?title*,?'author',?'year*?).from('books');?//?执行?select???title’,?author',?year'?from?books??图2-2使用Knex进行SQLite数据库操作??2.?Mongoose??Mongoose同样基于Node,?js平台,与Knex.?js不同,Mongoose只支持??MongoDB数据库,相比MongoDB官方的数据库驱动,Mongoose将MongoDB中??的每一个集合映射成Schema,并在Model层封装了对Schema的操作,构建??了完整的对象模型,提供接近于传统的关系型数据库^的使用方法。图2-3是使??用Mongoose操作MongoDB数据库的例子。它定义/—个文学作者数据库的??Schema,并插入了一条作者数据。??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]区块链系统的数据存储与查询技术综述[J]. 王千阁,何蒲,聂铁铮,申德荣,于戈. 计算机科学. 2018(12)
[2]基于云服务的异构数据库管理系统的设计与实现[J]. 石明翔,田济玮,李文齐,郭学节. 计算机时代. 2018(12)
[3]我国XBRL应用现状及存在的关键问题[J]. 段凤霞,张蕾. 中国管理信息化. 2018(21)
[4]融合大数据技术架构在大型商业银行海量数据分析的应用[J]. 金磐石,朱志,沈丽忠. 计算机系统应用. 2018(10)
[5]可信计算环境下的数据库强制行为控制研究[J]. 李晔锋,公备,徐达文,乐嘉锦. 计算机应用与软件. 2018(08)
[6]SQL数据库的构建及其安全管理维护[J]. 杨军莉. 微型电脑应用. 2018(06)
[7]MVC模式下多层分布式软件系统架构设计[J]. 刘正,张书锋,赵鹤鸣. 现代电子技术. 2018(07)
[8]基于日志分析平台的监控系统的设计与实现[J]. 王力群,黄必栋. 计算机应用与软件. 2017(12)
[9]大型网站的架构研究及解决方案[J]. 周强,谢靖,赵华茗. 计算机科学. 2017(S1)
[10]适配器模式及其应用[J]. 戚利娜. 电子测试. 2017(11)
硕士论文
[1]基于Protobuf的RPC系统的设计与实现[D]. 王斌斌.电子科技大学 2016
[2]基于函数式编程语言的设计模式研究[D]. 刘德财.上海师范大学 2016
[3]HTML5本地存储和离线缓存机制应用研究[D]. 郑艳.武汉理工大学 2014
[4]针对非关系型数据库的海量数据的事务处理[D]. 孙宁.上海交通大学 2014
本文编号:3059694
【文章来源】:北方工业大学北京市
【文章页数】:71 页
【学位级别】:硕士
【部分图文】:
图1-2?TIBOE官网发布的2019年3月编程语言排行榜??3??
MongoDB数据库,相比MongoDB官方的数据库驱动,Mongoose将MongoDB中??的每一个集合映射成Schema,并在Model层封装了对Schema的操作,构建??了完整的对象模型,提供接近于传统的关系型数据库^的使用方法。图2-3是使??用Mongoose操作MongoDB数据库的例子。它定义/—个文学作者数据库的??Schema,并插入了一条作者数据。??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?"推入数据??L■?const?user?=?new?User({??::??title:??一卷大腌的风华?,??'■?6?author:??白落梅’
15?/?杳洵後作??knex.?select('?title*,?'author',?'year*?).from('books');?//?执行?select???title’,?author',?year'?from?books??图2-2使用Knex进行SQLite数据库操作??2.?Mongoose??Mongoose同样基于Node,?js平台,与Knex.?js不同,Mongoose只支持??MongoDB数据库,相比MongoDB官方的数据库驱动,Mongoose将MongoDB中??的每一个集合映射成Schema,并在Model层封装了对Schema的操作,构建??了完整的对象模型,提供接近于传统的关系型数据库^的使用方法。图2-3是使??用Mongoose操作MongoDB数据库的例子。它定义/—个文学作者数据库的??Schema,并插入了一条作者数据。??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]区块链系统的数据存储与查询技术综述[J]. 王千阁,何蒲,聂铁铮,申德荣,于戈. 计算机科学. 2018(12)
[2]基于云服务的异构数据库管理系统的设计与实现[J]. 石明翔,田济玮,李文齐,郭学节. 计算机时代. 2018(12)
[3]我国XBRL应用现状及存在的关键问题[J]. 段凤霞,张蕾. 中国管理信息化. 2018(21)
[4]融合大数据技术架构在大型商业银行海量数据分析的应用[J]. 金磐石,朱志,沈丽忠. 计算机系统应用. 2018(10)
[5]可信计算环境下的数据库强制行为控制研究[J]. 李晔锋,公备,徐达文,乐嘉锦. 计算机应用与软件. 2018(08)
[6]SQL数据库的构建及其安全管理维护[J]. 杨军莉. 微型电脑应用. 2018(06)
[7]MVC模式下多层分布式软件系统架构设计[J]. 刘正,张书锋,赵鹤鸣. 现代电子技术. 2018(07)
[8]基于日志分析平台的监控系统的设计与实现[J]. 王力群,黄必栋. 计算机应用与软件. 2017(12)
[9]大型网站的架构研究及解决方案[J]. 周强,谢靖,赵华茗. 计算机科学. 2017(S1)
[10]适配器模式及其应用[J]. 戚利娜. 电子测试. 2017(11)
硕士论文
[1]基于Protobuf的RPC系统的设计与实现[D]. 王斌斌.电子科技大学 2016
[2]基于函数式编程语言的设计模式研究[D]. 刘德财.上海师范大学 2016
[3]HTML5本地存储和离线缓存机制应用研究[D]. 郑艳.武汉理工大学 2014
[4]针对非关系型数据库的海量数据的事务处理[D]. 孙宁.上海交通大学 2014
本文编号:3059694
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3059694.html