⑴ 中心資料庫設計
5.2.2.1 資料庫
根據該系統的開發需求,按照資料庫的功能和作用將其分為風險查詢類、風險評價類、系統管理類三大類(薩師煊等,2000)。主要數據見表5.5。
表5.5 海外油氣與金屬礦產資源開發風險管理系統的主要數據表
續表
5.2.2.2 數據倉庫
油價數據來源於美國能源部(DOE)下屬的能源信息署(EIA)網站、中石油(CNPC)網站和《華爾街日報》(WSJ)網站提供的油價數據,油價序列本身就是一個不規則的時間序列,油價數據具有以下幾個特點。
(1)數據的一致性差
油價數據格式多樣,存在數據冗餘,主要體現在:使用的數據格式均不相同,並且各個子系統相對獨立。在網站單獨作用的情況下,一般都沒有問題,但要將這些不同系統或不同時期的數據集中起來綜合利用,就可能出現數據不齊全、不一致或重復的現象。
(2)數據存放的分散
油價數據來源多,缺乏統一管理,沒有一種相應的網頁數據自動化抓取操作實現數據的本地化操作過程。
(3)數據資源開發不充分
大容量數據導致對數據資源的開發利用不充分,缺乏對獲取的數據如各分析機構制定的期貨合約元數據進行各種深層次分析、綜合、提煉、挖掘和展現的應用,因此很難對豐富的統計數據資源進行二次開發利用。
根據油價數據中所包含的油氣產品種類、油氣產品合約制定日期、油氣產品的價格類型、不同市場下油氣產品價格的差異等,能夠加深對油價走勢的了解。油價的這種與時間相關性、不可修改性,以及集成的性質,使得我們採用多種角度對原始數據進行理解,並真實反映其特性,也讓我們發現使用一種整合的技術對油價進行精確預測十分必要。
數據倉庫的構建流程如圖5.13所示由下至上逐步實現。
圖5.13 數據倉庫構建流程
1)數據源。
A.數據源的復雜性。數據分散在資料庫管理系統、電子表格、電子郵件系統、電子文檔甚至紙上。系統中要求採集的3個數據源中,EIA 網站存儲在網頁上的油價相關事件更新較慢,雖然提供了各市場日、周、月、年的油價數據下載,但是下載完成之後的表格欄位格式時常發生變化,這為實現自動獲取數據並下載到本地自動入庫的要求增加了難度;中石油網站數據除上述只顯示3條數據之外,網站上會將訪問流量過大的IP地址列入黑名單使其不能繼續下載到本地進行保存,為這些數據建立統一的模型將會耗費很大精力。
B.數據的有效性。由於存在經驗局限,如何處理數據的空值、不同時間間隔時間欄位格式,入庫時應注意的問題等,如果應用程序沒有檢驗數據的有效性,會對數據多維顯示產生極大影響,因此也歸結為數據源數據質量問題。
C.數據的完整性。數據源上的數據並不那麼明顯或者容易獲得。油價是高度敏感的數據,因此各個網站雖然提供了各個油品交易市場的日、月或年數據,但是完整性並不能充分保證,根據企業政策的不同,有時對要獲得的數據,需花費大量精力。為此,要對不同的數據源進行建庫,以保證所獲數據的完整性。
2)數據處理。
高效的多維數據集展示離不開底層數據源數據的精確獲取,或者叫做數據理解和數據清洗。於是系統在基於元數據獲取、加工、入庫和多維數據集展示上實現預期的要求。
A.ETL。該功能是整個油價數據倉庫的核心之一,主要功能是按照事先定義的數據表對應關系從相關系統表中抽取數據(Extraction),經過數據清洗和轉換(Transform),最終把正確的數據裝載到數據倉庫的源數據中(Load),作為以後應用的基礎。
B.數據轉換。該功能是在數據抽取過程中按照定義的規則轉換數據,避免了數據在分析時的多樣性,保證數據一致性。
C.數據集成。該功能主要是把油價信息數據倉庫系統的源數據,按照事先定義的計算邏輯以主題的方式重新整合數據,並以新的數據結構形式存儲。
3)數據存儲。
星型模型(星型架構)是數據倉庫開發中多維展現重要的邏輯結構,構成星型模型的幾個重要特徵是:維、度和屬性,在實際應用中表示為事實表和維度表。在油價數據中,各市場的期現貨價格表為數據倉庫的事實表,油品類型、合約規定日期等為維度表。
油價數據倉庫星型模型的設計方案如下:
A.事實表。資料庫表中EIA的期現貨價格表(包括日、周、月、年表)作為數據倉庫中的事實表,根據不同時間維度構成多個星型模型,即星座模型。這些價格表中以市場編號、油氣產品類型、期貨合約日期、價格單位度量衡編號作為主鍵和外鍵與其他維度表相連,形成多維展示聯動的基礎,以油價數據和其他事實數據為記錄數據,作為主要輸出結果。
B.維度表。根據市場、油品、價格數據、度量衡和事件類型作為油氣數據倉庫中多維分析的角度和目標。
圖5.14以EIA的日期貨數據表作事實表為例,構建星型模型,其他不同時間維度的模型結構圖與此圖基本相同。
圖5.14 以EIA數據為例的日期貨價格星型模型
以星型模型設計為基礎,完善數據存儲中操作型數據存儲(ODS)的原型設計,提供DB-DW之間中間層的數據環境,可實現操作型數據整合和各個系統之間的數據交換。
⑵ 資料庫中間層
一般情況下資料庫有三層,即:表示層、中間層、數據層;
中間層(WebServer)的作用是用戶服務和數據服務的邏輯橋梁。它負責接受遠程或本地的用戶請求,對用戶身份和資料庫存取許可權進行驗證,運用伺服器腳本,藉助於中間件把請求發送到資料庫伺服器(即數據層),把資料庫伺服器返回的數據經過邏輯處理並轉換成HTML及各種腳本傳回客戶端。
⑶ 主動資料庫系統的結構和設計思想是什麼
1.3. 資料庫系統結構
從資料庫管理系統的角度看,資料庫系統通常採用三級模式結構。本節將介紹資料庫系統的模式結構。
1.3.1. 模式的概念
模式(schema)是資料庫中全體數據的邏輯結構和特徵的描述,它僅僅涉及到類型的描述,而不涉及到具體的值。模式的一個具體值稱為模式的一個實例(instance)。同一個模式可以有很多實例。模式是相對穩定的,實例是相對變動的,因為資料庫中的數據總在不斷地更新。模式反映的是數據的結構及其聯系,而實例反映的是資料庫某一時刻的狀態。
1.3.2. 三級模式結構
資料庫系統的三級模式結構是指資料庫系統是由外模式、模式、內模式,這三級構成的。如圖 1.4所示
圖 1.4. 資料庫系統的三級模式結構
模式(schema)
模式也稱為邏輯模式,它是資料庫中全體數據的邏輯結構和特徵的描述,是所有用戶的公共數據視圖。它是資料庫系統模式結構的中間層,既不涉及數據的物理存儲細節和硬體環境,也與具體的應用程序,與所使用的應用程序開發工具以及程序設計語言無關。
DBMS提供模式描述語言(模式DDL)來嚴格地定義模式。
外模式(external schema)
模式也稱為用戶模式或子模式,它是資料庫用戶(包括程序員和最終用戶)能夠看見和使用的局部數據的邏輯結構和特徵的描述,是資料庫用戶的數據視圖,是與某一特定應用有關的數據的邏輯表示。
外模式通常是模式的子集。一個資料庫中可以有多個外模式。外模式是保證資料庫安全性的一個有力措施,每個用戶只能看見和訪問到相應的外模式的數據,他看不見資料庫中的其餘數據。
DBMS提供外模式描述語言(外模式DDL)來嚴格地定義外模式。
內模式(internal schema)
模式也稱為存儲模式,一個資料庫只能有一個內模式。它是數據物理結構和存儲方式的描述,是數據在資料庫內部的表示方式。
DBMS提供內模式描述語言(內模式DDL)來嚴格地定義內模式。
1.3.3. 兩級映像與數據獨立性
資料庫系統的三級模式是對數據的三個抽象級別,它把數據的具體組織工作留給了DBMS管理,使用戶能夠從邏輯層面上處理數據,而不必關心數據在計算機中的具體表示方式和存儲方式。為了能夠在內部實現這三個抽象層次的聯系和轉換,DBMS在這個三級模式之間提供了兩級映像:
外模式/模式映像
模式/內模式映像
正是這兩級映像保證了資料庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性。
外模式/模式映像
模式描述的是數據的全局邏輯結構,外模式描述的是數據的局部邏輯結構。對應於同一個模式可以有任意多個外模式。對於每一個外模式,資料庫系統都有一個外模式/模式的映像,它定義了該外模式與模式之間的對應關系。
當模式改變時,由資料庫管理員對各個外模式/模式映像做相應的改變,就可以使外模式保持不變。應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與程序的邏輯獨立性,簡稱為數據的邏輯獨立性。
模式/內模式映像
資料庫中只有一個模式,也只有一個內模式,所以模式/內模式的映像是唯一的。它定義了資料庫全局邏輯結構與物理存儲結構之間的對應關系。
當資料庫的物理存儲結構改變時,由資料庫管理員對模式/內模式映像做相應的改變,就可以使模式保持不變。從而應用程序也不必改變。這樣就保證了程序與數據的物理獨立性,簡稱為數據的物理獨立性。
在資料庫的三級模式結構中,資料庫模式,即全局邏輯模式是資料庫的中心與關鍵,它獨立於資料庫的其他層次。因此,設計資料庫模式結構時,應首先確定資料庫的邏輯模式。
⑷ 如何用delphi做三層結構中的中間層。
1、調用DataModel中的控制項必須在先引用Datemodel的單元,在implementation下面加入以下語句uses DataModel的單元名稱;
2、必須改變窗體的創建順序,datamodel窗體必須先於引用該窗體控制項的窗體創建
三層結構
應用層:
一、需要三個數據控制項:
Adoconnect
AdoQuery
DataSetProvider
二、聯接順序:
SQL資料庫<--Adoconnect<--Adoquery<--DataSetProvider
三、屬性設置:
Adoconnect:
1、ConnectionString
2、Connected
Adoquery:
1、connection
2、Active
DataSetProvider:
1、DataSet
2、option.poAllowCommand:=true
⑸ 資料庫的三級模式和二級映像
一、資料庫的三級模式:
1、模式
模式是由資料庫設計者總和所有用戶的數據,按照統一的觀點構造的全局邏輯結構,是對資料庫中全部數據的邏輯結構和特徵的總體描述,是所有用戶的公共數據視圖。
2、外模式
外模式對應於用戶級,它是某個或某幾個用戶看到的資料庫的數據視圖,是與某一應用有關的數據邏輯的表示。外模式是從模式導出的一個子集,包含模式中允許特定用戶使用的那部分數據。
3、內模式
內模式對應於物理級,它是資料庫中全部數據的內部表示或底層描述,是資料庫最低一級的邏輯描述,它描述了數據在存儲介質上存儲方式的物理結構,對應著實際存儲在外存儲介質上的資料庫。
二、資料庫的二級映像:
資料庫系統的三級模式是對數據的3個抽象,它把數據的具體組織留給DBMS管理,為了能夠在內部實現著3個抽象層次的練習和轉換,DBMS在這3個級別之間提供了兩層映像:外模式/模式映像和模式/內模式映像。
1、外模式/模式映像使數據具有較高的邏輯獨立性。它定義了外模式和模式之間的對應關系。這些映像定義通常包含在各自外模式的描述。
2、模式/內模式映像使數據具有較高的物理獨立性。它定義了資料庫全局邏輯結構與存儲結構之間的對應關系。該映像定義通常包含在模式描述中。
(5)資料庫中間層設計擴展閱讀:
資料庫的三級模式和二級映像的特性:
1、中間模式(概念模式)相對穩定的反映數據的結構和屬性關系,是DB的關鍵和中心,全局的邏輯結構,獨立於其他層次,故設計DB模式結構時應先確定DB邏輯模式。
2、模式的實例是動態反映數據的時效性。定義模式時要考慮邏輯結構,還要考慮數據的聯系,考慮數據的安全性完整性。
3、內模式獨立於用戶視圖(外模式),依賴全局邏輯結構(模式),組織存儲數據實現存儲時提高空間和時間效率。
4、外模式特定應用程序是在外模式數據結構上編制的,依賴於外模式,獨立於模式和內模式,不同的應用可以公用一個外模式。
5、二級映像保證DB外模式穩定性,是在底層保證應用程序穩定性,除非應用自身變化,否則不會修改。