数据库是一类软件, 帮助我们管理数据.
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
数据库存储介质:
磁盘
内存
为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。
数据库可以分为两大类:
关系型数据库
是指采用了关系模型来组织数据的数据库, 关系模型指的就是二维表格模型.
典型代表:
Oracle
: 甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP
、OA
等企业信息系统。收费 . 要搭配IBM小型机才能发挥出最大作用 , 在银行使用比较广泛.MySQL
: 属于甲骨文,不适合做复杂的业务。开源免费.SQL server
: 微软的产品,安装部署在windows server上,适用于中大型项目。收费。SQLite
: 是一个零配置的数据库, 是非常小的, 是轻量级的. 一些嵌入式设备上会用到.非关系型数据库
是指基于键值对(Key-Value), 文档, 列族, 图形的形式来组织数据的数据库.
关系型数据库与非关系型数据库的 区别:
关系型数据库 | 非关系型数据库 | |
---|---|---|
使用SQL |
是 | 不强制要求,一般不基于SQL 实现 |
事务支持 | 支持 | 不支持 |
复杂操作 | 支持 | 不支持 |
海量读写操作 | 效率低 | 效率高 |
基本结构 | 基于表和列,结构固定 | 灵活性比较高 |
使用场景 | 业务方面的OLTP 系统 |
用于数据的缓存、或基于统计分析的OLAP 系统 |
注:OLTP
(On-Line Transaction Processing)是指联机事务处理,OLAP
(On-Line Analytical Processing)是指联机分析处理。
MySQL
MySQL
简介当我们打开MySQL
并输入密码后, 会显示这样的黑色窗口
这就代表登陆成功了, 而这个"黑框", 就是一个MySQL
的客户端
MySQL
是一个"客户端-服务器"结构的程序
什么叫做"客户端-服务器"呢? 举个例子
在食堂,
同学说, 来一份米粉.
阿姨说, 好嘞.
在上述场景中, 同学就是"客户端", 阿姨就是"服务器".
同学说的"来份米粉", 是客户端给服务器发的数据, 称为"请求(request)".
阿姨给同学的米粉, 是服务器返回客户端的数据, 称为"相应(response)"
客户端和服务器是两个程序, 通过网络进行通信 ; 主动发起请求的一方是客户端, 被动接受请求的一方是服务器.
但其实我们安装MySQL
的时候 , 安装的就是客户端 + 服务器.
上述的黑色窗口就是客户端, 而服务器可以通过搜索’‘服务’'窗口看到
由于客户端和服务器是通过网络进行通信的, 所以这两个程序可以在同一台机器上, 也可以在不同机器上.
MySQL
的客户端MySQL
的客户端有很多种, 上述的黑色窗口是MySQL
自带的命令行客户端
除此之外, 还有很多第三方的图形化客户端 如navicat
, workbench
, idea
数据库插件/ datagrid
使用什么客户端其实并不重要, 它只是一个让用户和数据库服务器交互的窗口, 不管是用cmd
还是图形化界面, 我们操作的都是SQL
语句
MySQL
的服务器对于服务器来说, 它有以下特点:
正因如此, 服务器编程要比客户端更复杂一些, 对于稳定性, 效率, 都是有一定的要求.
服务器中存储了许多用户的数据, 就储存在服务器的"硬盘"上.
因为硬盘的存储空间大, 并且断电后数据不会丢失
MySQL
的作用就是管理数据
如何管理?
先存储数据到MySQL
服务器硬盘上
再通过MySQL
客户端来取数据使用
总之, MySQL
是一个"客户端-服务器"结构的程序, 客户端和服务器之间使用网络进行通信