當前位置:
首頁 > 知識 > JOIN延伸-維度其它應用

JOIN延伸-維度其它應用

來源:數據蔣堂

作者:蔣步星

本文長度為1320,建議閱讀3分鐘

本文為你講解JOIN延伸之維度的其他應用。

明確維度定義後,還可以換一種更清晰的方式來審視資料庫的結構。

這是我們常見的E-R圖:

E-R圖是個網狀結構,實體(表)之間的外鍵關係直接畫在圖上,當實體較多時這個圖就會顯得非常零亂,關聯線很隨意,任何兩個實體之間都有可能發生關聯,表現出來的數據結構耦合度很高。在增加刪除實體時就要考慮與之關聯的所有其它實體,很可能發生遺漏關聯或循環關聯的現象。

而如果把維度抽取出來之後,我們可以使用匯流排式的結構圖:

所有維度單獨列出來處於中心地位,實體(表)只和維度發生關聯,實體之間沒有直接的關聯線,數據結構的耦合度看起來很低。增加刪除實體時不會影響到其它實體,不會發生遺漏關聯和重複關聯。

不過,需要指出的是。無論是E-R圖還是匯流排圖,只要畫正確時,其中的關聯線數量是差不多的,這是數據本身的關係決定的。匯流排圖並不會比E-R中的關聯線更少,但改變了看待方法後會更清晰。

為了提供關聯查詢能力,有些BI產品將表間關聯關係(相當於一個局部E-R圖)直接暴露給業務人員,這不是個好辦法,業務人員難以理解E-R圖,這個方案的可用性很差。如果能夠由業務人員選擇了數據項(欄位)後就自動建立出合理的關聯,那樣可用性就能提高很多了。

有了維度概念,就可以一定程度地實現這一目標。

業務人員任意選擇了欄位之後,我們可以找出這些欄位所在表,再在這些表之間尋找同維欄位(優先選擇主鍵),然後使用這些同維欄位建立JOIN關係。當某個表上只有唯一的欄位和另一表的主鍵欄位同維時,那麼基於這兩個欄位建立的JOIN關係在絕大多數情況下都是正確合理的。而且,在數據結構不是特別複雜的時候,兩表之間只有唯一欄位同維的條件也常常能夠滿足,這時候就真地能只基於數據項自動建立正確的關聯關係,有些BI產品確實是這麼做的。

不過,這種辦法不能處理同表自關聯和表間有多個同維欄位的情況,以及多次遞歸關聯的問題。想要完善地解決問題,還是需要基於DQL語法來實現關聯。

上面的討論中,我們會把發現的同維欄位JOIN起來,DQL語法也是這樣,只要同維的(廣義)欄位就可以JOIN。這樣的JOIN一定有業務意義嗎?

是的,只要是同維欄位,JOIN起來總能想出合理業務意義。反過來,也只有同維欄位之間可以JOIN,不同維欄位的JOIN是沒有業務意義的,不過SQL並不禁止,只要數據類型相同就可以JOIN。欄位同維和JOIN有業務意義是等價的,DQL在這方面可以確保這一點。

DQL中GROUP BY總是要對應著ON(如果單表可以看成是省略ON),也就是說,GROUP BY總是針對某個維度進行的。事實上也是這樣,針對測度的分組運算沒有業務意義,不過SQL並沒有明確出維度和測度的概念,也不會禁止這個運算。DQL則確保了不會發生無業務意義的分組。

利用這個特點,可以提高分組運算的性能。維度可能的取值是由維表長度決定的,而維表是事先知道的,這樣在分組時可以採用類似基數排序法的手段提速,當然,針對維度的排序運算也可以用這種辦法。不過,這個演算法細節與本篇主題相關性較低,這裡就不詳細說明了。

專欄作者簡介

潤乾軟體創始人、首席科學家

清華大學計算機碩士,著有《非線性報表模型原理》等,1989年,中國首個國際奧林匹克數學競賽團體冠軍成員,個人金牌;2000年,創立潤乾公司;2004年,首次在潤乾報表中提出非線性報表模型,完美解決了中國式複雜報表製表難題,目前該模型已經成為報錶行業的標準;2014年,經過7年開發,潤乾軟體發布不依賴關係代數模型的計算引擎——集算器,有效地提高了複雜結構化大數據計算的開發和運算效率;2015年,潤乾軟體被福布斯中文網站評為「2015福布斯中國非上市潛力企業100強」;2016年,榮獲中國電子信息產業發展研究院評選的「2016年中國軟體和信息服務業十大領軍人物」;2017年, 自主創新研發新一代的數據倉庫、雲資料庫等產品即將面世。

數據蔣堂

《數據蔣堂》的作者蔣步星,從事信息系統建設和數據處理長達20多年的時間。他豐富的工程經驗與深厚的理論功底相互融合、創新思想與傳統觀念的相互碰撞,虛擬與現實的相互交織,產生出了一篇篇的瀝血之作。此連載的內容涉及從數據呈現、採集到加工計算再到存儲以及挖掘等各個方面。大可觀數據世界之遠景、小可看技術疑難之細節。針對數據領域一些技術難點,站在研發人員的角度從淺入深,進行全方位、360度無死角深度剖析;對於一些業內觀點,站在技術人員角度闡述自己的思考和理解。蔣步星還會對大數據的發展,站在業內專家角度給予預測和推斷。靜下心來認真研讀你會發現,《數據蔣堂》的文章,有的會讓用戶避免重複前人走過的彎路,有的會讓攻城獅面對扎心的難題茅塞頓開,有的會為初入行業的讀者提供一把開啟數據世界的鑰匙,有的甚至會讓業內專家大跌眼鏡,產生思想交鋒。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 數據派THU 的精彩文章:

一文為你解析神經網路

TAG:數據派THU |