1. 程式人生 > >《MySQL技術內幕——SQL程式設計》讀書筆記(一)——SQL程式設計

《MySQL技術內幕——SQL程式設計》讀書筆記(一)——SQL程式設計

一、資料庫的應用型別

對於SQL開發人員,必須先了解進行SQL程式設計的物件型別,即要開發的資料庫應用是哪種型別。

1、OLTP(OnLine Transaction Processing) 聯機事務處理   主要面向基本的、日常的事務處理,例如銀行交易

2、OLAP(OnLine Analysis Processing) 聯機分析處理      資料倉庫系統的主要應用,支援複雜的分析操作,側重決策支援,並且提供直觀易懂的查詢結果

(1) OLTP 

面向交易的處理系統,其基本特徵是可以立即將顧客的原始資料傳送到計算中心進行處理,並在很短的時間內給出處理結果。

可以即時地處理輸入的資料、及時地回答,因此OLTP又被稱為實時系統(Real Time System)。

從使用者在終端輸入資料到計算機對這個請求做出回覆所需的時間,是實時響應時間(Response Time),是一個重要效能指標。

OLTP資料庫旨在使事務應用程式僅完成對所需資料的寫入,以便儘快處理單個事務。

OLTP資料庫通常具有的特徵:

1、支援大量併發使用者定期新增和修改資料

2、反映隨時變化的單位狀態,但不儲存其歷史記錄

3、包含大量資料,其中包括用於驗證事務的大量資料

4、具有複雜的結構

5、可以進行優化以對事務活動作出相應

6、提供用於支援單位日常運用的技術基礎結構

7、個別事務能夠很快地完成,而且只需要訪問相對較少的資料。OLTP系統旨在處理同時輸入的成百上千的事務

(2) OLAP

一種用於組織大型商務資料庫和支援商務智慧的技術。

OLAP資料庫分為一個或多個多維資料集,每個多維資料集都由多維資料集管理員組織和設計,以適應使用者檢索和分析資料的方式,從而更易於建立和使用

所需的資料透視表和資料透檢視。

OLAP是共享多維資訊的,針對特定問題的聯機資料訪問和分析的快速軟體技術,可以根據分析人員的要求快速、靈活地進行大資料量的複雜查詢處理。

OLAP的主要特點是直接仿照使用者的多角度思考模式,預先為使用者建立多維的資料模型。

指的是使用者的分析角度,例如對銷售資料的分析,時間週期是一個維度,產品類別、分銷渠道、地理分佈、客戶群類也分別是不同的維度。

一旦多維資料模型建立完成,使用者可以快速地從各個分析角度獲取資料,也能動態地在各個角度之間切換資料或者多角度綜合分析,具有極大的分析靈活性。

OLAP的基本概念:

(1)維 (Dimension) :  是使用者觀察資料的特定角度,是問題的一類屬性,屬性集合構成一個維(時間維、地理維等).

(2)維的層次 (Level) :  使用者觀察資料的某個特定角度(即某個維)還可能存在細節程度不同的各個描述方面(時間維包括日期、月份、季度、年)。

(3)維的成員 (Member) : 即維的一個取值,是資料項在某個維中位置的描述,如 “某年某月某日” 是在時間維上的位置描述。

(4)度量(Measure) : 多維陣列的取值

OLAP的基本多維分析操作:

(1)鑽取(Drill-up和Drill-down) : 改變維的層次,變換分析的粒度。

向上鑽取(Drill-up) : 在某一維上將低層次的細節資料概括到高層次的彙總資料,或者減少維數;

向下鑽取(Drill-down) : 從彙總資料深入到細節資料進行觀察或增加新維。

(2)切片(Slice)和切塊(Dice) : 在一部分維上選定值後,關心度量資料在剩餘維上的分佈。如果剩餘的維只有連個,則是切片;如果有三個或以上,則是切塊。

(3)旋轉(Pivot) : 變換維的方向,即在表格中重新安排維的放置(如行列互換)。