数据库的类型和介绍

1、什么是数据库(database)

数据库就是一个以某种有组织的方式存储的数据集合。

简单的说,数据库(database)就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的,我们可以通过数据提供的多种方法来管理数据库里的数据。

数据库,其实就是一个,用于存放数据的东西。

比如我们以前,将每一门课的笔记,记在本子上,然后本子又放到书架上。那么此时的书架就是我们存放所有笔记的地方。

而对于数据库而言,我们如今的数据越来越多,可以选择存放在某个地方,当需要的时候,再去里面找出来即可。这个地方,就是 数据库

用到数据库的地方,比如我们的学生教务系统,我们登陆的时候,需要 账户和密码,(因为用户很多),所以这些东西我们需要保存下来,以前的方式,是保存在文档中,这样子很不方便,查找效率也低。因此就有了数据库,数据保存在里面,方便查找。还有教务系统,某个人登陆进去之后,还会有自己的成绩,这些成绩也是保存在数据库中的(当我们查看成绩的时候,是去数据库中找出来,再显示出来的)

2、数据库的钟类

而在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库

2.1、关系型数据库:MySQL 和 Oracle

关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。

也就是类似一个 excel,一个 excel 文件就是 一个 库,其中 库里面可以设置很多表格。然后每个表格里面,每一行就是保存某个 个/事物 的信息数据。

下图就是一个表,里面记录了 学生信息

在这里插入图片描述

在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。

假设,我们此时有两个逻辑实体:学生(Student)和班级(Class),这两个逻辑实体之间是一对多的关系。毕竟一个班级有多个学生,一个学生只能属于一个班级。
在关系型数据库中,考虑的是用几张表来表示这二者之间的实体关系。常见的无外乎是,一对一关系,用一张表就行。一对多关系,用两张表。多对多关系,用三张表。
那这里,我们需要用两张表表示二者之间逻辑关系,如下所示

在这里插入图片描述

2.2、非关系型数据库

NoSQL,泛指非关系型的数据库。

NoSQL 数据库在特定的场景下可以发挥出难以想象的高效率和高性能,它是作为对传统关系型数据库的一个有效的补充。

一般其可以分类,具体可分为:

2.2.1、键值存储数据库(key-value):Redis、Memcached、MemcacheDB

键值数据库就类似传统语言中使用的哈希表。可以通过key来添加、查询或者删除数据库,因为使用key主键访问,所以会获得很高的性能及扩展性

键值数据库主要使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署、高并发。

2.2.2、列存储(Column-oriented)数据库:Cassandra、HBase

列存储数据库将数据存储在列族中,一个列族存储经常被一起查询的相关数据,比如人类,我们经常会查询某个人的姓名和年龄,而不是薪资。这种情况下姓名和年龄会被放到一个列族中,薪资会被放到另一个列族中。

这种数据库通常用来应对分布式存储海量数据。

2.2.3、面向文档(Document-Oriented)数据库:MongoDB、CouchDB

文档型数据库可以 看作是 键值数据库 的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。

面向文档数据库会将数据以文档形式存储。每个文档都是自包含的数据单元,是一系列数据项的集合。每个数据项都有一个名词与对应值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关联对象。
同一个表中存储的文档属性可以是不同的,数据可以使用XML、JSON或JSONB等多种形式存储。

还是,学生 和 班级,关系型的是通过两个表分别表示学生 和 班级,然后两个表之间有联系。而对于文档数据库,因为可以互相嵌套。所以可以直接是 班级一个文档,然后里面具体到哪个班级的时候,对应的人。这样子查找快速。

在这里插入图片描述

2.2.4、图形数据库:Neo4J、InforGrid

图形数据库允许我们将数据以图的方式存储实体会被作为顶点,而实体之间的关系则会被作为边。比如我们有三个实体,Steve Jobs、Apple和Next,则会有两个“Founded by”的边将Apple和Next连接到Steve Jobs。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值