MySQL数据分析—(4)关系数据库的三个逻辑框架

(一)前面课程逻辑梳理

任何一门数据的软件也好,数据构架也好,或者说是数据学科也好,最终都是要解决实际问题的,大家说是不是?

前面jacky讲为什么要引入数据库的时候,举了一个案例,大家还记的吗?大家还记得这张图吧

@数据分析-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的讲解在无时无刻的讲解逻辑,为什么我要这么强调逻辑,就拿关系数据库来说,我们按照关系数据库的三层逻辑弄清楚关系数据库的含义,那么当我们今后更深入的学习非关系数据库时,同样也要从这三个逻辑来学习,这就是学习的捷径,要善于总结,善于归纳;

@数据分析-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给大家画下客户端和服务端具体的交互过程:

@数据分析-jacky

  • 左边方块里是我们数据库的客户端,右边方块里是我们的服务器,这里服务器是一直运行着的,那么MySQL具体的交互过程是怎样的呢?我们想要从数据库里调取数据,那么客户端会向我们服务器发送一条指令,告诉服务器我要调取的是怎样怎样的数据,那么服务器怎么才能接受到客户端发送的指令,做出回应呢?或者说它们是怎样沟通的呢?就是通过SQL语句,SQL语句我们也可以说是SQL语言,它作为客户端与服务器沟通的媒介,把客户端的需求翻译成服务器能听懂的语言,让服务器从客户端中调出请求,使得这个客户端能够使用取出的数据;

  • 搞清楚MySQL背后客户端与服务器交互的过程,什么是关系数据库的操作指令,SQL语句有什么作用就迎刃而解了,下面我们总结下SQL是什么?

    • SQL就是为操作数据而开发的语言,它可以提高数据库的查询效率,也可以进行数据增删改查,一系列的操作;

2.3 完整性约束

关于数据库的最后一个逻辑框架,完整性约束,为了深入浅出的将好这个体系的课程,jacky在这个小节只作框架展示,先不进行讲解,后面的课程有太多的实操案例供朋友们理解;在这个阶段,大家先看下我们结构导图,大概有一个印象就可以了

好,这就是本节jacky分享的内容,谢谢大家

posted on 2018-02-22 21:36  朱元禄  阅读(1145)  评论(0编辑  收藏  举报