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進行資料...