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分享的内容,谢谢大家
MySQL数据分析—(4)关系数据库的三个逻辑框架的更多相关文章
- MySQL数据分析实战-朱元禄-专题视频课程
MySQL数据分析实战-496人已学习 课程介绍 本套课程由知名数据分析博主jacky老师录制,深入浅出讲解MySQL数据分析,从实战角度出发,帮助大家制胜职场!课程收益 1.学会 ...
- MySQL数据分析-(15)表补充:存储引擎
大家好,我是jacky,很高兴继续跟大家分享<MySQL数据分析实战>,今天跟大家分享的主题是表补充之存储引擎: 我们之前学了跟表结构相关的一些操作,那我们看一下创建表的SQL模型: 在我 ...
- MySQL数据分析-(11)表补充:数据类型
大家好,我是jacky,很高兴继续跟大家学习<Mysql 数据分析实战系列教程>,上次课程jacky讲解了表层面的增删改查,jacky说最重要的是增,增就是创建表,作为一个严谨的MySQL ...
- MySQL数据分析-(10)SQL基础操作之表操作
大家好,我是jacky,很高兴跟大家继续分享MySQL数据分析实战课程,前面我们学习了库层面增删改查的SQL语句,这次课jacky将给大家介绍表层面的增删改查, (一)本课时的学习逻辑 表层面的增删改 ...
- MySQL数据分析(7)-SQL的两大学习框架
大家好,我是jacky,很高兴继续跟大家分享<MySQL数据分析实战>课程,前面的课程基本上我把MySQL的原理都做了一定的介绍,有好多朋友说学习MySQL是没有逻辑的,其实jacky是非 ...
- MySQL数据分析-(6)数据库设计之规范化
大家好,我是jacky,很高兴继续跟大家学习MySQL数据分析这门课,上次课我们介绍了E-R图,我们要给手机销售公司设计数据库,那么同一个项目,10个设计人员可能设计出10种不同的E-R图:因为不同的 ...
- MySQL数据分析-(1) 数据库前言
(一)开场白 大家好,欢迎大家跟我一起学习<MySQL数据分析实战>这门课程,对于数据分析师来说,数据库是每一个从业者都必须掌握的课程,我们这门课是从实战的角度出发,我会帮助大家梳理MyS ...
- MySQL数据分析-(14)表补充:字符集
大家好,我是jacky朱元禄,很高兴继续跟大家学习<MySQL数据分析实战>,本节课程jacky分享的主题是表补充之字符集 在分享课程之前,jacky在跟大家强调一下逻辑的重要性,我们学习 ...
- MySQL数据分析-(13)表操作补充:索引
大家好,我是jacky朱元禄,很高兴继续跟大家学习MySQL数据分析实战,今天跟大家分享的主题是表补充之索引: (一)前面课程的小节以及本节课程的逻辑梳理 在正式分享主题之前,jacky先跟大家捋顺一 ...
随机推荐
- Ctrl+R快速启动应用程序
1.打开注册表 Ctrl+R搜索框中键入“regedit”,回车打开注册表 2.找到HKEY_LOCAL_MACHINE中的如下路径 HKEY_LOCAL_MACHINE\SOFTWARE\Micro ...
- 十一、微信小程序-var、let、const用法详解
let命令 基本用法 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = 10; var b = 1; } a // ...
- JDBC 学习复习8 C3P0数据源使用
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等. c3p0与dbcp区别 dbcp ...
- Django rest-framework框架-组件之路由
路由: a. url(r'^(?P<version>[v1|v2]+)/v1/$',views.ViewView.as_view()) url(r'^(?P<version>[ ...
- Java面试容器,collection,list,set
1.容器指的是可以容纳其他对象的对象. 2.collection/set/list的联系和区别? (1)collection是Java集合顶级接口,存储一组不唯一,无序的对象: (2)list接口 ...
- python点击短信验证码
代码如下 : import requestsimport time# 手机号码tel=1381380000# 请求地址url="http://192.168.100.101:8080/api ...
- mongodb聚合查询-aggregate
Mongodb-aggregate 在工作中经常遇到一些mongodb的聚合操作,和mysql对比起来,mongo存储的可以是复杂的类型,比如数组,字典等mysql不善于处理的文档型结构,但是mong ...
- c# 执行调用Oracle Procedure传参及回传值
////定義參數 //IDataParameter[] parameters = // { ...
- 微软Surface低端版本将问世
平板电脑现如今已走进千家万户,其触屏的操作相比笔记本电脑更加方便,屏幕也比手机大很多,是家用玩机的首选.虽然微软也在这一领域有所发力,推出了Surface这一产品,但其高昂的售价使得其在市场上的表现并 ...
- Windows工作原理
Windows工作原理中心思想 Windows工作原理的中心思想就是“动态链接”概念.Windows自身带有一大套函数,应用程序就是通过调用这些函数来实现它的用户界面和在屏幕上显示文本与图形的.这些函 ...