数据分析不是个事儿 潜水
  • 10发帖数
  • 9主题数
  • 0关注数
  • 0粉丝
开启左侧

一文讲透数据库,以后别说你不懂数据库

[复制链接]
“数据分析需要懂数据库的知识吗?”
李老头最近经常听到这样的标题,很多新人都觉得如果自己只做业务,不走技术线,是不是就可以不用学习数据库了?是不是面试的时候就不需要准备了?
究竟很多新人刚进公司,一看到数据库里各种表的复杂链接方式,就开始犯起头疼了,更有甚者连SQL与数据库的区别都不知道,数据堆栈这些概念就更不用提了。

然而,让很多人失望的是,数据库知识是我在面试新人时最常问的标题,没有之一。




数据分析需要懂数据库吗?



对数据库的了解程度,要看你定位在数据分析的哪一种条理,我见过一些数据分析人员不懂数据库,都是基于 Excel 的文件源做数据分析,他们更擅长业务
但是,他们通常情况下必须依赖于 IT 部门的支持,需要 IT 部门提供一些基本的分析数据。凭借对业务的理解,对业务数据的理解也一样可以做好数据分析工作。

也有一类数据分析人员,自己就是从数据库、贸易智能BI的角色转向纯粹的数据分析人员,通过对业务的理解加上数据处置处罚的技能和知识在分析领域也可以做的很好。

他们的一大优点就是在很大程度上不需要过度依赖IT部门,给他们肯定的权限就可以自己动手直接面对统一的数据源做数据分析,偶尔一条SQL就是数据分析的一个环节。

以是,作为数据分析人员,个人觉得技多不压身,多一种获取差别数据渠道的本领,自然是有长处的。
什么是数据库?

首先在了解数据库之前,我们要先了解一下数据是怎么储存的?
我们都知道,当我们的祖先还在荒原中茹毛饮血的时候,就学会了使用结绳记事来进行数据储存,这些被打上结的绳子就是“数据”,虽然这种数据很难保存、很难提取。

后来祖先使用甲骨、竹简、纸张来储存笔墨数据,近代发明了录音机、摄像机储存音频数据,虽然数据载体一直在变化,但是数据存储的方式并没有发生很大的变化,都属于传统存储方式。

直到信息时代的到来,数据存储的方式才发生了庞大变革并朝着两分方向发展:文件与数据库。
1、文件相当于把数据存放在Excel当中,形成读写文件后进行存储,然后通过python等工具对文件数据进行筛选、处置处罚、提取;
2、数据库则是把数据按照其结构将其储存在计算机中,形成一个具有大数据量的数据聚集,相当于存放文件的文件柜。

使用数据库存储数据是目前最为流行的方式,因为数据库拥有持久化存储、读写速度也很高,更关键的是数据库可以极大程度保证数据的有用性,而不像是Excel等文件极易容易产生修改错误。
数据库分类?

按照早期的数据库理论,比较流行的数据库模子有三种,分别为条理式数据库、网状数据库和关系型数据库。而在当今的互联网企业中,最常用的数据库模式主要有两种,即关系型数据库非关系型数据库
关系型数据库模子是把复杂的数据结构归结为简单的二元关系(即二维表格情势)。在关系型数据库中,对数据的使用险些全部创建在一个或多个关系表格上,通过这些关联的表格分类、归并、连接或选取等运算来实现数据的管理。

关系型普通的理解是,数据作为二维数组存在,你可以理解为图书馆的图书排列。
书架、楼层你可以理解为关系型的数据结构,书作为数据存在,而全部图书馆管理员就是数据库的进程,用于差别的工作。有人救火(数据修复、备份),有人整理书架、册本(数据整理、归档),而用户进程就是指的来到图书馆的顾客,他们看书、移动册本,而管理员就会对着维护。


关系型数据库诞生距今已有40多年了,从理论产生到发展到实现产物,例如:常见的MySQLOracle,oracle在数据库领域里上升到了霸主职位,形成每年高达数百亿美元的庞大财产市场,而MySQL也是不容忽视的数据库,以至于被Oracle重金收购了。

非关系型数据库也被称为NoSQL数据库,本意是“Not Only SQL”,作为传统数据库的一个有用补充。NoSQL数据库在特定的场景下可以发挥难以想象的高效率和高性能。
因为随着web2.0网站的鼓起,海量数据对关系型数据库存储的容量要求高,单机无法满足需求,很多时候需要用集群来解决标题,关系型数据库就显得力有未逮了。

非关系型数据库因而诞生,实际上非关系型数据库就是针对特定场景,以高性能和使用便利为目的功能特异化的数据库产物,比如Google的BigTable与Amazon的Dynamo。
SQL与数据库的关系

这个时候很多人就会把sql与数据库的概念搞混了,很多新人就以为Sql就是用来存储数据的数据库,还有的以为sql是数据库的一种。
为了方便各人理解,我给各人打个比方:
如果数据就是一张张的表格,我们就可以按照差别的表格关系放在差别的文件夹里,这个文件夹就相当于数据库的底子构成要素——数据表

而当我们的文件夹也非常繁多复杂的时候,我们就可以将文件夹按照差别的构成分类储存在文件柜中,每个文件柜中大概有非常多的分类用来存放差别的文件夹,这个文件柜就相当于数据库

而当我们想要从文件柜中找到某份文件的时候,我们需要按照肯定的规则去寻找,比如说“合同文件放在第三层第四排的架子上”,这种查找规则的实施就需要数据库管理系统(DBMS)来实现,相当于一名文件管理员,资助我们管理数据库中的数据。
最常见的数据库管理系统包罗SqlServer、MySql、Oracle等。

而我们如果想要对文件管理员下达指令,就需要一种沟通语言,这种沟通语言就是SQL,以是SQL就是一种结构化的查询语言,用来使用数据库管理系统。
他们之间的关系可以这样表示:

这样各人应该不会再把SQL当做数据库了吧?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
在线客服QQ
2241998733

24x7小时免费咨询

Powered by 创意电子 ©2018-现在 专注资源实战分享源码下载站联盟商城繁体中文