一、数据库是什么?
数据库是一类软件,数据库的作用用于管理系统(这是一款成品软件,内部应用了很多数据结构)。
二、数据库分为两大类
1.关系型数据库
对于数据的要求比较严格
通常是以表格的方式来组织数据的。(和Excel差不多)
典型代表:Oracle 、 MYSQL 、 SQL Server 、SQLite。
2.非关系型数据库
对于数据的要求比较松散
通常是以键值对或者文档的形式来组织数据的。
三、为什么学MySql而不是Oracle?
因为Oracle很贵,并非Oracle本身贵,因为Oracle要搭配IBM小型机,才能发挥真正的功力。
相信很多人都学过计算机导论:计算机分为:巨型机(神威、太湖之光、超算)这些超级计算机、大型机、中型机、小型机(其中大中小型机都统称为小型机),微机,小型机的价格高到难以想象。所以推荐学习MYSQL。
最实际的例子:阿里巴巴旗下:淘宝,早些年前就是采用Oracle + 小型机的方案来存储数据的。没办法的情况,阿里程序员推动了MYSQL的发展。
正因如此,MYSQL免费且开源,所以以阿里程序员为首,推动了MYSQL的发展,不断的迭代、越来越强。现在越来越多的公司选择MYSQL。
因为Oracle看到了MYSQL的发展,所以2010年,将MYSQL收购到旗下,现在MYSQL已经是Oracle公司的产品。
四、为什么还是有公司选择Oracle
虽然MYSQL很香,但是很多场景还是选择Oracle。
比如:公司不缺钱、数据极度重要,银行、医院等公司业务场景。
如果数据库出现了问题,MYSQL只能等死,但是Oracle公司会派工程师线下解决,即便无法解决,也会给赔偿。
五、简单介绍一下SQL Server 和 SQLite.
SQL Server
母公司是微软,这款产品好用但是不火。
归其原因:Windows是当前PC端,最主流的系统;Windows还有一款服务器产品,Windows Server但是市场占有率极低,为了推动 Windows Server 的发展,将SQL Server与Windows Server捆绑销售,归咎于这种营销策略,SQL Server市场占有率很低,当期反应过来以后MySQL已经抢占了市场。
SQLite
非常小,非常轻量,整个数据库就一个exe文件,大概1MB,一些嵌入式设备上会进行使用。
冰箱、洗衣机、投影仪、电视、手机等等,都嵌入了一个计算机,他们使用的数据库通常都是SQLite。
六、MYSQL介绍
MYSQL分为两个主流版本:5.7和8.0系列。
为什么不用最新的?
因为最新的版本并不稳定,反而是之前的版本,再不断迭代之后,基本没有BUG,更加稳定,这也是为什么,选择老版本5.7或者8.0,不选择最新的版本
这一章节最重要的不是前面这些见闻,最重要的是安装MYSQL,便于后面学习。
这里数据库的安装,各位得自行在网上搜索一下教程了。
七、什么是客户端和服务器端
客户端
上图这个黑框就是MYSQL的客户端
MYSQL是一个客户端-服务器结构的程序。
主动发起请求的一方称之为客户端,被动接收请求的一方时服务器,服务器收到请求以后,返回目标数据。
当我们安装好MYSQL之后,其实安装好了客户端和服务器。
MYSQL的客户端和服务端是通过网络进行通信的。因此客户端和服务端可以在一个机器上,也可以在不同机器上。
MYSQL的客户端有很多种:除了黑框(MYSQL自带的命令行客户端)、还有第三方的图形化客户端navicat、workbench、IDEA 数据库插件等等。所以什么客户端都无所谓,MYSQL的本地是一个服务器。
MYSQL是一个数据库,功能是管理数据库。
使用命令行和图形化界面是没有什么区别的。
服务器端
由于服务器一端是被动的一方,不知道客户端什么时候发送数据,所以需要24小时运行。服务器编程要比客户端,更复杂一些,对于稳定性、效率都是有一定要求的。
可能存在很多客户端,这些客户端都是通过网络发送请求给服务器,服务器再通过网络返回给客户端,以上这些数据,都存储在服务器的硬盘上。
八、为什么MYSQL把数据存储到硬盘(外存)而不是内存当中。
一个是因为内存的造价更高,而是内存断电之后,数据消失,没有办法进行存储;所以将数据存储到外存当中。
九、总结
MYSQL数据库是客户端服务器结构的程序,客户端和服务器之间以网络来通信。