写给新人的数据库指南

2017 年 8 月 19 日 R语言中文社区 秦路

点击上方图片查看配套视频教程

作者:秦路,天善智能特约专家。资深数据分析师,数据化运营专家。擅长结合运营和数据,建立数据化运营体系。

个人公众号:秦路(微信ID:tracykanc)


我们进入第四周数据库的内容,在数据分析师的职业生涯中,数据库与SQL会是他们性价比最高的技能之一。

数据库是逻辑上的概念,它是一堆互相关联的数据,放在物理实体上,是一堆写在磁盘上的文件,文件中有数据。这些最基础的数据组成了表(table),我们把它想象成一张Excel的sheet。


数据表的抽象概念如上图。

ID是数据库中重要的概念,叫做唯一标识符/主键,用来表示数据的唯一性。我们把它理解成数据的身份证号。我知道身份证,也就知道数据在哪里了。

ID不会有现实的业务意义,就是一串单纯的数字,每张表只能有一个主键。

数据库是表的集合,一个数据库中可以放多张表,我们给每张表命名,表与表之间能互相联系。

联系就是数据能够对应匹配,正式名称叫联接,对应的操作叫做Join,我们想象成Excel中的vlookup。


上面就是两张表,用户和教育背景,看上去能够使用姓名进行匹配,可是这里出现了两个张三,一个是北京大学,一个是上海大学,究竟哪个张三才能和用户表的张三对应上?都不能。

也许清华大学还有张三,复旦大学,交通大学也有,毕竟全中国姓名相同的人那么多。正确的用法应该是使用ID联接,而不是姓名。ID是产品、运营和数据人员们在工作中接触最多的内容之一,用户ID文章ID商品ID等,如果大家还不了解,这里需要掌握。


上图就是正确的用法,用户表和教育表能够通过ID联接,可能有人疑问,用户ID为1和6的,还是不能对应呀?这个不要紧,因为在数据库中,不是所有的表都能一一对应,存在部分匹配的可能性,也许那个叫秦路的,他没读过书,教育背景表中自然没有记录了。

当然,数据库的设计还要更严谨,一般每张表都会有主键(主键不是必须,但是从效率优化上肯定会加),这个主键也不能是其他表的主键,防止产生冲突。


这样就靠谱了,用户ID是用户表的主键,教育背景ID是教育背景表的主键,我们在教育背景表中加入一个字段叫用户ID,它是专门用来联接用户表的,它不是主键。

是不是有点绕?实际上,并不是所有名字带ID的都叫主键,这一点要搞清楚。

数据库中,表的名字和字段应该是英文。如果是主键,只要叫id即可,你要关联其他表,则以「表名_id」作为联接。


关联后的逻辑如下,这种方式叫全联接,匹配不上的都用Null表示,匹配上的我用橙色表示。联接是关系型数据库中的核心概念,是操作的基础,现在迷糊不要紧,多练习几次就好了。


如果现在我有一张新的表,需要关联education,聪明的你也一定想到方法了吧。

了解上面的概念,你就知道什么叫关系型数据库,简单说,它是由多张能互相联接的二维行列表格组成的数据库。

关系型数据库是基于关系代数模型发展而来。常用的数据库有SQL Server、MySQL、Oracle等,我们后续学习都以MySQL为主。

接下来是安装MySQL。

我们去MySQL的官网下载,版本5.6以上即可。

按照教程完成后,我们通过命令行查询知否成功,Win和Mac的操作不一样。


我们当然不会在这么丑的界面上操作MySQL啦,我们还需要安装GUI,这是为我们提供操作界面的。

Mac用户推荐SequealPro,Win用户推荐WorkBench。后续我会在SequealPro操作。MySQL的默认用户名和密码均是root,建议重新设置一下。

如果大家有疑问,可以去网上搜索相关教程,不安装MySQL也是可以的。因为数据分析师大多数情况是用在线数据查询平台操作,安装只是为了方便演示。不想要安装的同学,可以在SQLZoo练习,以后我也会讲解。

输入账号密码后进入操作界面,数据库我命名为qin。左侧栏是数据库中的Table列表,现在为空。右侧是表相关的操作和信息。


