运营必看的SQL(上)

SQL必知必懂的八大核心概念

写在前面:如果你是一名程序员又恰好是一名SQLBOY的话,那么请移步,因为下面讲的实在太不专业了;如果你是一名想学会写好SQL的运营,那么你一定要认真读完。

本文用通俗的语言介绍SQL和数据库相关的八大核心概念,每一个都是你理解数据表 写好SQL的关键,了解这些的同时你也对数据BOY从事的工作有了更深的一份了解。话不多说,上关键词:

1、数据库(data base) 

我们首先看下数据库的百度百科:

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

简单总结一下,数据库就是用来存放数据的地方。我们平常经常听到的mysql,oracle,sql-server等,都可以称为数据库。

有好事者可能会问为什么要用数据库来存在数据呢?这里给你一个指引,你可以查看数据管理的三个阶段:人工管理阶段,文件系统阶段,数据库管理系统。

我们举个例子来说明什么是数据库,数据库就像现在大型电商的一个仓库,里面放满了各种各样的商品。你可能从照片上看到过这些仓库的照片,不知道细心的你是否发现了,这些仓库通常都是井井有条,物品摆放的甚至比你家还要整齐,为什么要这么做呢?我们先卖个关子,下面会讲到。

经常写SQL的同于会遇到关于数据库的另外一个问题,为什么不能跨库查询?这里我给大家用这个例子来解释一下。并不是不能,而是需要一把钥匙,但是即使有了这把钥匙你依然不想跨库查询。首先,按照一般的惯例,京东的仓管肯定是不能到苏宁的仓库里面取东西的,但是如果有一天他获取了苏宁仓库的钥匙,那就可以到苏宁仓库随意“”东西了。这把所谓的钥匙就是数据库的连接串信息,主要包括用户名、账号、密码、地址等信息。

刚才也说了,即使有了钥匙一般也不会跨库查询,两个方面的原因:1、安全问题,万一别人家de东西丢了怎么办?找你,你赔吗?2、一家仓库的钥匙还好,那如果及时家,上百家的话,你不晕吗?关于数据库了解这么多就差不多了。

2、数据仓库(data warehouse) 

这是数据库的弟弟,为什么这么说呢?因为它的出生确实晚于数据库,而且在相当长的一段时间内,数据库其实是承担了数据仓库的很大一部分职责。后来,数据库是在是承受不住了整个大家族的压力,就诞生了数据仓库

数据仓库也有个百科定义,我们一起看下:

数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。

这里面几个核心的点我们解释一下:

面向主题:数据仓库中的数据是按照一定的主题域进行组织,比如用户主题,公司主题等。不过个人觉得这不是一个必须的条件,因为数据仓库里面好多是面向业务过程的,比如下单、支付等。

集成的:所谓的集成就是把不同系统(数据源),不同数据结构,不同单位度量的数据拉取到一起,进行加工处理,输出为统一的格式化的集成数据。

相对稳定的:这是说数据仓库只是数据的搬运工,不会对原生的数据做任何修改,所以下次你找数据仓库的人员想把你的账户增加一千万的时候,小哥哥说他做不了的时候不是骗你,是真做不了。

反映历史变化:数据仓库的一大作用就是把数据库的变化数据存储起来,记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。这也是数据仓库的价值体现。

解释完这些概念,我们还是举个例子来说明数据库和数据仓库的不同,前面说了数据库是一个大仓库,那么数据仓库就是一个多层的城市综合体。第一层放的是原生的小麦、稻谷、玉米等未经加工处理的原材料,你想要吃馒头、面包啊就只能自己做了。第二层放的是面粉、大米这些初步加工过的原料,显然你想吃馒头的还是要自己做,第三层则是已经做好的馒头、米线啊等等,你直接动口就行了,不用动手了,可以节省很多的时间。上面可能还有更多的层,但一般不会超过6层,那样就要加电梯了,我们就不具体介绍了,效果都是类似的。

这也体现了数仓两个核心(OLAP和分层)中的分层的价值所在,用空间来换取时间。

3、表(table) 

表其实就很类似于我们常用的excel,用前面的例子,数据库是一个很大的仓库,但是具体放东西还是需要地盘,这些所谓的地盘就是表。

