(一) 数据库存在的逻辑

1.案例开篇-大部分公司对于数据和数字的管理都是低效率的

我们要学习数据库,就必须要搞清楚数据库是在什么样的情景下发明并流行的?学习新知识就要搞清楚每个知识点的来龙去脉,这样才能在日后的工作中灵活运用。下面,我会抛砖引玉,以实际案例引导大家思考,数据库存在的底层逻辑是什么?

我们知道,一个公司要想正常运转,一定是多部门协同工作的;以手机销售公司举例,当月销售了1万部手机,想想我们大部分公司是怎么记录存储这些数据的?公司销售部是一定要记录这1万笔的销售数据的,财务部也要记账,销售了1万部手机,物流部要记录运送了这1万部手机,运营部也要记录着投入了这1万部手机的推广费用;

看了上面的例子,对于数据的管理与记录方面,我们发现了什么问题?

  • 问题1:数据重复

    • 目前,每个部门都管理着自己一方的数据。无论是销售部还是物流部都有自己的对手机销售的核算体系,财务部就更不必说了,这种状况下,每个部门的数据记录都是重复的,造成了企业的浪费,每个部门输入记录这些数据也要花费很多时间。某个部门的数据自然也不能用于其他部门。
  • 问题2:数据矛盾的出现

    • 如果开始手机的单价是2000元,当手机单价涨价到2200元的时候,公司就要通知各个部门手机的价格变动了,这准确的信息传递的本身就是一件麻烦的事;如果,比如说物流部忘记了把价格调整,或者财务部错误的单价纪录成了3000元,这样的错误发生后,各个部门的数据就出会现不一致的情况。这样系统的信息与现实世界的实际情况就对应不起来了。
  • 问题3:难以应对新的变化

    • 由于数据是由各部门分别进行管理,如果一个新部门成立,就必须重新构建数据体系。

(二)数据库的引入

1.数据库是一个共享系统

针对上面的问题,我们有没有什么好办法可以建立一个比现在更有效的数据系统?

上面的这些问题归根结底都是由于各自管理数据造成的,为了更加高效的处理数据,仅仅单纯的管理数据是不够的。

那么,怎么做才能更好呢?我们需要对整个企业的数据进行一元化管理就可以了,这就是我们这门课的主题——“数据库”。

  • 对数据库进行一元化管理,共享数据。这样,各部门都可以查询并使用数据,从而建立一个高效有序的系统,这样既能够防止发生数据矛盾,又没有重复的数据,可以很容易的引入新的系统。

2.满足什么条件的共享系统才能当数据库用?

数据库是一个数据共享系统,既然是共享系统,在设计数据库的时候我们要注意回避什么问题吗?

  • 首先,当很多人共享数据库时,简单的录入、提取数据变得非常必要,我们必须使用任何人都能够理解的方法处理数据库;

  • 其次,我们必须要保证共享数据的绝对安全,比如薪酬数据就是只能由一部分人阅读的机密数据,销售数据只能由销售部的人更新

  • 然后,数据库在由多人使用的时候,比如,销售部和物流部想要同时更改手机的名称,销售部要把手机改成英语,物流部要把手机名称变为中文。这时,我们的手机名称会是怎么样呢?在多人使用的数据库中,必须能很好的解决此问题。

  • 最后,我们要注意不能丢失数据,系统有可能卡住,硬盘有可能发生故障,这时数据就面临着损坏的危险。因此,从这些故障中恢复数据的工作就变得非常重要了。

(三)MySQL的本质

1.数据库管理系统是什么?

  • 在说MySQL的本质是什么之前,我们先来说说数据库管理系统是什么?

前面我们已经说过了数据库存在的逻辑,再来说数据库管理系统是什么就非常清楚了;我们要引入数据库,是不是一定得有一个操作软件来操作数据库?这个操作软件就是数据库管理系统—DBMS。

  • 数据库管理系统DBMS,

    • 一句话解释:DBMS就是一个软件;
  • 为什么要有DBMS这个软件

    • 为了管理数据;

2.为什么我们要选择MySQL来学习

现在我们再来说MySQL的本质,前面我们说数据库可以解决当前数据管理中的很多问题,那么开发一套数据库管理体系就有很多商机,是不是?比如微软看到商机就开发了Sql Server,有的商家就开发了Oracle,还有比较小的sqlite,access,DB2等等,有很多这样的软件;

  • 对于茫茫多的数据管理软件,我们该怎样选择呢?

    • Sql Server功能特别强大,但是收费,Oracle非常的稳定,也是收费的;对于一般公司来说,都想省钱,一般情况下,现在大家都在用的就是MySQL,社区版的MySQL是免费的,我们可以对它进行二次开发,进行调优,调成在企业环境下能用的;
  • 学了MySQL,其他的比如说Sql Server,Oracle等就不用再学了,因为都是大同小异的;

最后总结一下,MySQL的本质就是一个数据管理软件,就是一个软件,而已。我们要掌握的就是怎样的应用它去解决实际问题,说白了,我们要学的也就是这么简单的一点东西而已,所以,跟着jacky,努力的学习吧!

