




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程论文课程名称:数据库设计与应用(B)任课教师:课程号:学期:2016-2017学年第1学期成绩基于MongoDB的学生信息管理院 系 专 业 班 级 提交时间:2016年 11月 8日基于MongoDB的学生信息管理湖北省武汉,430070摘要:目前,学生信息越来越庞大,管理难度也随之加大,而且传统的数据库又无法跟上时代的浪潮。使用新型的数据库来替代传统数据库成为历史必然。结合所学知识,我使用NoSQL数据库中的一种来实现对学生信息的基本管理。在其中,我选择了MongoDB数据库作为信息管理的数据库。另外,我所编写的管理程序是在cmd下通过使用命令行模式来完成。它能够实现基本的数据库的操作,并且连接MongoDB数据库,对学生信息添加修改查找删除。我设计这种方法是为了能够有效管理学生信息。管理人员如果使用它,便可实现自动化、科学化的管理。关键词:MongoDB数据库;学生信息管理Student Information Management Based on MongoDB DatabaseAbstract: At present, the student information is more and more huge, the management difficulty also will increase, and moreover the traditional database can not keep up with the tide of the times. Using a new type of database to replace the traditional database becomes a historical necessity. Combined with the knowledge, I use NoSQL database in a way to achieve the basic management of student information. Among them, I chose the MongoDB database as the information management database. In addition, I am prepared by the management procedures in cmd through the use of the command line mode to complete. It can achieve the basic database operation, and connect to the MongoDB database, modify the student information to add delete. I designed this method in order to be able to effectively manage student information. If managers use it, can be automated, scientific management.Keywords: MongoDB database; student information management在web2.0时代来临的时代大背景之下,新型数据库的崛起成为历史必然。我研究并使用MongoDB数据实现一个简易的学生信息管理,使其能够简单高效管理数据。目前,相关领域广泛使用的是传统的数据库,比如说MySQL数据库。而我使用的是在web2.0时代运用的MongoDB数据库,目前如何使用新型数据库克服原有数据库的种种不足成为热门。1 NoSQL与MongoDB研究1.1NoSQL概念随着web2.0的快速发展,非关系型、分布式数据存储得到了快速的发展,一些传统的关系数据库在应对web2.0网站,特别在应对是超大规模的web2.0纯动态网站已经显得力不从心,暴露了许多难以克服的问题。在2009年,NoSQL的概念应运而生,NoSQL的拥护者们提倡使用一些非关系型的数据存储。相对于铺天盖地的关系型数据库运用,这一新概念无疑是一种全新的思维的注入。NoSQL最常见的解释是“non-relational”,但是“Not Only SQL”也被很多人接受。虽然还有其他的文档型的、列存储、图型数据库、xml数据库等,在NoSQL概念提出之前,这些数据库就被用于各种系统当中,但是却很少用于web互联网应用,但是我们一般使用NoSQL中的 key-value存储方式,本文采用的也是这种方法。1.2NoSQL的优点与缺点优点:1.具有十分良好的可扩展性。2.类型是分布式计算。3.低成本,很多数据库都是开源免费。4.架构的灵活性,数据是半结构化。5.没有复杂的关系。缺点:1.至今仍然没有标准化。2.只有一些有限的查询功能。2.1MongoDB基本介绍MongoDB名称来源自“humongous”(意思为“巨大无比”),MongoDB 是一个基于分布式文件存储的数据库。它是由C+编写。它能够为WEB应用提供可扩展的数据存储的解决方案。而且在需要更多的存储空间和更强的处理能力的情况下,添加更多的节点,这样就可以保证服务器的性能。MongoDB 是一个介于关系数据库和非关系数据库之间的产品。他支持的数据结构十分松散,反而可以存储一些比较复杂的数据类型。MongoDB 将所有的数据以文档的形式储存,其数据结构由键值(key=value)对组成,这样MongoDB 文档类似于 JSON 对象,字段值可以包含其他文档、数组及文档数组。MongoDB支持各种编程语言:JAVA,C+,PHP,C#等多种语言。Mongo它最大的特点是支持的查询语言十分强大,而且其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且你还可以在MongoDB记录中设置任何属性的索引。目前早已广泛运用在各大型公司以及研究机构。2.2MongoDB的特点(1)面向集合存储,易于存储对象类型的数据;(2)模式十分自由;(3)支持基于文档动态查询,支持完全索引;(4)内置复制和故障恢复;(5)使用高效的二进制数据存储,包括大型对象(如视频等);(6)本身自动处理碎片,以支持云计算层次的扩展性;(7)支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C+语言的驱动程序;(8)文件存储格式为BSON(是一种JSON的扩展);(9)可以在MongoDB记录中设置任何属性的索引;(10)数据库本身支持的自动分片集群(11)原子化的数据操作 n (12)支持Map/Reduce、GridFS2.3MongoDB的实际使用(1)用于对象及JSON数据的存储:MongoDB的BSON数据格式非常适合文档化格式的存储及查询。(2)高伸缩性的应用:实际上MongoDB非常适合由数十或数百台服务器组成的数据库。MongoDB的路线图中已经包含对MapReduce引擎的内置支持。(3)大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,而且在此之前,很多时候程序员往往会选择传统的文件进行存储。(4)缓存:因为它的性能很高,MongoDB也适合作为信息基础设施的缓存层。并且在系统重启之后,由MongoDB搭建的持久化缓存可以避免下层的数据源超量过载。(5)网站的数据:MongoDB非常适合实时的插入、更新与查询,并且具备网站实时数据存储所需的复制及高度伸缩性。MongoDB是一款非常实用的面向文档型非关系数据库,并且主要它应用在微博、博客等的消息存储业务之中,由于存储的数据与金融等行业比起来并不是那么重要,而且对事务也没什么非常严格要求,所以在这种场景下,MongoDB要比关系型数据库更加适合,除此之外,MongoDB的设计考虑了设备故障的场景,所以在设计之初时就做了容灾和故障转移等方面解决方案。2 信息管理设计2.1信息内容的E-R图设计分析了MongoDB数据库后,我们可以基本判断出学生信息大致可以分为五个部分:1.学生姓名部分;2.学生年龄部分;3.学生性别部分;4.学生学号部分;5.学生专业部分。如图2-1所示:学生信息学生专业学生学号学生性别学生年龄学生姓名图2-12.2信息内容的表格设计针对5中不同的学生信息,在下面逐一列出的详细数据库结构:表2-2字段名数据类型数据长度NULL学生姓名Varchar 10 N 学生年龄Int 10 N学生性别Varchar 10 N 学生学号Int 10 Y 学生专业Varchar 10 Y3 实际运行现在来实际运行MongoDB,并观察MongoDB数据库如何能够实现学生信息的管理。在此处我们使用shell,即在命令行模式下对MongoDB进行一些列操作。3.1安装数据库MongoDB提供了可用于32位和64位系统的预编译二进制安装包,可以从MongoDB官网上免费下载安装。在下载之后,按操作提示安装即可,但是要记住安装的路径,此处为了操作方便选择安装在D盘。而且在启动之前,我们要给mongodb指定一个数据库安放文件夹,这里取名为”db,用来存放mongodb中的数据。3.2连接数据库打开cmd,首先找到“mongodb”的路径,然后运行mongod开启命令,同时使用-dbpath指定数据存放地点为“db”文件夹。最后要查看一下是否开启成功,如图3-2所示。图3-2从图中的信息中可以知道,mongodb采用的是27017端口,那么我们就在浏览器里面访问“http:/localhost:27017/”。当看到下图时说明了数据库已经连接成功,如图3-3所示。图3-3此时保持连接不要关闭,再打开一个cmd程序,使用mongo命令打开shell,其中MongoDB默认连接的是“test”数据库,不妨就连接这个数据库。3.3添加学生信息这里取数据表名称为Student,进行insert添加操作,输入以下指令,添加学生信息。以我自己的姓名lwx,年龄20为例,如图3-4所示。图3-43.4查找学生信息在Student数据表中,进行find查找操作,输入以下指令,查找学生信息。以我自己的姓名,年龄为例。从结果中可以看到“_id”这个字段是数据库默认给我们添加的GUID,其目的就是保证数据的唯一性,如图3-5所示。图3-53.5更新学生信息在Student数据表中,进行update查找操作,输入以下指令,更新学生信息。以我自己的姓名,年龄为例,将我自己的年龄改为22岁,如图3-6所示。图3-63.6删除学生信息在Student数据表中,进行remove查找操作,输入以下指令,删除学生信息。以我自己的姓名,年龄为例,如图3-7所示。图3-64 心得体会其实,我自己并不是第一次使用数据库,之前学习PHP时也使用过MySQL数据库,对PHP的支持也正是我选择学习它的原因,并且在设计这个信息管理之初就曾设想让MongoDB数据库实现我所学过的MySQL的功能,因此找了许多资料,在PHP中加载对它的支持,研究如何在PHP上调用该数据库,但是网页始终显示读取失败,最后不得已使用了shell方法,在命令行模式下运行,但是我仍然感受到了它的简单方便,一些在MySQL中亢长的语句可以一句话代替,在shell中的运行速度也远远快于网页的实现。MySQL也有自己的命令行模式,我之前也学习过,折腾一下午才勉强弄懂,而MongoDB数据库或许是因为使用默认的test数据库,我使用起来完全没遇到难题,比较轻松就能完成这个任务。在实际使用中也遇到了各种不懂的难题,比如连接数据库之后,第一个shell程序不能直接关闭,要在后台保持运行等等。而且在很多时候,之前记录在MySQL内的自由字段在之后都很难回忆或者重现查找出来,但是在MongoDB数据库数据库却可以很轻松地找到所需要的数组,又因为查询是条件查询,所以结果十分有规律,相反在MySQL之中,特别是大量数据叠加的时候,查找就会十分麻烦。5 结论通过查看学习资料以及相关的文献,我对学生信息管理的应用有了一定程度上的了解。在此基础之上,我设计开发了这个学生信息管理。具体来说,我在开发时使用的是cmd命令行模式。采用的数据库是MongoDB数据库。通过一段时间的学习和研究后,我终于完成了一个能对学生信息进行添加,保存,修改和查询的简单的信息管理。在设计和实现这个信息管理的过程中,我学习到了很多的关于MongoDB数据库的知识。大致上了解了它的特点,功能以及如何实现我深刻体会到了开发必须要建立在认真分析的前提下,以规范化的研究为依托。完整的学生信息管理系统应该是一个庞大而复杂的系统,但是,我所设计的这个学生信息管理只能实现一些简单的功能,想要进一步扩展完善它的功能,还需要进一步的学习和研究。总而言之本文设计的学生信息管理:1.建立并且成功链接了MongoDB数据库。2.实现了学生信息的查询、添加、修改以及删除操作。3.用户界面友好,界面清晰易懂,系统操作起来十分简单,工作人员学习起来会很容易。虽然本系统实现了学生信息管理的一些基本功能,但还有很多想要改进和扩展的地方。比如:学生的信息表不够详细,只有某人的名字,年龄,性别和专业等。若进一步开发该系统,可以在此基础上提供更多的信息。并且在之前曾设想使用PHP等后台语言实现可视化管理操作,在网页上更加清楚直观地感受MongoDB数据库的强大,但是最终因
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成品品种分类培训
- 智能小车启蒙课件
- 课件模板护眼
- 住陪师资培训
- 课件样片拍摄
- 新进教师培训心得
- 教师招聘之《小学教师招聘》题库检测试题打印附答案详解【突破训练】
- 考眼力考试题及答案
- 矿井电气防爆检查工专业技能考核试卷及答案
- 混合气生产工工艺考核试卷及答案
- QCT268-2023汽车冷冲压加工零件未注公差尺寸的极限偏差
- 【大数据“杀熟”的法律规制探究17000字(论文)】
- 队列训练齐步的行进与立定
- 人教版小学六年级数学上册单元课后练习题 全册
- 初中九年级英语课件宾语从句 公开课比赛一等奖
- 患者安全和护理质量的关联
- 社区获得性肺炎诊治进展
- 拆除沥青路面基层施工方案
- 公司网络安全培训课件
- (115)-第一章毛泽东思想及其历史地位
- 病原微生物实验室生物安全管理体系的建立与运行
评论
0/150
提交评论