每一个表都占据一块区域,通常是日化放一块,生鲜放一块…… 这就是上面说的你看到整个仓库都很整洁的原因。一来为了区分不同的品类,二来也是为了取用方便,不至于东一榔头西一棒槌的。表与表之间是对等的关系,属于同一个库的表之间是可以互相访问的。

数据仓库里面大宽表的意思就是把不同区域的物品(数据)取过来整合到一起,你下单的时候直接配送,不用再从各个订单取了。

4、视图 (view)

视图是表的一个影子,因为没有表就没有视图。这不是语句玩笑话,事实就是如此。

不像上面的库、表都是物理存在的东西,视图是一个逻辑上存在的东西,那种虚无缥缈的东西。有点类似于唯物主义与唯心主义。

逻辑上的东西我们很难找到一个合适例子来解释,下面我们试着接着用上面的例子来解释视图的概念。上面说了,仓库的中每一块区域、地盘是表,那么视图就是对这些区域的一次照片,而且通常情况下还不是全景照片,很有可能是通过PS处理后把多个区域的不同产品拼接之后的照片。至于你能在照片中看到多少,那取决于拍照人的心情。而这也正是视图的价值所在,防止数据泄露,让不该看到的人看不到不该看到的东西。哈哈,有点绕,说白了就是保护隐私。

回到正题,这照片上的东西确实是实实在在存在的东西,但是你能触摸得到吗?恐怕不行吧,如果要取照片里面的东西还是

要到实际区域中取,这就是逻辑存在的含义。有一种实际存在的物理视图,真实存在但不在我们介绍的范围之内,就不做详细介绍了。

5、属性

属性,又称“列”,“数据列”,几乎可以等价的excel里面的列

在大多数场合下这三者都可以通用,非要分得清楚的话,属性一般是指列名,也就是表头;列指的是单元格里面的具体内容。属性的概念很简单我们就不举例介绍了。

6、元组

这是与属性相对的一个概念属相是列,元组是行。通常又被称作“记录”,“行”,“每一条记录”,这三者是完全的等价,只不过元组是更为学术的称法。概念很好理解,但元组是很重要的内容,因为我们通常对表的操作都是基于每一行的数据做处理的。鉴于概念很简单,我们这里也不举例介绍了。

7、主键 (Primary key)

主键是用来唯一标识表中的一条记录的,主键属于属性的范畴,意思就是,主键是属性中的一列或者多列。

什么时候一列什么时候多列呢?如果单独一列就可以唯一确定表中的一条记录,那么属性就是一列,也就是说令这一列等于某个值的时候查出来只有一条记录,这就是唯一主键;反之如果需要多个列联合起来才能唯一确定表中的一条记录,这就是联合主键

举个例子:学生表中有一列身份证号,我们知道每个人的身份证号都是不一样的,那么我们就可以把身份证号这一列作为唯一主键。但是如果没有身份证号这一列呢?假如有学号、姓名等其他列,我们可以把学号和姓名联合起来作为主键,理论上来说不会存在学号和姓名相同但实际上是两个人的情况。

主键有两大特性:非空和唯一性。很好理解,我们就不解释了。这里我们顺带体现另外的两个概念:外键和唯一键。外键可以理解为其他表的主键,唯一键是唯一标识一条记录,但是允许为空,这也是它与主键的差异。

主键有什么用呢?第一,判断数据在某个列上是否有重复。第二,多表关联的时候预判是一对多,多对一还是多对多的关联。

关于主键我们就介绍这么多。

8、ETL

这是一个简称,全称是:Extraction-Transformation-Loading,抽取、转换和加载。这么讲可能还是有些抽象,我们继续拿上面的例子来说明什么是ETL。

其实很简单,纵向来看就是把小麦,稻谷,玉米加工成面粉、大米、玉米粒的过程,当然再加工成面条,米粉的过程同样也属于ETL;横向来看,是把面粉、坚果、香精等混合后加工成饼干的过程。同样对应于数据仓库里面就是分层和做宽表的过程。

ETL这块其实是说起来容易,但是做好很难的一个东西。如何保证数据不重不漏这是最基本的,还要保证面包好吃这是更高层的。希望下次数仓人员说他在开发ETL的时候你不在问ETL具体是干嘛了。



本期的核心概念就把介绍到这里,欢迎关注下期的写好SQL的六脉神剑。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容