因为现在没有数据,我们加载曾经使用过的练习数据。数据分析师不需要学习如何创建删除增改表的操作,因为用不到,我只会讲解查询,大家有兴趣可以自行了解。

任何MySQL的GUI工具,都能加载CSV,一般叫import。

Encoding选择Autodetect,其余按默认。


接下来需要设置各字段的数据类型,系统会帮我们自动选上,这里不用改动。int代表整数数值,varchar代表字符串(中文英文标点符号这类),括号里面的数字是允许存储字节,这块也不要深入理解,只要知道常用的字段类型即可。

给表取个名字,载入后,就将CSV成功导入到数据库了,能够进行数据查询的操作。


这张表没有设置主键,主要是练习,所以跳过了这一步骤。

大家可能会遇到导入的数据是乱码,这是系统编码之间的差异,是utf8和gbk之间的冲突,网上有相关解答,搜索关键词即可。

到这里,大家已经成功地在自己电脑上创建了数据库。我们在之前文章已经针对练习数据进行了Excel操作、BI分析,接下来学习SQL。可能你们也猜到了,后续还会有统计学、Python编程。

下一章,便是讲解查询语言SQL。

想了解更多干货就使劲戳戳戳~~~

天善智能年度数据分析扛鼎之作,秦路主讲,七周成为数据分析师课程。
人气讲师,期盼已久,潜心打造,不负众望!
涵盖基础、业务、思维、工具、方法等方面皆具,提纲挈领!
给自己一段七周之旅,奠定基石基础,踏上数据分析师之路!

点击阅读原文或扫码咨询

登录查看更多
0

相关内容

数据库( Database )或数据库管理系统( Database management systems )是按照数据结构来组织、存储和管理数据的仓库。目前数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
160+阅读 · 2020年5月14日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
223+阅读 · 2020年3月22日
【资源】100+本免费数据科学书
专知会员服务
106+阅读 · 2020年3月17日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
【新书】Python中的经典计算机科学问题,224页PDF
专知会员服务
51+阅读 · 2019年12月31日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
161+阅读 · 2019年10月28日
听完了1000+首古风歌曲,我发现自己也能火
PingWest品玩
4+阅读 · 2019年6月2日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
如何从零开始搭建知识图谱?
AI前线
23+阅读 · 2018年7月2日
别@微信团队了,我用Python给自己戴上了圣诞帽!
自然语言处理(4)之中文文本挖掘流程详解(小白入门必读)
机器学习算法与Python学习
5+阅读 · 2017年12月22日
【入门】数据分析六部曲
36大数据
17+阅读 · 2017年12月6日
十分钟读懂python的“数据库”语言
Python技术博文
3+阅读 · 2017年11月9日
Kaggle入门手册
Datartisan数据工匠
14+阅读 · 2017年11月9日
如何七周成为数据分析师
R语言中文社区
4+阅读 · 2017年7月19日
Arxiv
4+阅读 · 2018年4月9日
Arxiv
5+阅读 · 2018年1月30日
Arxiv
6+阅读 · 2016年1月15日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
160+阅读 · 2020年5月14日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
223+阅读 · 2020年3月22日
【资源】100+本免费数据科学书
专知会员服务
106+阅读 · 2020年3月17日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
【新书】Python中的经典计算机科学问题,224页PDF
专知会员服务
51+阅读 · 2019年12月31日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
161+阅读 · 2019年10月28日
相关资讯
听完了1000+首古风歌曲,我发现自己也能火
PingWest品玩
4+阅读 · 2019年6月2日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
如何从零开始搭建知识图谱?
AI前线
23+阅读 · 2018年7月2日
别@微信团队了,我用Python给自己戴上了圣诞帽!
自然语言处理(4)之中文文本挖掘流程详解(小白入门必读)
机器学习算法与Python学习
5+阅读 · 2017年12月22日
【入门】数据分析六部曲
36大数据
17+阅读 · 2017年12月6日
十分钟读懂python的“数据库”语言
Python技术博文
3+阅读 · 2017年11月9日
Kaggle入门手册
Datartisan数据工匠
14+阅读 · 2017年11月9日
如何七周成为数据分析师
R语言中文社区
4+阅读 · 2017年7月19日
Top
微信扫码咨询专知VIP会员