关系型数据库与非关系型数据库

大兔子大兔子 提交于 2020-03-15 11:30:32

什么是关系型数据库?

  • 关系型数据库是依据关系模型来创建的数据库。
  • 所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
  • 关系型数据可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”)
  • 关系模型是我们生活中能经常遇见的模型,存储这类数据一般用关系型数据库
  • 关系模型包括数据结构(数据存储的问题,二维表)、操作指令集合(SQL语句)、完整性约束(表内数据约束、表与表之间的约束)。

数据的存储形式:

 

关系的处理形式:

 

下面是一个E-R图,是多个模型一起用的情况:

常见的关系型数据库:

Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL

关系型数据库的特点:

安全(因为存储在磁盘中,不会说突然断电数据就没有了)、

容易理解(建立在关系模型上)、

但不节省空间(因为建立在关系模型上,就要遵循某些规则,好比数据中某字段值即使为空仍要分配空间)

什么是非关系型数据库?

  • 非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库)
  • 非关系型模型比如有:
    • 列模型:存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录。(这种模型,数据即索引,IO很快,主要是一些分布式数据库)
    • 键值对模型:存储的数据是一个个“键值对”,比如name:liming,那么name这个键里面存的值就是liming
    • 文档类模型:以一个个文档来存储数据,有点类似“键值对”。

常见非关系模型数据库:

列模型:Hbase

键值对模型:redis,MemcacheDB


文档类模型:mongoDB

非关系型数据库的特点:

效率高(因为存储在内存中)、

但不安全(断电丢失数据,但其中redis可以同步数据到磁盘中),现在很多非关系型数据库都开始支持转存到磁盘中。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!