數倉 正規化建模 維度建模

2021-10-17 14:04:25 字數 1190 閱讀 1572

third normal form,3nf

是資料模型常用的乙個方法,主要解決關係型資料庫的資料儲存。

目前關係型資料庫的建模方法,大部分採用三正規化建模,即通過實體關係(entity relationship,er)模型描述企業業務。

是資料倉儲之父inmon提出的集線器的自上而下

(edw-dm)的資料倉儲架構,即從資料來源到資料倉儲再到資料集市的(先有資料倉儲再有資料市場)一種瀑布流開發方法。

第三正規化定義基本上是圍繞主鍵與非主屬性之間關係

做的,必須滿足以下三個條件:

1.每個屬性的值唯一,不具有多義性

2.每個非主屬性必須完全依賴於整個主鍵,而非主鍵的一部分

3.每個非主屬性不能依賴於其他關係中的屬性

如果滿足第乙個條件就是第一正規化

如果滿足前兩個條件就是第二正規化

// todo 待補充

維度建模是資料倉儲領域另一位大師kimball所倡導,是資料倉儲工程領域的數倉建模經典。

按照事實表、維度表來構建資料倉儲、資料集市

事實表對應乙個物理可觀察的事件,例如,在零售事務中,銷售產品的數量是乙個事實,但是商店經理的工資不允許存在零售事務中

維度表是描述事實的角度,比如日期、產品編碼、部門等

維度模型還會分為星型模型、雪花模型、星座模型

星型模型

乙個事實表,多個維度表,且維度表都是一級的,沒有在維度表上再維護維度表

雪花模型

基於星型模型,將維度表進行拆分,存在多級維度表,在使用的時候,就會導致多個維表關聯操作,增加了編寫的複雜度,不利於效能提公升,生產中使用較少

星座模型

多個事實表,共享維度表,基於星型模型衍生

// todo 待補充

數倉建模的3正規化

1 第一正規化 1nf 表中的列只能含有原子性 不可再分 的值。例如下圖表一就不符合規範 idname mobile 101張三 上例子中張三有兩個手機號,違反了1nf原則,應當拆分為如下表二 idname mobile 101張三 101張三 9876543210 2 第二正規化 2nf 滿足第一...

數倉 維度建模與緩慢變化維

維度表示你要對資料進行分析時所用的乙個量,比如你要分析產品銷售情況,你可以選擇按類別來進行分析,或按區域來分析.這樣的按.分析就構成乙個維度。前面的示例就可以有兩個維度 型別和區域。另外每個維度還可以有子維度 稱為屬性 例如類別可以有子型別,產品名等屬性。下面是兩個常見的維度表結構 產品維度表 pr...

數倉建模綜述

隨著大型關聯式資料庫商業軟體的興起,現代企業資訊系統幾乎都在使用關聯式資料庫來儲存 加工和處理資料。資料倉儲系統也不例外,大量的資料倉儲系統依託強大的關聯式資料庫能力儲存和處理資料,其採用的資料模型方法也是基於關聯式資料庫理論的。儘管 nosql也有 一定的發展,但是企業仍在大規模使用sql進行資料...