数据存取演变史
- 1.文本文件
- 没有规定文件路径与数据格式,所以文件路径与数据格式都不一致,不统一
1.文件可能存到任何盘任何文件夹 C:\a.txt 2.数据之间的分割符也可以是多种特殊符号 jason|123
- 没有规定文件路径与数据格式,所以文件路径与数据格式都不一致,不统一
- 2.软件开发目录规范
- 规定了数据文件的大致存储位置 db文件夹下
- 但是数据格式也是没有统一 json文件内部的键值对
- 3.数据库服务
- 统一了存取位置 也统一了数据格式(完全统一)
数据库软件应用史
- 单机数据
- 每个计算机上的应用就如同没有互联网一样,不能完成数据共享,数据库的服务都在本地完
- 联网数据
- 不同计算机上的相同程序之间可以数据共享,单独在网络上架设远程数据库服务
关于远程数据库服务
1.数据安全性问题
2.服务器负载问题
通过数据库集群解决,就是让多台服务器运行相同的数据库服务
数据库的本质
- 站在不同角度下的的理解
- 1.站在底层原理的角度
- 数据库指的是专门用于操作数据进程的
运行内存中的代码
- 数据库指的是专门用于操作数据进程的
- 2.站在现实应用的角度
- 数据库指的是拥有操作界面的应用程序
操作进程的界面
- 数据库指的是拥有操作界面的应用程序
- 1.站在底层原理的角度
- 一般数据库默认指的是数据库软件
- 数据库的本质也是cs架构的应用程序(所有程序员都可以参与编写)
数据库的分类
- 关系型数据库
-
- 指的是是数据组织方式有明确的表结构
- 关系型数据库存取数据的方式可以看成是表格
id name pwd -
- 表与表之间可以建立数据库层面的关系
- 只要获取到用户表的一条数据,就可以获取到与之相关的其他表数据
用户表 >>> 房屋表 -
- 软件:
MySQL 开源 使用最为广泛,数据库学习必学 PostgreSQL 开源 支持二次开发 MariaDB 开源 与mysql用法相似 Oracle 收费 安全性极高,主要用于银行及各大重要机关 sqlite 小型数据库 主要用于本地测试(django框架自带该数据库) db2、sql server 一些用的比较少的数据库
-
- 非关系型数据库
-
- 数据的组织方式是以k:v键值对的形式组织的
{'username':'kevin','pwd':123} -
- 数据之间无法直接建立数据库层面的关系
-
- 软件:
redis 缓存型数据库 主流的热度很高 mongoDB: 稳定型数据库 主要用于爬虫、大数据 最像关系型 memcache: 缓存型数据库 已经被redis淘汰
-
sql与Nosql
- 数据库的服务端支持各种语言充当客户端
- 以mysql为例:为了能够兼容所有类型的客户端,有两种策略
1.服务端兼容 不合理,消耗数据库服务端资源 2.制定统一标准 SQL语句、NoSQL语句
- 以mysql为例:为了能够兼容所有类型的客户端,有两种策略
SQL与NoSQL
SQL语句的意思是操作关系型数据库的语法
NoSQL语句的意思操作非关系型数据库的语法
ps:SQL有时候也用来表示关系型数据库 NoSQL也用来表示非关系型数据库
数据库重要概念
库 文件夹
表 文件夹里面的文件
记录 文件里一行行的数据
mysql数据库简介
数据库软件很多,但是底层操作几乎一致
上手了MySQL基本就可以快速上手所有的关系型数据库甚至非关系型数据库
- 1.MySQL版本问题
5.6X:前几年使用频率最高的版本 5.7X:最近尝试迁移的版本(频率+) 8.0X:最新版 功能很强大 但是线上环境几乎不用(本地自己用非常好用 - 2.下载与安装
- 3.主要文件介绍
bin文件夹: mysqld.exe服务端 mysql.exe客户端 data文件夹: 存取数据 my—default.ini 默认配置文件