未加星标

初识NoSQL

字体大小 | |
[数据库(综合) 所属分类 数据库(综合) | 发布者 店小二05 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏
1. 什么是NoSQL

NoSQL这个词首先出现在20世纪90年代末,本身是一个开源的关系数据库,由于其不依赖SQL语句对数据操作,所以起名NoSQL。

而我们现在所提到的NoSQL可以解释为“Not only SQL”或者”Non relational SQL”,意为非关系型数据库,其概念源于2009年的一场技术聚会。

2. 数据模型
2.1 关系数据模型
传统的设计中,关系数据模型一直占主导地位,直观上看,数据在关系数据库中的存储就是一组表格,表头表示每一列数据的含义,表格内的每一行表示一条数据实体,正式的说法即“关系”和”元组”。例如一个用户下单的关系模型可以如下图表示:
初识NoSQL
其对应在关系数据库中的表达可以建立以下几张表
Customer
Id
Name
1001
Martin
Order
CustomerId
OrderId
AddressId
Payment
1001
2001
3001
¥500.00
Address
AddressId
CustomerId
City
Street
3001
1001
Beijing
Chang’an
Product
ProductId
OrderId
Name
Price
4001
2001
Juice
¥3.00

这里为了简单说明,就不再对映射进行分离

2.2 聚合数据模型
考虑以编程的方法实现,每一个实体作为一个POJO类,画出对应的UML类图,其对应关系如下图:
初识NoSQL
用JSON来表示对应的数据,可以得到下面两个JSON结构:
// Customer
{
"id":1001,
"name":"Martin",
"Address":[{"id":3001,"City":"Beijing","Street":"Chang'an"}]
}
// Order
{
"id":2001,
"CustomerId":1001,
"Payment":"¥500.00",
"Address":[{"id":3001,"City":"Beijing","Street":"Chang'an"}],
"Product":[{"id":4001,"Name":"Juice","Price":"¥3.00"}]
}
这个模型对应两个主要的聚合:客户(Custome)和订单(Order)。如果我们在业务操作流程中不会包含单独对订单的操作或者在查看客户的时候希望直接读取到其所有订单,可以将上述的聚合关系改为:
初识NoSQL
对应的JSON结构为:

本文数据库(综合)相关术语:系统安全软件

分页:12
转载请注明
本文标题:初识NoSQL
本站链接:http://www.codesec.net/view/481529.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(综合) | 评论(0) | 阅读(29)