如何七周成為數據分析師09:寫給新人的數據庫指南

4 評論 33423 瀏覽 132 收藏 10 分鐘

本文是《如何七周成為數據分析師》的第九篇教程,如果想要了解寫作初衷,可以先行閱讀七周指南。溫馨提示:如果您已經熟悉數據庫,大可不必再看這篇文章,或只挑選部分。

我們進入第四周數據庫的內容,在數據分析師的職業生涯中,數據庫與SQL會是他們性價比最高的技能之一。

數據庫是邏輯上的概念,它是一堆互相關聯的數據,放在物理實體上,是一堆寫在磁盤上的文件,文件中有數據。這些最基礎的數據組成了表(table),我們把它想象成一張Excel的sheet。

image.png

數據表的抽象概念如上圖。

ID是數據庫中重要的概念,叫做唯一標識符/主鍵,用來表示數據的唯一性。我們把它理解成數據的身份證號。我知道身份證,也就知道數據在哪里了。

ID不會有現實的業務意義,就是一串單純的數字,每張表只能有一個主鍵。

數據庫是表的集合,一個數據庫中可以放多張表,我們給每張表命名,表與表之間能互相聯系。

聯系就是數據能夠對應匹配,正式名稱叫聯接,對應的操作叫做Join,我們想象成Excel中的vlookup。

image.png

上面就是兩張表,用戶和教育背景,看上去能夠使用姓名進行匹配,可是這里出現了兩個張三,一個是北京大學,一個是上海大學,究竟哪個張三才能和用戶表的張三對應上?都不能。

也許清華大學還有張三,復旦大學,交通大學也有,畢竟全中國姓名相同的人那么多。正確的用法應該是使用ID聯接,而不是姓名。ID是產品、運營和數據人員們在工作中接觸最多的內容之一,用戶ID文章ID商品ID等,如果大家還不了解,這里需要掌握。

image.png

上圖就是正確的用法,用戶表和教育表能夠通過ID聯接,可能有人疑問,用戶ID為1和6的,還是不能對應呀?這個不要緊,因為在數據庫中,不是所有的表都能一一對應,存在部分匹配的可能性,也許那個叫秦路的,他沒讀過書,教育背景表中自然沒有記錄了。

當然,數據庫的設計還要更嚴謹,一般每張表都會有主鍵(主鍵不是必須,但是從效率優化上肯定會加),這個主鍵也不能是其他表的主鍵,防止產生沖突。

image.png

這樣就靠譜了,用戶ID是用戶表的主鍵,教育背景ID是教育背景表的主鍵,我們在教育背景表中加入一個字段叫用戶ID,它是專門用來聯接用戶表的,它不是主鍵。

是不是有點繞?實際上,并不是所有名字帶ID的都叫主鍵,這一點要搞清楚。

數據庫中,表的名字和字段應該是英文。如果是主鍵,只要叫id即可,你要關聯其他表,則以「表名_id」作為聯接。

image.png

關聯后的邏輯如下,這種方式叫全聯接,匹配不上的都用Null表示,匹配上的我用橙色表示。聯接是關系型數據庫中的核心概念,是操作的基礎,現在迷糊不要緊,多練習幾次就好了。

image.png

如果現在我有一張新的表,需要關聯education,聰明的你也一定想到方法了吧。

了解上面的概念,你就知道什么叫關系型數據庫,簡單說,它是由多張能互相聯接的二維行列表格組成的數據庫。

關系型數據庫是基于關系代數模型發展而來。常用的數據庫有SQL Server、MySQL、Oracle等,我們后續學習都以MySQL為主。

接下來是安裝MySQL。

我們去MySQL的官網下載,版本5.6以上即可。

按照教程完成后,我們通過命令行查詢知否成功,Win和Mac的操作不一樣。

image.png

我們當然不會在這么丑的界面上操作MySQL啦,我們還需要安裝GUI,這是為我們提供操作界面的。

Mac用戶推薦SequealPro,Win用戶推薦WorkBench。后續我會在SequealPro操作。MySQL的默認用戶名和密碼均是root,建議重新設置一下。

如果大家有疑問,可以去網上搜索相關教程,不安裝MySQL也是可以的。因為數據分析師大多數情況是用在線數據查詢平臺操作,安裝只是為了方便演示。不想要安裝的同學,可以在SQLZoo練習,以后我也會講解。

輸入賬號密碼后進入操作界面,數據庫我命名為qin。左側欄是數據庫中的Table列表,現在為空。右側是表相關的操作和信息。

image.png

因為現在沒有數據,我們加載曾經使用過的練習數據。數據分析師不需要學習如何創建刪除增改表的操作,因為用不到,我只會講解查詢,大家有興趣可以自行了解。

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

Encoding選擇Autodetect,其余按默認。

image.png

接下來需要設置各字段的數據類型,系統會幫我們自動選上,這里不用改動。int代表整數數值,varchar代表字符串(中文英文標點符號這類),括號里面的數字是允許存儲字節,這塊也不要深入理解,只要知道常用的字段類型即可。

給表取個名字,載入后,就將CSV成功導入到數據庫了,能夠進行數據查詢的操作。

image.png

這張表沒有設置主鍵,主要是練習,所以跳過了這一步驟。

大家可能會遇到導入的數據是亂碼,這是系統編碼之間的差異,是utf8和gbk之間的沖突,網上有相關解答,搜索關鍵詞即可。

到這里,大家已經成功地在自己電腦上創建了數據庫。我們在之前文章已經針對練習數據進行了Excel操作、BI分析,接下來學習SQL??赡苣銈円膊碌搅?,后續還會有統計學、Python編程。

下一章,便是講解查詢語言SQL。

相關閱讀

互聯網數據分析能力的養成,需一份七周的提綱

如何七周成為數據分析師01:常見的Excel函數全部涵蓋在這里了

如何七周成為數據分析師02:Excel技巧大揭秘

如何七周成為數據分析師03:手把手教你Excel實戰

如何七周成為數據分析師:Excel技巧之甘特圖繪制(項目管理)

如何七周成為數據分析師:Excel技巧之打造多級菜單

如何七周成為數據分析師04:數據可視化之經典圖表合集

如何七周成為數據分析師05:數據可視化之打造升職加薪的報表

如何七周成為數據分析師06:數據可視化之手把手打造BI

如何七周成為數據分析師07:快速掌握麥肯錫的分析思維

如何七周成為數據分析師08:如何建立數據分析的思維框架?

#專欄作家#

秦路,微信公眾號ID:tracykanc,人人都是產品經理專欄作家。

本文由 @秦路?原創發布于人人都是產品經理。未經許可,禁止轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 請問這篇文章的下一篇是 11嗎 ,怎么找不到10啊

    來自北京 回復
  2. 竟然發現這跟樓主2月份的文章一模一樣 ?? 改改又重新發了一次。。。

    來自北京 回復
  3. 感謝,這一系列花了很多心思

    來自廣東 回復
  4. 收藏

    來自湖北 回復