储存数据演变史
- 文本文件
文本文件是创建在计算机本地目录下的,它可以用来存储我们自己的数据,但是文本文件局限性非常大,包括存储路径、存储内容的格式,都只能在本地计算机中使用,无法跨计算机使用,是第一阶段储存数据的方式 - 软件开发目录规范
软件开发目录规范帮助程序员统一了软件开发过程中数据存储的路径,但是任然存在问题,例如不方便实现跨计算机使用,同时储存数据的格式也没有进行统一 - 数据库
数据库的出现,解决了程序存储数据路径的统一,同时也规范了数据存储的格式,相比较来说数据库就相当于在线的文档,可以同时很多人进行访问并且进行增删改查等操作,十分方便。而且数据库有自己的SQL语句,这样我们对数据进行操作也是十分灵活的。
数据库软件应用史
单机游戏
- 在的单机游戏中,游戏数据是储存在本机中的,无法共享
网络游戏
- 游戏数据储存在网路中,可以共享
数据库的本质
在不做特殊说明的情况下讲数据库,指的是数据库软件
数据库的本质也是C/S架构的程序
意味着所有的程序员其实都有资格编写一款数据库软件
站在底层原理角度
- 数据库指的是操作数据的进程(一堆代码)
站在实际应用的角度
- 数据库指的是可视化操作界面(一些软件)
数据库的分类
- 关系型数据库
Mysql、Oracle、MariaDB、PostgreSQL、sql、server、sqlite、db2、access
- 1.Mysql:开源免费,使用最广,性价比高
- 2.Oracle:收费,但安全性高
- 3.PostgresSQL:开源免费,支持二次开发,兼容性高
- 4.MariaDB:和Mysql是一个作者,开源免费
- 5.sqlite:小型数据库,主要用于本地测试
特征:
- 拥有固定的表结构(字段名, 字段类型)
- 表结构:就像表格一样,类似于表头,和对应表格下的内容
- 数据之间可以建立数据库层面关系
- 指一个用户可以拥有多个关系,多个关系存储的路径不一样,但是这些关系都对应着这个用户,一旦删除了这个用户,这个用户的数据都会被删除
- 非关系型数据库
redis、mongoDB
- edis:目前最火、使用频率最高的非关系数据库,基于内存缓存数据
- mongoDB:文档型数据库,最像关系型的非关系型数据库,主要用于爬虫、大数据领域
特征:
- 没有固定的表结构,数据存储采用K:V键值对的形式
- 数据之间无法建立数据库关系层面,需要使用代码建立逻辑层面关系