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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关系型数据库和非关系型数据库之间的那些区别相关的知识,希望对你有一定的参考价值。

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

 

 

就拿现在最流行的两种数据库来说吧: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
 
 以上是在“表”层次上看
下面从查询的方面来看:

以上是关于关系型数据库和非关系型数据库之间的那些区别的主要内容,如果未能解决你的问题,请参考以下文章

关系型数据库和非关系型数据库的区别

mysql关系型和非关系型区别

关系型数据库和非关系型数据库的区别

关系型数据库和非关系型数据库,RDBMS和NoSQL区别?

常见的关系型数据库和非关系型数据库及其区别

结构化和非结构化的区别