00:00
诶,这里呢,大家能够看到的就是我们上个篇章当中,哎,要给大家一共讲解的哎,18个章节,18个章节,那么大家呢,也能够看到啊,我这儿呢,诶做的还是比较细致的,在咱们每个章节讲授完之后啊,这里都对应着每个章节的课后练习题,哎相当于对于零基础的同学来讲啊,是非常的友好的,哎,在我们讲完相应的章节之后啊,大家来过来做一做相关的课后练习题,看看呢,是不是掌握的比较好,那同时的话呢,在几个章节讲完之后,我们还有一些综合练习题,使用上我们前面的几个章节的内容,相当于能够更好的巩固大家的所学,同时的话呢,咱们还有关于企业当中啊,这儿呢,我集合了一套综合的笔试题,里边呢,一共是一道40多个题目,在大家笔试面试当中,这个出现的频率呢,还是比较高的啊,这呢一共是有四套这个大的练习题,好,那么关于整个我们上篇讲解过程当中使用到的一些工具啊,这个我们数据库本身啊的安装,还有呢,相关的一。
01:01
一些开发工具等等,哎这块呢,都会这个给大家讲解啊,同时呢,发给大家,还有呢,我们整个呢,这个上片学习过程当中的一些资料,哎,包括咱们的代码视频等等啊,都会给到大家,那么关于这个下篇的话呢,叫高级篇,咱们那会儿也看到了,一共也是有18个章节,对吧。那么关于下篇整个这个内容的话呢,我这也基本上都这个背完了,在大家看到上篇之后,那下篇的话呢,随后我也会进行这个录制啊,这呢就是我们整个这样的一个情况,那相关的这个知识呢,也是呃,这个资料呢,也是都给到大家。行,这呢是咱们说一下这个整个这个内容,然后的话呢,咱们正式的就可以来学习第一个章节叫做数据库的概述,好,我们来了解一下,看看都有哪些内容。那么首当其冲的话呢,这里边问了一个问题,说为什么要使用数据库?啊,为什么要使用数据库呢?这个大家呢,现在已经开始来看咱们这套课程呢,对吧?那你想想你是为什么选择数据库呢?为什么要学数据库呢?那每个人都应该有自己的这个诉求,还是说有的同学呢,会提到说哎,我开发中要用啊,对吧?哎,不得不学,面试中要问呢,哎,不得不学是吧?啊那么我们真正的回到最原始的这个最初的一个角度,我们为什么要使用数据库呢?
02:13
对吧,虽然说你面试要问开发中要用,那么开发中为什么要用呢?这就是我们下一个问题啊,这里呢,就提到了一个词叫做持久化啊persistence啊,这个说呀,把数据保存到可调电式的存储设备当中,以供之后使用啊这呢就是一个持久化。那这里提到一个叫可调调可调电式的这个存储设备,那它相对应的就是调电呢,就不能存储了,那就是我们所谓的叫内存啊,看这也行,对吧,那内存的话呢,我们说使用这个低电压和高电压来区别零合一,进行数据的一个存储,但一旦要是断电了,那电压都没有了,那你更何谈存储零和一呢,对吧?所以说内存中存储的数据啊,我们说啊不保险啊,不靠谱啊,一断电就没有了。啊,那怎么办呢?我们需要把内存中的数据啊,给它做一个持久化,那持久化呢,我们就需要呢,相关的一些介质,对吧?那这里的介质都有什么呢?我们可以把它存储到相关的一些文件当中,比如说你图片呢,就存存储到这个JPG格式的文件中啊,存储到这个,比如说这个点doc是吧,这个文件当中还有呢,我们相关的一些源码啊,比如像Java存到点Java文件当中。
03:23
等等啊,这呢是一些文件,那么还有一些呢,呃,我们可以考虑把更复杂的数据呢,存储到这个数据库当中。啊,这个还可以有其他的一些介质啊,插标文件等等,对吧?呃,这是我们说的这个数据库啊,为什么要学习数据库啊,因为它可以实现数据的一个持久化。啊,可以实现数据的一个持久化,对吧?好,那么大家可能接着就会问另一个问题啊,所以咱们这个学习知识啊,大家你会发现,哎,我讲的时候通常就会层层深入,那既然呢,说这个存储介质,我们是为了实现这个,呃,数据的一个持久化,我们要学习这个数据库,但是呢,除了数据库,咱们还有其他的一些结构啊,为什么非常看重数据库呢?诶这里就提到了数据库,它存储数据的这个特点,它可以存储,首先呢,这个我们从这个数据量上来讲,它存储的数据量呢,可以是非常庞大的。
04:14
啊,这个单就其中的数据库中的某一张表来讲,我们都可以存储几千万条上亿条的数据,那如果说是一些呃,单纯的一些格式比较简单的文件的话呢,这个当然也能存,当然这个呃,这个数据呢,你再进行这个查找的时候啊,它的效率是非常的差的啊,你可以想象,如果1亿条数据,我们要找其中的某一条数据的话呢,进行一个顺序遍历,那是非常恐怖的一个,这个执行这个时间对吧?那你要放在呃,这个放在文件当中非常恐怖了,你要放在这个数据库当中,我们可以有多种的优化手段,哎,让我们能够快速的查找到这样一条记录,对吧。好,这是我们说的这个点啊呃,另外的话呢,就是你像这些数据的话呢,有的时候你要放放在文件中想打开这个也不太靠谱了啊,像以前我在这个北航这个实验室。
05:01
啊,北上我们当时在这个软件开发环境国家重点实验室,当时是做这个关于北京市的这个呃,浮动车的这个GPS的这个数据啊,做一些这个GPS啊数据,做一些这个站点的预测啊这样的一些这个功能啊呃,当时呢,就把北京整个这个呃公交系统的这个这个这个数据啊,公交车的数据呢,就就都拿到了,然后清洗之后呢,就存到这个呃Excel文件当中了啊那Excel Excel文件中的这个数据呢,呃,这个其实读取啊,都得需要通过程序来写,你单纯去双击打开这个Excel文件是打不开的啊,就是就挂了是吧,就报错了。啊,当然这个数据的话呢,我们说其实现在来看的话呢,还可以存储到这个数据库当中,对吧?哎,会更好一些哈,啊,它存储的这个数据结构呢,可以更复杂。诶,刚才呢,提到这样一个点,那么在从这个纵向上来讲的话呢,就是我们存储到数据库中,而没有选择文件中的另外一个原因呢,就是咱们这这个数据库当中啊,存储这个数据的特征啊,诶类型啊是多种多样的啊,一方面呢,有我们常见的一些字符串啊,整形啊是吧,浮电型啊,这个还有日期类型的呀,哎,当然呢,我们还可以存储像一些图片,像一些文本,大的文本啊相关的一些数据,这个呢,就是这种复杂的多样性,哎,单纯的我们要文件的话呢,其实是不好来这个解决的是吧?哎,这个数据库呢,不管是从这个横向的存储的数据的条目数上来讲,还是从纵向上存储数据的丰富度来讲,它都要好于其他的一些介质。
06:30
啊,这呢就提到了我们为什么要持久化数据啊,为什么要选择持久化介质当中的数据库啊,OK,行,那么这呢,我也罗列出来一个生活中的例子,就是大家呢,有可能之前没有接触过数据库,但是我这样一说呢,你可能就明白,比如说的话呢,大家你用手机去登录这个QQ吧。登录QQ的话呢,你如果是第一次登录,需要你填写一下你的QQ的账号和密码,然后呢,就登录了啊,就能看到相应的一些页面信息,对吧?那么此时的话呢,如果大家啊,比如说你回到整个这个进程的这个角度,哎,把我们就往上一划,把我们QQ的这样一个进程啊给划掉了。
07:07
那么划掉之后呢,就意味着我们当前这个进程当中的这个数据啊,肯定是从内存当中,内存当中啊都已经被抹掉了,那当你再打开QQ这样的一个APP的时候,你会发现呢,诶,这个仍然能够登录成功,那言外或者说呢,你至少在这块它会保留你的这个,呃,添加当初的那个账号和密码啊,那明明我们刚才填写的数据在内存中,我已经从内存中给划掉清掉了,是吧?那为什么我们在进在点击进来的时候呢?哎,我们内存中还保存有这样的数据呢,那显然呢,是不是进行了数据的持有化呀?包括呢,大家你再把网断掉之后,呃,你再打开,就是你也可以再把它清掉内存,你再打开我们这个,呃,QQ的时候,你发现的相关的这些,呃,聊天的这个内容,你点开也能进去啊,里边也有相关的一些信息都存储的,那就因为这些数据啊,都已经进行了持久化。对吧,哎,那这里边儿我们可以选择的介质啊,那典型的就是数据库。
08:04
OK,好,这呢,就我们说清楚了,咱们为什么要使用数据库对吧。那接下来的话呢,咱们关于数据库啊,有几个相关的概念啊,以及呢,这几个相关的结构之间的一个关系,需要大家首先弄清楚,然后呢,咱们再装数据库啊,大家就能够哎,脑子里边有一个诶图景那就啊好,那首先呢,我们给大家介绍几个概念,这里边第一个叫做DB啊简称啊,这个全称呢叫database,就是叫数据库的意思。是存储数据的一个仓库,它本质呢就是一个文件系统里边呢,保存着一系列啊有组织的数据。啊,这呢,就是我们所说的这个数据库。啊,数据库啊,那这个数据库的话呢,诶也可以让大家先看一眼啊,因为我在自己的电脑当中啊,已经安装了MYSQL的数据库了,那么安装好这个数据库,我这个数据都放在哪了呢?诶那么在我自己电脑的这个磁盘的哪个位置啊,我在C盘的啊program data里边找这个买蛇口,然后这儿,哎,我们找这个8.0,诶大家会发现这是不是有一个叫data塔,对吧?然后data打开之后。
09:14
那么这里边呢,你像每个文件夹其实为代表的就是一个数据库,诶我们所说的这个具体的这个物理磁盘上的这个文件了啊,比如说呢,我这叫艾特硅谷DD,它就是一个具体的呃数据库了,里边打开诶其实存放了我们很多的,这其实都是一些表啊,都是一些表OK啊这是这样的一个情况。啊,那么关于这个目录结构的介绍呢,这个咱们重点呢,比如说这里边为什么叫IDB里边都存什么了呀,是吧?哎,这个呢,咱们放到下篇的时候呢,给大家深入的做一个剖析,上篇的话呢,咱们更多的是一个应用层面的啊,先会用,再讲底层原理。好,那么刚才呢,我带大家看的其实就是这个,呃,这个数据库啊,但是你现在别别跟我们说MMYSQL数据库啊数据库,诶是这个数据库吗?诶算是俩事儿啊,算是俩事儿,这个呢,就是实打实的物理磁盘上的那个文件啊,就是你存在那个数据集合在一起,我们就叫做数据库,或者你叫数据库文件也可以啊,那么第二个词呢,叫做DBMS,那就是database management system,就是数据库的管理系统。
10:20
它是一种操作和管理数据库的大型软件,诶这个概念就相当于咱们一开始说的,哎,MYSQL数据库,诶那个MYSQL数据库啊,咱们说的其实反而是它知道吧,它是一个软件层面的概念啊,用于建立、使用和维护数据库,对数据库呢进行统一的管理和控制,那用户呢,通过DBMS这个用于这个来访问这个数据库中的这个表中的数据。那就相当于咱们带大家一会儿装的是啥呀,咱们一会儿是不是要装,呃一说的话呢,叫呃装MYSQL数据库,但其实呢,咱们其实装的是MYSQL数据库的,这个叫管理软件,对吧?哎,就是我们里边的这个或者这个这是它的不同的这个版本啊,这个我们其实可以称为呢,叫做DBMS。
11:03
啊TBMS,那么有了这样一个软件的话呢,咱们是不是就可以来通过这个软件呢,去操作具体的一个数据库了。哎,有点像什么意思呢?哎,我一说这个大家能明白啊,比如说你这里边写了一个叉叉叉啊点啊doc。这是不是我们说的一个word文件对吧?这个文件呢,其实就好比是这个数据库一样,而你使用什么去打开这个点doc这个文件啊,咱们是不是使用了一个软件啊,在这个微软的office里边呢,叫word啊,在咱们中国金山里边呢,是不是叫WPS啊,咱们使用这两个软件来打开的这个文件啊,那么这个软件的话呢,呃,就类似于我们这里边说的这个DBMS一样。诶,这样一解释大家可能就会更清楚是吧?哎,再比如说你这个有一个点GPG的这样一个文件啊,你可以使用咱们Windows自带的,或者你自己装了一个,比如说美图看看是吧,这样的一些软件呢,咱们去打开这个点gpt的文件啊,你有个点MP3是吧,呃,点这个avi是吧?哎,这样的格式的这个文件,哎,这是数据库,相当于,然后呢,你用相关的软件呢,去打开这样的一些文件啊OK,行,这呢就是我说的DBMS,那么这个circle,或者叫做C。
12:13
哎,注意呢,这这我们看到这几个呢,都是这个单词的缩写。呃,那这呢,我们就叫DBMS就行了啊,那这个,呃,Circle的话呢,习惯上我们就是把它当成一个单词来念了,你也别去念SQL啊,如果你出去说啊,今天啊,我开始学习一门语言了,叫做SQL,这个呢会被人笑话的,因为咱们都不这样去念啊,就把它当成一个词来念,念circleq也行,念CQ也可以。Circle c啊,都可以啊,更多常见的是念circle啊。这个它叫结构化查询语言啊,Structural query language啊,有的也翻译成叫structural query language叫结构化的查询语言,那么这个语言最后落脚点是一个language,对吧?它来做什么用呢?那那就是我们通过这个语言啊,来这个编写相关的一些咱也叫代码了,然后呢,把这个代码呢,运行到这个DBSMS当中,让这个DBMS呢,帮我们去数据库当中做相关的一些操作。
13:14
啊,或者说呢,你那这个数据库,呃,管理系统,你想针对这个数据库文件想干什么操作呀,哎,是通过这个SQL语言来体现的,OK,就是这个意思,你看这里边描绘的是吧?哎,就这个意思,好,那么这呢是我们解释的这样几个词,那下边呢,就是给大家展示的就是咱们这个数据库跟数据库管理系统他们的一个关系,诶那我这呢,诶放了一个图,应该也比较清楚,大家呢,就是作为这个普通用户啊,不管你是通过PC端也好,还是这个手机端也好,大家呢,你可以登录啊,这个好像下个月就开始双11了是吧?诶有的同学都开始储备这个资金了啊,给女朋友要买东西了啊,都已经放到购物车里了啊,那么你通过这个手机端也好,PC端浏览器也好,我们呢,就可以来通过网络啊,其实这个看这个图也行,通过我们这个网络呢,大家首先访问的是叫web服务器,就是我们这个后台的这个服务器,我们写了相关的一些这个呃这个呃,咱们叫项目也好,叫系统也好啊,比如京东的这样的一个项目,或者京东这样一个系统。
14:15
然后呢,这个web服务器呢,接着去访问我们的数据库服务器。在数据库服务器里边装的就是咱们说的这个数据库管理系统啊,DBMS,那我们比如说装的是MYSQL的数据库啊,那就是我们MYSQL的DBMS。哎,这个是咱们通过web服务器来访问我们的MYSQL的数据库服务器。那么这个MYQL数据服务器呢,根据用户的这个请求,比如说你是想查看诶某个这个商品信息,还是想查看你的这个订单信息,还是想查看你的购物车,还是你想仅仅做一个登录注册,对吧?诶那么这时候呢,我们就需要呢,这个由web这个请求发送过来,相应的指令给到我们数据库管理系统,然后呢,我们去编写相关的SQL,比如说你想查看购物车的这个数据,那我们就需要呃查写一个这个查询的一个select的语句,然后呢,这个语句呢,放到我们数据库当中啊,针对相关的一些关联表,我们做一个查询,查询完以后呢,再把这个数据呢,通过诶MYSQL的DBMS返回给我们外部服务器,再返回给相关的这个用户,这呢就是一个整体的流程。
15:17
啊,在这个流程当中,我们关于这个后台这块呢,就做了简略了,咱们重点呢看的就是这个部分。在这个数据库服务器当中,大家能够看到,哎,我们这里边的DBMS和我们数据库它的一个关系啊,这个图呢,就是更贴近于我们,像这个就是上边呢,有点像这个,呃,叫什么扁平化的一个一个一个图,下边呢就一个拟物式的一个图啊,更贴近我们真实的一个场景啊,客户呢,通过TC pip的一个协议啊,以及相关的端口号来访问对应的数据库服务器,然后呢,这个数据库服务器呢,我们去数据库当中做相关的查询。这个典型的一个数据库对象呢,叫做表啊,表里边呢,有一条一条的记录是吧,哎,就这样的意思,好这呢就是我们谈到了这个相关的几个概念,以及对应的一些关系。
我来说两句