MySQL数据分析—(4)关系数据库的三个逻辑框架
(一)前面课程逻辑梳理
任何一门数据的软件也好,数据构架也好,或者说是数据学科也好,最终都是要解决实际问题的,大家说是不是?
前面jacky讲为什么要引入数据库的时候,举了一个案例,大家还记的吗?大家还记得这张图吧
jacky说这家手机公司对于手机数据的管理是混乱的,给出了3点混乱的理由,然后引出了我们要引入数据库的必要性;jacky说既然我们的数据库这么重要,那么操作数据库的软件就一定会出现,那么MySQL就是其中最流行的软件之一,是吧,然后大家跟着jacky把MySQL都安在了电脑上,前面我讲的大概就是这些内容。
(二)本课时的逻辑
大家有没有发现,前面我们说手机案例的时候,只是把问题抛了出来,没有说具体应该如何处理这个问题;我们说MySQL软件很流行,大家也只是安装上了,不知道有什么用,也不知道应该怎样用,是吧?
下面的课程,jacky就会带着大家理清这些问题。
(三)数据库设计前的基础铺垫
先说前面手机销售公司的案例,我们抛出了问题,提出了引入共享数据管理的思想,我们说引入数据库是必要的,那结合我们实际的工作需求,我们该如何构建这个共享数据的体系呢?
构建共享数据体系这个内容如果说的更学术一定就是数据库设计,可能有朋友问,说jacky,我听过别人的课程啊,数据库设计都是放在后面来讲的,你怎么放在前面说呢?
熟悉jacky讲课风格的朋友都知道,jacky最重视知识的思维逻辑,这样的顺序也正符合我们实际工作中的逻辑顺序,也便于大家更好的理解知识;
回归主题,我们要分析数据库设计之前,jacky有必要引入一些数据库的一些术语,以便后面更好的讲解;
1.数据模型
我们知道,在实际业务,业务数据都存在着一定的关系,我们该怎样处理这些数据呢?这里,我们处理数据的一个思路就是将这些数据问题模型化,这就是我们引入的一个概念数据模型;
1.1数据模型的类型
数据模型更理论的叫法是逻辑数据模型,主要的数据模型有四种:
层次模型(Hierarchical Model)
网状模型(Network Model)
关系模型(Relational Model)
面向对象模型(Object-Oriented Model)
1.2 关系数据库
关于上面的4种数据模型,jacky这里只讲解关系型数据库,因为MySQL就是一个关系数据库管理系统,其他的三类jacky都把其归类为非关系数据库;
在实际工作中,关系型数据库是应用最广泛的数据库,那什么是关系型数据库呢?
- 和Excel工作表一样,关系型数据库也采用行列二维表结构来管理数据,所以简单易懂;同时,关系型数据库可以用专门的SQL语言对数据进行操作
1.3 关系数据库与非关系数据库的优缺点比较
关系数据库
优点:数据安全性,强;
优点:简单易懂;
- 但是二维表的形式存储数据,比较浪费空间,效率低
非关系数据库
优点:存储数据效率高
缺点:突然断电容易丢失数据
2.关系数据库的三个逻辑框架
下面的知识非常重要,如果说本小节的课程什么都没记住,下面关系数据库的三个逻辑也一定要记住,关系数据的三个逻辑框架分为三部分:第一部分是数据结构,第二部分是操作指令,第三部分是完整性约束,一个逻辑框架下的具体含义,jacky会逐一讲解;
大家发现没有,jacky的讲解在无时无刻的讲解逻辑,为什么我要这么强调逻辑,就拿关系数据库来说,我们按照关系数据库的三层逻辑弄清楚关系数据库的含义,那么当我们今后更深入的学习非关系数据库时,同样也要从这三个逻辑来学习,这就是学习的捷径,要善于总结,善于归纳;
2.1 数据结构
商品编号 | 商品名称 | 销售单价 | 登记日期 |
---|---|---|---|
0001 | A品牌手机 | 1000 | 2018-02-23 |
0002 | B品牌手机 | 1500 | 2018-02-24 |
0003 | C品牌手机 | 2000 | 2018-02-25 |
关系数据库的数据结构就是二维表,我们看我们的示例图表:
二维表的列,也就是垂直方向,给它一个命名,叫做“字段”,它代表了保存在二维表中的数据项目,在这个示例表中我们可以看出,从商品编号到登记日期一共有4列;对于列的约束比Excel更加严格,定义为数字的列只能输入数字,定义为日期的列只能输入日期,关于列的约束,jacky后在后面的章节中详细介绍,这里我们先有个印象就可以;
那我们再来看,二维表的行,我们给它一个什么命名呢?行,我们命名为“记录”,它就相对于一条数据,我们可以看到示例表中总共有3行数据
2.2 操作指令
我们说关系数据三大逻辑框架的操作指令框架是指什么呢?
关系数据库的操作指令就是所有的SQL语句;
前面我们已经带大家安装了MySQL软件,大家还记得吗?这里,大家要清楚MySQL是一个一种C\S结构的软件,即分为:客户端和服务端;我们要想访问服务器,则必须通过客户端;服务器应该一直运行,客户端则在需要使用的时候运行。
jacky给大家画下客户端和服务端具体的交互过程:
左边方块里是我们数据库的客户端,右边方块里是我们的服务器,这里服务器是一直运行着的,那么MySQL具体的交互过程是怎样的呢?我们想要从数据库里调取数据,那么客户端会向我们服务器发送一条指令,告诉服务器我要调取的是怎样怎样的数据,那么服务器怎么才能接受到客户端发送的指令,做出回应呢?或者说它们是怎样沟通的呢?就是通过SQL语句,SQL语句我们也可以说是SQL语言,它作为客户端与服务器沟通的媒介,把客户端的需求翻译成服务器能听懂的语言,让服务器从客户端中调出请求,使得这个客户端能够使用取出的数据;
搞清楚MySQL背后客户端与服务器交互的过程,什么是关系数据库的操作指令,SQL语句有什么作用就迎刃而解了,下面我们总结下SQL是什么?
- SQL就是为操作数据而开发的语言,它可以提高数据库的查询效率,也可以进行数据增删改查,一系列的操作;
2.3 完整性约束
关于数据库的最后一个逻辑框架,完整性约束,为了深入浅出的将好这个体系的课程,jacky在这个小节只作框架展示,先不进行讲解,后面的课程有太多的实操案例供朋友们理解;在这个阶段,大家先看下我们结构导图,大概有一个印象就可以了
好,这就是本节jacky分享的内容,谢谢大家