MySQL数据分析-(2)数据库的底层逻辑的更多相关文章

  1. NewSQL分布式数据库,例如TIDB用K/V的底层逻辑

    内容参考 对分布式对定义参考这篇文章: 微服务都想用,先把分布式和微服务之间的关系说清楚 对分布式架构中心或无中心对比参考这篇文章: 分布式存储单主.多主和无中心架构的特征与趋势 对HDFS对内部机制 ...

  2. MySQL数据分析实战-朱元禄-专题视频课程

    MySQL数据分析实战-496人已学习 课程介绍        本套课程由知名数据分析博主jacky老师录制,深入浅出讲解MySQL数据分析,从实战角度出发,帮助大家制胜职场!课程收益    1.学会 ...

  3. MySQL数据分析-(1) 数据库前言

    (一)开场白 大家好,欢迎大家跟我一起学习<MySQL数据分析实战>这门课程,对于数据分析师来说,数据库是每一个从业者都必须掌握的课程,我们这门课是从实战的角度出发,我会帮助大家梳理MyS ...

  4. MySQL数据分析-(6)数据库设计之规范化

    大家好,我是jacky,很高兴继续跟大家学习MySQL数据分析这门课,上次课我们介绍了E-R图,我们要给手机销售公司设计数据库,那么同一个项目,10个设计人员可能设计出10种不同的E-R图:因为不同的 ...

  5. Percona 开始尝试基于Ceph做上层感知的分布式 MySQL 集群,使用 Ceph 提供的快照,备份和 HA 功能来解决分布式数据库的底层存储问题

    本文由 Ceph 中国社区 -QiYu 翻译 英文出处:Using Ceph with MySQL 欢迎加入CCTG Over the last year, the Ceph world drew m ...

  6. MySQL数据分析-(11)表补充:数据类型

    大家好,我是jacky,很高兴继续跟大家学习<Mysql 数据分析实战系列教程>,上次课程jacky讲解了表层面的增删改查,jacky说最重要的是增,增就是创建表,作为一个严谨的MySQL ...

  7. MySQL数据分析-(15)表补充:存储引擎

    大家好,我是jacky,很高兴继续跟大家分享<MySQL数据分析实战>,今天跟大家分享的主题是表补充之存储引擎: 我们之前学了跟表结构相关的一些操作,那我们看一下创建表的SQL模型: 在我 ...

  8. MySQL数据分析-(14)表补充:字符集

    大家好,我是jacky朱元禄,很高兴继续跟大家学习<MySQL数据分析实战>,本节课程jacky分享的主题是表补充之字符集 在分享课程之前,jacky在跟大家强调一下逻辑的重要性,我们学习 ...

  9. MySQL数据分析-(9)库操作补充:用户管理和权限管理

    大家好,我是jacky,很高兴继续跟大家学习MySQL数据分析实战,本节课的主题是用户管理和权限管理: 在分享之前,jacky在不厌其烦的强调一下:学习任何一门学科和技能,最重要的是捋清逻辑,我们要知 ...

随机推荐

  1. Idea 使用 Junit4 进行单元测试

    目录 Idea 使用 Junit4 进行单元测试 1. Junit4 依赖安装 2. 编写测试代码 3. 生成测试类 4. 运行 Idea 使用 Junit4 进行单元测试 1. Junit4 依赖安 ...

  2. 浅谈.NET中的类型和装箱、拆箱原理

    谈到装箱拆箱,大概的意思就是值类型和引用类型的相互转换呗---值类型到引用类型叫装箱,反之则叫拆箱.这当然没有问题,可是你只知道这么多,那么建议你花点时间看看楼主这篇文章 1. .NET中的类型 为了 ...

  3. eventFlow 系列 <三> 查询所有

    接着上面的例子,产生2条数据.怎么把这两条数据查询出来呢? var commandBus = resolver.Resolve<ICommandBus>(); , ); var execu ...

  4. 关于GPU的传输速度与什么有关??

    1. i5-8250U   1.6GHz 2. PCIE 3  4K 105fps  =  10.45Gps   4K 一帧  = 99.5Mbit 4K YUV444 + mask = 3840*2 ...

  5. java注解日志记录到数据库

    1. pom添加依赖包 <!--添加aop依赖--><dependency> <groupId>org.springframework.boot</group ...

  6. Twitter Bootstrap:前端框架利器

    Bootstrap 的文件结构 读者可以直接从 GitHub 下载到 Bootstrap 源码,本地解压后可以看到这样的目录结构:docs.img.jquery-ui- bootstrap.js 和 ...

  7. CVE-2018-2879 - anniversary

    For the anniversary of the discovery of CVE-2018-2879 by Sec Consult (https://sec-consult.com/en/blo ...

  8. CSS3自定义滚动条样式方法

    该代码收集于网上资源,非原创 /*定义滚动条宽高及背景,宽高分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 10px; /*对垂直流动条有效*/ height: ...

  9. CentOS7安装Oracle11g数据库

    1.关闭防火墙systemctl stop firewalled servicesystemctl disable firewalled service 2.关闭selinuxvim /etc/sel ...

  10. Linux shell批量执行scp脚本工具

    转载: linux shell + expect:批量scp脚本工具             2011-09-13 15:51:06 分类: Python/Ruby 最近在准备一个部署的任务,其中有一 ...