一、数据存储
1.1 传统记录数据
- 不易保存
- 备份困难
- 查找不便
1.2 现代记录数据(两种方式)
1.2.1 文件(如.txt)
- 使用简单,例如python中的open可以打开文件,用read/write对文件进行读写,close关闭文件
- 对于数据容量较大的数据,不能够很好的满足,而且性能较差
- 不易扩展
1.2.2 数据库
- 持久化存储
- 读写速度极高
- 保证数据的有效性
- 对程序支持性非常好,容易扩展
二、数据库
数据库就是一种特殊的文件,其中存储着需要的数据
python@ubuntu:~$ cd /var/lib/mysql
bash: cd: /var/lib/mysql: 权限不够
python@ubuntu:~$ sudo cd /var/lib/mysql
[sudo] python 的密码:
sudo: cd:找不到命令
python@ubuntu:~$ sudo -s # 进入超级管理员
root@ubuntu:~# cd /var/lib/mysql
root@ubuntu:/var/lib/mysql# ls
auto.cnf ib_buffer_pool ib_logfile0 ibtmp1 performance_schema
debian-5.7.flag ibdata1 ib_logfile1 mysql sys
root@ubuntu:/var/lib/mysql# ls -lh
总用量 121M
-rw-r----- 1 mysql mysql 56 7月 27 2016 auto.cnf
-rw-r--r-- 1 root root 0 7月 27 2016 debian-5.7.flag
-rw-r----- 1 mysql mysql 291 10月 13 2021 ib_buffer_pool
-rw-r----- 1 mysql mysql 12M 6月 7 22:30 ibdata1
-rw-r----- 1 mysql mysql 48M 6月 7 22:30 ib_logfile0
-rw-r----- 1 mysql mysql 48M 7月 27 2016 ib_logfile1
-rw-r----- 1 mysql mysql 12M 6月 7 22:30 ibtmp1
drwxr-x--- 2 mysql mysql 4.0K 7月 27 2016 mysql
drwxr-x--- 2 mysql mysql 4.0K 7月 27 2016 performance_schema
drwxr-x--- 2 mysql mysql 12K 7月 27 2016 sys
2.1 关系型数据库核心元素
- 数据行(记录)
- 数据列(字段),如果能够唯一标记某个字段:那么这就是主键
- 数据表(数据行的集合)
- 数据库(数据表的集合)
三、RDBMS(关系型数据库管理系统)
Relational Database Management System
通过表来表示关系型
- 所谓的关系型数据库RDBMS,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据
- 查看数据库排名:https://db-engines.com/en/ranking
关系型数据库的主要产品:
- oracle:在以前的大型项目中使用,银行,电信等项目
- mysql:web时代使用最广泛的关系型数据库
- ms sql server:在微软的项目中使用
- sqlite:轻量级数据库,主要应用在移动平台