我正在爲數據庫設計一個允許對歷史事務進行查詢的設計,而且我很難理解這個特定的問題。如何建立列的可選分解模型
要存儲的列之一是,比方說,每天的銷售數量(要被各種屬性細分)。根據最近的數據,我們可以將其分解爲在線和店內銷售;然而,在某個切斷點之前,可用於填充該數據庫的唯一信息是總銷售數字,沒有明細。
我想不出一種特別優雅的方式來表達這種情況,以便更新的數據可以填充邏輯「在線銷售」和「店內銷售」列,其中「總銷售額」計算爲他們的總和在視圖/ sproc /計算列中) - 而舊數據只能報告總銷售額。
此數據的FWIW客戶將會意識到銷售細分可能存在或可能不存在 - 因此,查詢的輸出始終具有有效的「總銷售」數字,並且可能缺少在線或在線內容的值。商店銷售。 (我特別說「缺少」而不是「空」,因爲沒有強烈的要求將其表示爲這樣,如果替代更有意義)。
是否有規範的方法來處理這種情況?
由於缺乏有力的反應,到目前爲止,我會後我自己的幾個答案,我看到的考生(我可能最終需要接受他們的一個無論如何,如果沒有上級的答案兌現)。評論,批評和/或投票對這些都是慷慨地接受 - 特別是對他們的改進。
是的,這絕對是我設計的一個面向OLAP的數據庫。但是我覺得你的回答並不完全涵蓋我的模式,即幾個月後我可以提供'在線銷售'和'店內銷售'(並且希望計算總計)。在其他幾個月裏,我只有'總銷售額'。 OLAP事實表中應該有三個可爲空的列嗎?事實表的兩個「子類」?事實和與之相關聯的'(Sales figure type,value)'元組之間的一對多關係? – 2012-02-22 10:17:23
事實上,我剛剛添加了一個答案來表示我一直在考慮的這些技術,我會很感激你對哪一種技術最適合OLAP數據的想法,以及如何改進其中的任何技術。 – 2012-02-22 10:51:29
爲什麼有些月份只有總銷售額,而不是在線和店之間的分解? – 2012-02-22 16:35:42