程序员

数据分析必须要掌握的数据库与sql基础知识!收藏

作者:admin 2021-04-24 我要评论

在数据分析面试中,有一类知识绝对是面试官重头考察的内容,但是很多人却常常忽略,也就是数据库与SQL! 数据库是什么? 你可以把数据想象成一个个文件夹,数据库...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

在数据分析面试中,有一类知识绝对是面试官重头考察的内容,但是很多人却常常忽略,也就是——数据库与SQL!

数据库是什么?

你可以把数据想象成一个个文件夹,数据库就是一个一个文件柜,这个文件柜存放着非常多的数据,无论这个数据是什么、或者是如何组织的

数据分析必须要掌握的数据库与sql基础知识!收藏

这里要注意,人们通常用数据库这个术语来代表他们使用的数据库软件,这是不正确的,这是以前你混淆的根源

确切的说,数据库软件应该称为DBMS,也就是数据库管理系统,数据库就是由DBMS创建和操纵的,比如我们可以在sql sever创建一个数据库

数据分析必须要掌握的数据库与sql基础知识!收藏

也就是说DBMS就像是一个图书管理员,你不直接访问数据库,而是利用DBMS访问数据库,让图书管理员帮你找一个文件柜。

数据库的分类?

这里所说的数据库都指的是数据库管理系统,这按照早期的数据库理论,比较流行的数据库模型有三种,分别为层次式数据库、网状数据库和关系型数据库。

而在当今的互联网企业中,最常用的数据库模式主要有两种,即关系型数据库和非关系型数据库。

关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)

数据分析必须要掌握的数据库与sql基础知识!收藏

在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过这些关联的表格分类、合并、连接或选取等运算来实现数据的管理。

关系型通俗的理解是,数据作为二维数组存在,你可以理解为图书馆的图书排列。

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

关系型数据库诞生距今已有40多年了,从理论产生到发展到实现产品,例如:

常见的MySQL和Oracle数据库,Oracle在数据库领域里上升到了霸主地位,形成每年高达数百亿美元的庞大产业市场,而MySQL也是不容忽视的数据库,以至于被Oracle重金收购了。

数据分析必须要掌握的数据库与sql基础知识!收藏

非关系型数据库也被称为NoSQL数据库,NoSQL的本意是“Not Only SQL”,指的是非关系型数据库,而不是“NO SQL”的意思

因此,NoSQL的产生并不是要彻底否定关系型数据库,而是作为传统数据库的一个有效补充,在特定的场景下可以发挥难以想象的高效率和高性能。

数据分析必须要掌握的数据库与sql基础知识!收藏

NoSQL是非关系型数据库的广义定义,它打破了长久以来关系型数据库与ACID理论大一统的局面。NoSQL数据存储不需要固定的表结构,通常也不存在连续操作,在大数据存取上具备关系型数据库无法比拟的性能优势。

SQL储存数据

那么,作为关系型数据库最常见的SQL,它是怎么存储数据的?

1、表:

在你将文件夹放入文件柜的时候,不能将他们随便的扔进某个抽屉就完事了,而是在文件柜中创建文件,然后将相关的资料放入相关的文件中,这就是数据库的表。

表是一种结构化的文件,用来存储某种特定类型的数据,比如说这样的sql文件,其里面包含了20多个数据库表,每个表的名字都不应该是相同的,但是我们可以在不同的数据库里存放相同表名的数据表。

数据分析必须要掌握的数据库与sql基础知识!收藏

同时我们不能把学生数据与老师数据放在同一个表里,这样会我们不好提取数据,检索和访问都比较麻烦,所以我们应该创建两个表,每个清单一个表。

2、列:

列是组成表的字段信息,一张表可以有一个或者多个列组成。

我们可以这么理解,每一列都是数据库表中的每一个字段,比如下面的学生id列、学生姓名列、考试成绩列就是三个字段。

数据分析必须要掌握的数据库与sql基础知识!收藏

正确地将数据分解为多个列是十分重要的,比如班级和学生姓名应该是独立的列,通过将他们进行分解开,才有可能利用特定的列队数据进行排列和过滤,如果学生姓名和班级组合在了一个列里,按照班级过滤就会十分的困难。

数据库中每个列都有对应的数据类型,数据类型定义列可以存储的数据种类。

例如,如果列中存储的是数字,那么对应的数据类型应该是数值类型,如果列种存储的是日期、文本、注释、金额等,应该用恰当的数据类型规定出来。

数据类型:所容许的数据类型,每个列都应该有相对应的数据类型,限制存储的数据形式。

3、行:

数据库表中的数据是按照行进行存储的,每一行就是存储的一个数据,比如第一行是张三的数据,第二行是李四的数据。

4、主键:

表中每一行都应该有可以唯一标识自己的一列,比如学生信息表中我们不能用学生的姓名作为主键,因为我们会发现一旦出现重名的情况,我们就会出现两个不同的数据;

数据分析必须要掌握的数据库与sql基础知识!收藏

当然也不能用考试成绩作为主键,比如按照“90分”作为主键进行提取时我们还会提取出两个数据;

数据分析必须要掌握的数据库与sql基础知识!收藏

所以我们应该用学生id作为主键,因为无论如何学生id是不会重复的,它具有唯一性,所以可以作为主键。

数据分析必须要掌握的数据库与sql基础知识!收藏

所以主键就是唯一区分数据表行的标识,用来表示一个特定的行。

没有主键的话,我们更新或者删除表中特定的行就会十分的困难,他必须满足两个条件:

  • 任意两行都不应该有相同的主键值
  • 每一行都必须具有一个主键值(主键列不存在null值)

数据库中能够将不同的表进行关联,靠的就是主键,例如下面两个表:

数据分析必须要掌握的数据库与sql基础知识!收藏

比如上面两张图,左图是学生信息表,右图是老师信息表。左图的主键是学生ID,右图的主键是老师ID。细心的读者可能发现右图还有一个学生ID,这里的学生ID是专门用来联接用户表的,它并不是主键。只不过两张表通过学生ID这个唯一信息来关联。

但两张表关联也并不是信息能一一对应的,也会存在空缺的时候,比如:

数据分析必须要掌握的数据库与sql基础知识!收藏
数据分析必须要掌握的数据库与sql基础知识!收藏

所以,想要认知数据库的内容,首先我们先要明白sql、sql sever、my sql、oricle与数据库、数据库管理系统的区别在哪,因为很多人在学数据分析的时候,都是在网上到处找资料,不同的资料里滥用了这些名词,造成了大家的混淆,也增加了大家对于sql认知的难度。


本文转载自网络,原文链接:https://www.toutiao.com/a6899705040245195277/

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 数据分析必须要掌握的数据库与sql基础

    数据分析必须要掌握的数据库与sql基础

  • 跟你聊聊MySQL安全的那些事

    跟你聊聊MySQL安全的那些事

  • 图解 SQL,这也太形象了吧!

    图解 SQL,这也太形象了吧!

  • 败家玩意儿!Redis 竟然浪费了这么多内

    败家玩意儿!Redis 竟然浪费了这么多内

腾讯云代理商
海外云服务器