码迷,mamicode.com
首页 > 数据库 > 详细

关系型数据库和非关系型数据库之间的那些区别(一)

时间:2017-02-05 10:55:23      阅读:970      评论:0      收藏:0      [点我收藏+]

标签:mongo   字段   例子   mail   each   add   中间   ddr   address   

   说说关系型数据库和非关系型数据库之间的那些区别
 
                                   第一弹

 

 

就拿现在最流行的两种数据库来说吧:mysql和mongodb(介于关系型和非关系型之间的一种产品,在这里面我们就当做非关系型数据库用来和mysql比较一下)

 

举个实际好理解的的例子:学生选课的系统(简化来说举出系统里面的两个:学生,课程)

首先说在mysql里面建立的模型是

学生表(student):

S

Sid

name

gender

age

address

email

college

class

1

张三

19

a

111

外语

141

2

李四

20

b

222

经管

142

3

王二麻子

21

c

333

软件

143

 

课程表(class):

C

Cid

name

teacher

1

综合日语

2

税法

3

商法

4

软工

 

S与C对应的中间表SC

SCid
Sid
Cid
1
1
1
3
2
2
5
3
4
  
在mongodb中写这个系统的时候是这样的:
 
Sid:1,
name:张三,
gender:女,
age:19,
address:a,
email:111,
college:外语,
class:141,
Cid:1
 
Sid:2,
name:李四,
gender:男,
age:20,
address:b,
email:222,
college:经管,
class:142,
Cid:2
 
Sid:3,
name:王二麻子,
gender:男,
age:21,
address:c,
email:333,
college:软件,
class:143,
Cid:4
 
 
 
Cid:1,
name:综合日语,
teacher:赵
 
Cid:2,
name:税法,
teacher:王
 
Cid:3,
name:商法,
teacher:李
 
Cid:4,
name:软工,
teacher:孙
 
 
假如学号为1的学生又选了一门课号为4的课,学号为2的学生又选了一门课号为3的课
则在mysql里面的SC表里面增加了两个字段最后这个表变成了:
                                                            SC
SCid
Sid
Cid
1
1
1
2
1
4
3
2
2
4
2
3
5
3
4
 
  
而mongodb里面增加了两个document
 
Sid:1,
name:张三,
gender:女,
age:19,
address:a,
email:111,
college:外语,
class:141,
Cid:4
 
Sid:2,
name:李四,
gender:男,
age:20,
address:b,
email:222,
college:经管,
class:142,
Cid:3
 
 以上是在“表”层次上看
下面从查询的方面来看:

关系型数据库和非关系型数据库之间的那些区别(一)

标签:mongo   字段   例子   mail   each   add   中间   ddr   address   

原文地址:http://www.cnblogs.com/moon1223/p/6366371.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!