一、基础概念
1. 数据库是什么
数据库是一类用来管理数据的软件。需要区分两个层次的概念:数据结构 是抽象概念,描述数据之间如何组织与关联;而数据库软件则是具体的程序,底层依靠各类数据结构来实现数据的增删改查。
2. 数据库分类
按照数据的组织方式,数据库大致可以分为两类:
- 关系型数据库 :使用表来组织数据,表由行和列构成,结构清晰、便于关联查询。代表产品有 Oracle(商用收费)、MySQL(开源免费)、SQL Server、SQLite、PostgreSQL。
- 非关系型数据库:不采用表结构,形式更加灵活。例如 Redis 以键值对形式存储数据。
3. MySQL 的组成
MySQL 本体是服务端程序 ,负责真正处理数据;使用时需要客户端配合,客户端和服务端之间通过网络通信交换信息。
客户端:和用户交互,负责传递 SQL、展示结果。
服务端:接收 SQL 指令,执行数据操作。
4. Navicat
Navicat 是一款图形化的 MySQL 客户端工具,可以在其中编写 SQL 语句、查看表结构和查询结果,是连接 MySQL 服务端的常用入口。
二、通信流程图
从用户输入到看到结果,一次完整的交互过程如下:
用户
↓(输入 SQL / 点击操作)
Navicat(MySQL 图形客户端)
↓(网络传输 SQL 语句)
MySQL 服务器(服务端程序,真正处理数据)
↓(查询 / 修改磁盘上的数据)
MySQL 服务器拿到结果
↓(网络返回结果)
Navicat(客户端展示表格、信息)
↓
用户看到结果
再看 MySQL 服务器内部的层级结构:
MySQL 服务器
├─ 数据库 A(业务 1 数据)
│ ├─ 表 1
│ └─ 表 2
└─ 数据库 B(业务 2 数据)
├─ 表 1
└─ 表 2
一句话总结:一台 MySQL 服务器可以有多个数据库,一个数据库里有多张表。