《数据库与信息系统》系统开发使用技术_3.pptxVIP

  • 2
  • 0
  • 约5.85千字
  • 约 20页
  • 2021-11-20 发布于上海
  • 举报

《数据库与信息系统》系统开发使用技术_3.pptx

系统使用开发技术7目 录7.1视图、存储过程及事务应用7.2多页面应用程序的实现7.3非关系型数据库应用NoSQL(Not Only SQL)数据库概述NoSQL数据模型NoSQL数据库并没有统一的数据模型,各类产品的数据存储方式不相同,适用场景也有差异。常见的4种数据模型数据模型特点适用场景数据库举例键值对存储值可以是字符串、列表、集合等各种类型。数据缓存在内存中,周期性写入磁盘。其优势在于简单、易部署,但查询或更新效率低 适用于图像、基于键的文件系统和对象缓存,以及设计可扩展的系统 Redis、MemCache等 列存储应对分布式存储的海量数据。键仍然存在,但是它们可指向多个列,形成稀疏矩阵形式 适合存储网络爬虫的结果大数据等 Cassandra、HBase等 文档存储直接存储层次化的数据结构(如JSON),可存储复杂数据类型,比采用键值对存储方式的数据库的查询效率更高 适合高度变化的复杂数据类型、文档搜索、互联网内容管理等应用 MongoDB、CouchDB等 图存储使用灵活的图形模型,并且能够扩展到多个服务器上 适合关联性要求高的问题,如社交网络、欺诈侦察等应用 Neo4j、AllegroGraph等 NoSQL特点特点数据模型简单、灵活。高可用性和伸缩性。NoSQL可用于海量数据处理和灵活多变的业务,但不适合需要高度数据一致性的系统,因为它仅可保证数据最终一致性,无法保证实时一致性。 MongoDB数据模型MongoDB是基于文档的开源非关系型数据库, JSON数据格式为基础存储数据 JSON数据格式JSON(JavaScript Object Notation,JS对象标签)数据交换格式用文本格式表示数据,独立于编程语言层次结构简洁清晰,易读易写键值对 键:值“键”必须是字符串,“值”可以是任何数据类型 【例】name:王红 JSON对象将多个“键值对”用逗号分隔有序地写在花括号中 【例】{name:王红,age:17} 提示:MongoDB以BSON(Binary-encoded JSON)格式存储非结构化数据。BSON扩展了JSON来更好地支持数据操作。这里只需要理解JSON。 MongoDB数据库的基本概念文档对应一个JSON对象,MongoDB的最小存储单位,相当于关系数据库中的一行记录JSON对象中的“键值对”是有序的 集合多个文档就构成了集合,类似于关系数据库中的表集合是无模式的,不同模式的文档可以放在一个集合中数据库一个数据库由多个集合组成集合可存放在不同的磁盘文件中,文件可分布式存储在多个不同计算机中数据库例子学生有关信息分别存放在4个表中:学生、地址、成绩、课程。为加快针对学生信息的检索,可以建立一个MongoDB数据库,将这些信息进行层次化存储。THANK YOU!MongoDB应用实例MongoDB的安装与常用的调试命令下载后直接解压安装,下载地址/download-center#communityMongoDB自带交互式JavaScript Shell,支持交互式操作和管理 调试程序时常用的交互式命令show dbs:查看MongoDB服务器下的所有数据库。 use 数据库名:打开/建立数据库,若存在,则打开数据库;否则建立并打开。注意,要操作某个数据库,需要先打开它。 db.集合名.insert(文档):向当前数据库的一个集合中插入文档,若集合不存在,则先创建它。 db.集合名.find({key:value}):查询符合条件{key:value}的文档,若无参数,则查询所有文档。 【例7.11】交互式命令的使用用交互命令向school数据库的student集合中插入两个学生文档,然后查询。use school //打开school数据库switched to db school//向student集合中插入一个学生文档db.student.insert({stcode:1101,stname:Tom,age:18}) WriteResult({nInserted:1})//向student中再插入一个学生文档db.student.insert({stcode:1102,stname:Mary,score:98}) WriteResult({“nInserted”:1})db.student.find() //查询显示所有学生文档{ “_id”:ObjectId(57c66700…),“stcode:1101, stname:Tom,age:18} { “_id”:ObjectId(57c667e5…),“stcode:1102, stname:Mary, score: 98}db.student.find({stname:Mary}) //根据学生姓名查询显示该学生信息{ “_

文档评论(0)

1亿VIP精品文档

相关文档