資料蔣堂 | 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度無死角深度剖析;對於一些業內觀點,站在技術人員角度闡述自己的思考和理解。蔣步星還會對大資料的發展,站在業內專家角度給予預測和推斷。靜下心來認真研讀你會發現,《資料蔣堂》的文章,有的會讓使用者避免重複前人走過的彎路,有的會讓攻城獅面對扎心的難題茅塞頓開,有的會為初入行業的讀者提供一把開啟資料世界的鑰匙,有的甚至會讓業內專家大跌眼鏡,產生思想交鋒。
往期回顧:
資料蔣堂 | 常規遍歷語法
校對:林亦霖
為保證發文質量、樹立口碑,資料派現設立“錯別字基金”,鼓勵讀者積極糾錯。
若您在閱讀文章過程中發現任何錯誤,請在文末留言,或到後臺反饋,經小編確認後,資料派將向檢舉讀者發8.8元紅包。
同一位讀者指出同一篇文章多處錯誤,獎金不變。不同讀者指出同一處錯誤,獎勵第一位讀者。
感謝一直以來您的關注和支援,希望您能夠監督資料派產出更加高質的內容。
相關文章
- 資料蔣堂 | 資料分段討論
- 資料蔣堂|倍增分段技術
- 資料蔣堂 | 倍增分段技術
- 資料蔣堂|Hadoop中理論與工程的錯位Hadoop
- 【資料蔣堂】第48期:Hadoop中理論與工程的錯位Hadoop
- 大資料技術與應用課堂測試-資料清洗同步大資料
- 遊戲心理學-6大效應延伸應用遊戲
- 資料分析-基礎維度
- 【資料倉儲】|3 維度建模之維度表設計
- 理解維度資料倉儲——事實表、維度表、聚合表
- 百度大資料應用與實踐大資料
- 資料倉儲維度建模入門
- 資料倉儲維度建模筆記筆記
- 以資料思維和技能提升資料應用測試實踐
- 使用 Moq 測試.NET Core 應用 -- 其它
- 2 關於資料倉儲維度資料處理的方法探究系列——無變化維度處理
- 三維解構國內大資料應用現狀大資料
- 9 關於資料倉儲維度資料處理的方法探究系列——雪花維
- 行業觀察 中國大資料產業 資料商業應用敏感度低行業大資料產業
- 企業大資料平臺MapReduce應用之Join實踐!大資料
- AIOps在京東資料庫運維中的典型應用AI資料庫運維
- 1 關於資料倉儲維度資料處理的方法探究系列——維的概述
- 深入應用linux及其它開源產品Linux
- 在C#中如何監控其它應用全屏C#
- 對話蔣傑、丁奇,騰訊雲資料庫之路資料庫
- 蔣鴻翔:網易資料基礎平臺建設
- 超全的企業各維度資訊查詢介面大全,含其它熱門APIAPI
- Notes隱藏資料庫設計應用的維護 (轉)資料庫
- 北侖愛情故事蔣建飛是誰?北侖愛情故事男主角蔣建飛照片資料
- 12、Oracle中的其它資料庫物件Oracle資料庫物件
- 維模型的應用模型
- oracle資料庫資料字典應用Oracle資料庫
- 7 關於資料倉儲維度資料處理的方法探究系列——急劇變化維概述
- 優雲蔣君偉:自動化運維成本仍然很高運維
- 應用適配資料庫還是資料庫適配應用資料庫
- 【資料倉儲】|4 維度建模之事實表設計
- 維度處理-資料倉儲-讀書筆記(四)筆記
- 漫談大資料的思想形成與價值維度大資料