数据库学习笔记「关系型数据库与非关系型数据库」
关系型数据库
关系型数据库是支持关系模型(E-R模型)的数据库系统
按照数据模型的三个要素可将关系模型分为:
- 关系数据结构
- 关系操作集合
- 关系完整性约束
关系模型包括数据结构(数据存储的问题,二维表)、操作指令集合(SQL语句)、完整性约束(表内数据约束、表与表之间的约束)
关系型数据库是依据关系模型来创建的数据库
所谓关系模型就是“一对一、一对多、多对多”等关系模型
- 关系模型就是指二维表格模型
- 一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织
关系型数据可以很好地存储一些关系模型的数据
非关系型数据库
非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库)
非关系型数据库存储效率高(存储在内存中),但是不安全(断电会丢失数据)
典型的非关系型模型有:
-
列模型:存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录。(这种模型,数据即索引,IO很快,主要是一些分布式数据库)
-
键值对模型:存储的数据是一个个“键值对”,比如name:liming,那么name这个键里面存的值就是liming
Redis就是键值对模型非关系型数据库
-
文档类模型:以一个个文档来存储数据,有点类似“键值对”
MongoDB就是典型的文档类模型非关系型数据库
参考资料:
- 关系型数据库与非关系型数据库
- 数据库系统概论第五版