目录
一、学啥
1、数据库基础操作(以SQL语句为核心)。SQL是一门编程语言,但是用起来比较简单
2、数据库的底层原理。(不做过多介绍,主要是围绕常见面试题)
3、数据库编程。(使用Java代码来操作数据库)
二、啥是数据库
(一)什么是数据
我们每天都在和数据打交道,例如账户的余额、班级的人数、考试的分数等等都是数据
既然有那么多数据就需要把数据保存起来
在没有计算机的时候,我们可以把这些数据记录在纸上,非常不方便
(二)什么是数据库
数据库就是一类软件,专门负责管理数据
管理数据:对数据进行增删改查
(三)数据库和数据结构的关系
数据结构:是一门“抽象的学科”,描述数据和数据的关系
数据库:是一类“具体的软件”
实现数据库,背后也要应用到很多的数据结构
三、数据库的分类
数据库是一类软件,因此数据库有很多种具体的实现
不同类型的数据库应用场景不同
(一)关系型数据库
关系型数据库的典型特征,就是使用“数据表”的格式来组织数据,可以类比excle表格
1、MySQL(在课堂上学习使用)
2、Oracle(世界上最强的数据库,并且很贵)
厂商就是Oracle,并且Java现在就是Oracle负责维护
3、SQL Server
微软搞得数据库~~
很多学校的数据库课程就是用SQL Server来讲解的
4、SQLite
这个数据库可以说是世界上“装机量最大”的数据库,安卓上自带的内置数据库,小巧轻量
不管是哪个数据库,其实最核心的东西都是SQL(编程语言)
(二)非关系型数据库
它不再使用“数据表”,也不再使用SQL了(也叫做NoSQL)
1、Redis
2、MongoDB
3、HBase
.......
三、具体了解一下MySQL
(一)MySQL的安装
安装的时候,建议安装MySQL 5系列,密码设置要尽量简单
(二)MySQL的结构
MySQL是一个“客户端 - 服务器”结构的程序
1、客户端可以类比于顾客,服务器类比于餐馆
2、一个服务器同一时刻可能需要给多个客户端提供服务
3、因为服务器不确定客户端啥时候来,服务器往往要长时间运行
4、客户端给服务器发送的数据,称为“请求”
服务器给客户端发送的数据,称为“响应”
5、咱们安装了MySQL,其实就是既安装了客户端,也安装了服务器
(三)用户和客户端进行交互
MySQL客户端和MySQL服务器,可以在同一个主机上,也可以在不同的主机上,都是通过网络进行通信
注:环回网卡
问:当把客户端和服务器部署在同一个机器上,但是电脑没有联网,为什么客户端仍能访问服务器呢?
答:如果没插网线,也没连WIFI,只是电脑访问不了别的主机,但是自己还能访问自己的!!因为操作系统在内部做了特殊处理,虚拟出了一个特殊的网卡,“环回网卡”
实际工作中,更常见的是 客户端 和 服务器在不同主机上~~
当前学习阶段,也没有那么多机器,所以就都安装在一个主机上了 ~~
不同主机之间的通信是不是要关闭防火墙?
不一定。
对于Windows 10来说,默认情况下是这样的,如果不关闭防火墙,是不能直接访问的。
对于Linux来说,默认情况下就能访问
工作中MySQL服务器大概率都是在Linux系统上~~
对于MySQL来说,存储和管理数据,都是由MySQL服务器来负责的!!
(四)MySQL服务器组织数据
1、关系型数据库组织数据的结构:数据库 --> 数据表 --> 行 --> 列
以教务系统为例:
数据库:数据集合,如教务系统
数据表:一个数据库含有多个数据表,如学生表,选课表.......
行:一个表里有很多行,每一行称为“一条记录”
列:每一行也有很多列,每一列称为“一个字段”
2.MySQL服务器把数据存储在硬盘上
计算机体系结构:CPU、存储器(内存和外存)、输入设备、输出设备
内存和外存的区别(外存以硬盘为例)
1、内存存储空间较小,硬盘存储空间较大
2、CPU读取内存速度快,读取硬盘速度慢(一般会差3-4个数量级)
3、内存比硬盘贵
4、内存上的数据,断电后丢失。硬盘的数据,断电后不丢失
由此看出,MySQL服务器存储数据容量大,价格便宜,数据不易丢失。