數據倉庫建模指南系列教程學習筆記


 

高質量數據建模的基本流程

概念模型確定系統邊界,確定哪些做哪些不做

基本概念:實體、屬性、域、關系、鍵、約束

---------實體-----------

六合分析法:5W1H

Who通常指與企業業務緊密聯系的人員和組織

What通常指企業業務相關的“事”等

When更多的時候是以屬性的模式出現的,而作為實體更多是以時間表的形式存在

Where指企業業務相關的地點,這個可以指具體的地點比如實體店,也可以指虛擬的網上商店

Why通常是指交易或者事件本身, 比如:銷售、采購、訂單等等

How通常是指你們通過什么形式去管理的,最常見的就是交易類的文檔信息,去表示以及記錄企業是如何完成交易的。比如:合同,協議,發票等等

IBM的Industry Model

安排,Arrangement-how

業務指導, business direction-how

相關方,Involved Party-who

產品(Product)-what

事件,Event-why

資源,Resource Item-what

位置,Location-where

分類,Classfication

按Pattern分

主實體(基本實體)

子類型實體

屬性類實體

關聯實體

---------屬性、域----------- 

ID用於標識實體唯一性的屬性,一般都是主鍵

描述、引用、分類、限制、數量、時間相關、人物相關、地點相關、狀態、審計、派生

域:自定義數據類型

  可以提高數據質量(通過域的定義,去建立用於檢驗數據合法性的規則,避免非法數據的插入)

  使數據模型容易理解,方便溝通

  使數據字段管理標准化

---------關系----------- 

要根據需求來定模型的關系

介紹了一些PowerDesigner的使用

---------鍵----------- 

候選鍵、主鍵、可選鍵、單鍵、復合鍵、代理鍵、自然鍵、外鍵

主鍵的特點:唯一不可重復、強制性不可為空、永久性不可改變、最小集合不可摻雜多余的屬性

自然鍵:有商業含義

代理鍵:沒有商業含義

在更新時,用代理鍵對於修改原有自然鍵更靈活多了

總體來說還是代理鍵性能更好一點

CHECKSUM CODE

緯度表、事實表?

在維度表中,存在代理鍵也必須存在1:1的自然鍵

---------約束(constrain)----------- 

RI有幾個選項:NONE、Resetrict、CASCADE、SETNULL、SETDEFAULT

****---------NULL----------- 

NULL是需要謹慎使用的,因為它可能會帶來一些數據質量的問題,以及會有一些不太容易被發現的程序的BUG

假如數據類型是整型或者浮點型,那么NULL不代表0, 0實際上還是有含義的,比如我考試缺考,那么成績是NULL;我考試得了0分,他們的含義是不同的

假如數據類型是字符型,那么它也不是長度為0的字符串

NULL既不代表0,也不代表空字符串,而是未知或不適用

數據庫在計算的時候會先檢查是不是有null,如果有就直接得出結果就是null(數學計算中所有NULL參與的計算,最后的結果都是NULL)

NUll小總結:(一共有五種特點比較突出的隱患)

1. 數學運算:任何數字與NULL做數學運算均為NULL

2. Where子句:搞清NULL的含義,小心”<>”以及 “全選”

3. Join:NULL與NULLJoin沒有結果

4. 聚合函數:若NULL設為0, AVG,MIN,MAX,COUNT均受影響

5. 子查詢:當存在NULL時,使用not in時需要特別注意

數據倉庫層面會分為三層:貼源層、按照第三范式創建的數據倉庫層、為了實現分析需求的星型模式構建的數據集市層。 

Null的場景處理:主數據表、參照數據表、Xref表、事務表

 

OLTP聯機事務處理OLAP聯機分析處理 的主要區別:

1)OLTP是面向顧客的,用於辦事員、客戶和信息技術專業人員的事務和查詢處理;OLAP是面向市場的,用於主管、經理、分析人員的數據分析

2)OLTP管理當前數據;OLAP管理歷史數據,提供匯總和聚集機制,並在不同的粒度層上存儲和管理信息

3)OLTP采用實體-聯系(ER)數據模型和面向應用的數據庫設計;OLAP采用星形或雪花形模型和面向主題的數據庫設計

4)OLTP主要關注一個企業或部門內部的當前數據;OLAP常跨數據庫,並出來來自不同單位的信息,以及由多個數據庫集成的信息

5)OLTP由短的原子事務組成,需要並發控制和恢復機制;OLAP大多是只讀操作

 

參考https://edu.hellobi.com/course/54

同一個字段,在不同表中的定義長度還有不同,這就帶來了很多隱患,比如某些長度定義不夠,字符串被截斷這類問題

在設計之初,要考慮未來有哪些環境上的變化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM