热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MySQL数据分析-(2)数据库的底层逻辑

(一)数据库存在的逻辑1.案例开篇-大部分公司对于数据和数字的管理都是低效率的我们要学习数据库,就必须要搞清楚数据库是在什么样的情景下发明并流行的?学习新知识就要搞清楚每个

(一) 数据库存在的逻辑

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

我们要学习数据库,就必须要搞清楚数据库是在什么样的情景下发明并流行的?学习新知识就要搞清楚每个知识点的来龙去脉,这样才能在日后的工作中灵活运用。下面,我会抛砖引玉,以实际案例引导大家思考,数据库存在的底层逻辑是什么?
我们知道,一个公司要想正常运转,一定是多部门协同工作的;以手机销售公司举例,当月销售了1万部手机,想想我们大部分公司是怎么记录存储这些数据的?公司销售部是一定要记录这1万笔的销售数据的,财务部也要记账,销售了1万部手机,物流部要记录运送了这1万部手机,运营部也要记录着投入了这1万部手机的推广费用;

@数据分析-jacky

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

  • 问题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,努力的学习吧!


推荐阅读
author-avatar
游走的小张
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有