程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 使用 IBM Rational Data Architect 控制 DB2 數據庫

使用 IBM Rational Data Architect 控制 DB2 數據庫

編輯:DB2教程

簡介

在建造房屋時,需要先做大量規劃和設計工作,然後才能進行實際建造。如果不知道房屋的尺寸、規格以及用途,就開始砌牆和建房間,是很不明智的。還需要計劃在發生意外變化(比如,如果降生了小孩)時擴大房屋空間。在構建數據庫時也應該做相同的准備工作。應該先進行數據庫的規劃和設計,然後才能實際創建數據庫和表。數據庫應該能夠適應未來的業務需求,為未來的增長留出容量。

首先對比一下建造房屋和構建數據庫涉及的步驟。然後,使用這一對比幫助理解 RDA 和 DB2 9 如何幫助您建立合理的數據庫設計。

表 1. 建造房屋和構建數據庫的對比

建造房屋 構建數據庫 使用 IBM Rational Data Architect 控制 DB2 數據庫
設計和規劃需要哪些房間以及尺寸。
使用 IBM Rational Data Architect 控制 DB2 數據庫
了解希望捕捉的業務數據,以及如何在數據庫結構中正確地布置這些數據。 使用 IBM Rational Data Architect 控制 DB2 數據庫
常常需要修改原來的計劃來適應設計的變化。
使用 IBM Rational Data Architect 控制 DB2 數據庫
計劃修改,並在進行任何修改之前評估它對總體設計的影響。 使用 IBM Rational Data Architect 控制 DB2 數據庫
需要使用正確的工具建造房屋,並確保房屋具有最好的品質。
使用 IBM Rational Data Architect 控制 DB2 數據庫
RDA 提供了構建查詢的工具,而且在 DB2 9 中還能夠操作 XML 數據。

連接數據庫

通過使用 RDA,可以非常簡便地連接數據源,而且它已經識別出所有已經編目的數據庫。可以在 Database Explorer 窗口中找到這些連接。

圖 1. 使用 Database Explorer 窗口連接數據庫
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

連接數據庫的方法是右擊要連接的數據庫,然後單擊 Reconnect。

輸入用戶 ID 和密碼,完成之後,就會看到與這個數據庫相關的所有數據。因為已經連接了一個 V9.1 示例數據庫,所以應該能夠看到所有表、列、表空間和其他重要的數據庫對象。

圖 2. Database Explorer 窗口
使用 IBM Rational Data Architect 控制 DB2 數據庫

這是 RDA 中非常強大的一個部分,因為可以查看表的內容和做任何必要的修改。

圖 3. 直接查看表中的數據
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

您已經看到了如何連接 DB2 V9.1 數據庫並查看各種數據庫對象。

邏輯數據建模或物理數據建模以及兩者之間的所有東西

可以使用 RDA 從頭規劃設計或者操作現有設計,從而准確地理解執行的操作的含義其對修改的影響。利用 RDA 的數據設計特性並與 DB2 9 相結合,就可以全面控制所有信息資產。

邏輯數據建模

RDA 中的邏輯數據模型對於數據庫的意義,就如同設計草圖對於建造房屋的意義。在規劃房屋的整體藍圖之前,會進行某種類型的設計,以獲得要建造的房屋的總體效果。

在 RDA 中創建邏輯數據模型,就可以顯示各種實體之間的關系、這些實體的屬性和所有這些不同對象之間的關系。通常的做法是,先定義一個邏輯數據模型,然後再把它轉換為物理模型。這樣就能夠在進行任何物理設計之前,讓業務用戶檢驗數據模型。這就相當於先查看房屋的總體設計,然後再設計管道等細節。

創建邏輯數據模型的方法是導航到 File > New > Logical Data Model。

圖 4. 創建新的邏輯數據模型
使用 IBM Rational Data Architect 控制 DB2 數據庫

還有其他創建邏輯數據模型的方法,但是我們看看使用這種方法時會發生什麼。

如果要創建一個新的邏輯數據模型,那麼可以使用模板創建一個 “空白邏輯數據模型”。

圖 5. 創建新的邏輯數據模型(續)
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

單擊 Finish 之後,應該會在 Data Project Explorer 窗口中當前項目下面看到創建的邏輯數據模型的名稱。

圖 6. 新的邏輯數據模型圖
使用 IBM Rational Data Architect 控制 DB2 數據庫

現在,試著理解領域的概念以及它在這裡的作用。在邏輯數據模型中,要描述一些事物及其屬性。RDA 已經定義了一些與邏輯數據模型相關的對象,例如,可以在現有的數據類型中添加屬性,這些數據類型包括:

CHAR

VARCHAR

INT

DECIMAL

TIMESTAMP

在定義屬性時,必須從業務的角度做出決定。假設公司的業務分析師希望定義公司需要的數據類型。他們並不知道如何用上面這些預定義類型表示他們希望的數據類型。他們使用的術語很可能像下面這樣。

一家公司的業務是為家庭用戶生產定制的躺椅。家用躺椅具有以下性質:

家用座位的寬度只能是 17.8"。

如果地板是深色的,躺椅的面料就應該是淺色的天鵝絨;如果地板是淺色的,面料就應該是深色的天鵝絨。

為某些客戶生產的躺椅有視頻屏幕插座,這與常規的躺椅不一樣。

一些躺椅配有固定嬰兒座位的裝置,有的沒有。

所以,業務用戶定義他們的需求;而且在大多數情況下,這些術語超出了 RDA 中標准預定義類型的范圍。例如,無法只用 VARHCAR(20) 描述上面的條件。

這就是領域發揮作用的地方。可以創建一個領域模型,這種模型可以在其他領域模型或其他邏輯數據模型中使用。

在 RDA 中創建領域模型的方法是導航到 File > New > Domain Model。

圖 7. 創建新的領域模型
使用 IBM Rational Data Architect 控制 DB2 數據庫

還可以右鍵單擊邏輯數據模型中的包,然後導航到 Add Data Object > Atomic Domain。

圖 8. 創建領域模型的另一種方法
使用 IBM Rational Data Architect 控制 DB2 數據庫

如果要在邏輯數據模型中添加領域,就可以采用圖 8 所示的方法。然後,可以添加約束或文檔來描述業務分析師提出的規則。

物理數據建模

物理數據建模相當於房屋的藍圖。它描述數據庫的所有細節,並根據需要的操作,提供操作模型所需的所有信息。

物理數據建模有多種方式,比如使用 Physical Data Modeling 向導從頭創建新的數據模型。還可以從現有的另一個物理模型的元素創建物理模型。這只需在 Data Project Explorer 窗口中拖放元素。

還可以對實際數據庫或數據定義語言(DDL)文件進行反向工程,生成物理數據模型。還可以把邏輯數據模型轉換為物理數據模型。

下面介紹幾種物理數據建模方式的步驟,不過還可以執行其他一些步驟:

從頭創建物理數據模型

從 Data Project Explorer 窗口向物理數據模型中添加對象

反向工程

把邏輯數據模型轉換為物理數據模型

從頭創建物理數據模型的方法是導航到 File > New > Physical Data Model。

這會啟動 Physical Data Model 向導。


圖 9. 創建一個新的物理數據模型
使用 IBM Rational Data Architect 控制 DB2 數據庫

下一個屏幕提示您輸入關於要使用的數據庫版本的一些基本信息。在選擇 DB2 UDB V9.1 時,就使 RDA 能夠基於 DB2 9 中的所有新特性進行數據庫建模:


圖 10. New Physical Data Model 屏幕
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

然後為新模型選擇一個模板,在目前情況下,選擇包含空白物理模型的模板。


圖 11. Physical Data Model 模板
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

單擊 Finish 之後,可以看到在 Data Project Explorer 窗口中創建了一個新模型,它帶擴展名 dbm,這表示物理數據模型。


圖 12. Data Project Explorer 窗口中的物理數據模型
使用 IBM Rational Data Architect 控制 DB2 數據庫

從 Data Project Explorer 窗口向物理數據模型中添加對象。

有了空白物理數據模型之後,就可以以這個模型為起點做許多工作。如果希望添加另一個圖中的某些元素,那麼只需將元素從 Data Project Explorer 窗口中拖放到剛才創建的物理數據模型中。也可以把鼠標放在圖的空白區域中,RDA 會向您提示要做的操作,比如添加表。

反向工程

上面的示例演示了如何創建空白物理數據模型,但是如果已經定義了數據庫,希望修改設計,那麼應該怎麼辦?這稱為 “反向工程”。可以通過一個向導對數據庫或 DDL 文件進行反向工程,生成物理模型。

把邏輯數據模型轉換為物理數據模型。

我們看看在已經定義了邏輯數據模型的情況下,如何創建物理數據模型。

看一下 Data Project Explorer 窗口中的 HOME.ldm 以及描述這個數據庫的表和數據。


圖 13. 邏輯數據模型到物理數據模型的轉換
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

把邏輯數據模型轉換為物理數據模型有兩種方法。下面使用 Data Transformation 向導完成這個任務。

首先,單擊 Home.ldm。然後導航到 Data > Transform > Physical Data Model。


圖 14. 將邏輯數據模型轉換為物理數據模型
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

Transform to Physical Data Model 向導打開。

選中 Create New Data Model。


圖 15. 轉換為物理數據模型選項
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

單擊 Finish 把邏輯數據模型轉換為物理數據模型。

現在可以展開 Data Models 下面的物理數據模型,查看所有表。

圖 16. Data Project Explorer 窗口中轉換產生的物理數據模型
使用 IBM Rational Data Architect 控制 DB2 數據庫

為了看到物理數據模型中的圖,右鍵單擊 Diagrams Folder 並選擇 New OvervIEw Diagram。

選擇要查看的所有元素。其他元素保持默認設置並單擊 OK。

單擊 Show Key 和 Show non-key,可以進一步顯示圖中的元素。

圖 17. 新的物理數據模型圖
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

到目前為止,已經介紹了邏輯數據模型、領域模型和物理數據模型的概念。現在看看如何修改物理數據模型,並從物理數據模型創建 DDL。

修改物理數據模型需要展開要修改的對象,進行修改,然後保存模型。

我們以在 CUSTOMER 表中添加索引為例。

通過展開 Data Models > Home.dbm > Database > Home_schema > 展開 BuildHome 項目。右鍵單擊 CUSTOMER 並導航到 Add Data Object > Index。

圖 18. 在 customer 表中添加索引
使用 IBM Rational Data Architect 控制 DB2 數據庫

這會創建 CUSTOMER_IDX,可以在 customer 表的下拉菜單中看到這個索引。

如果希望指定要創建的索引的類型,只需單擊創建索引並查看 PropertIEs 視圖的 Details 部分。

圖 19. 索引細節
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

可以為索引指定以下選項:

惟一

可以指定 Key Columns 並用工具欄上的箭頭指定次序。

可以指定索引中包含哪些非鍵列並用箭頭指定次序。

如果需要,可以指定 PCTFree 值。

保存 Home.dbm 物理數據模型及其更改。

從物理數據模型創建 DDL

如果要創建新數據庫,就可以使用這種方式。否則,可以使用對比和同步特性生成 DDL。

為項目生成 DDL 的方法是右鍵單擊 Home_schema 並選擇 Generate DDL。

圖 20. 從 Explorer 生成 DDL
使用 IBM Rational Data Architect 控制 DB2 數據庫

在 Options 頁面上保持默認設置。在 Objects 頁面上,只選擇 Tables 和 Indexes,因為我們只有表和索引。

最後,應該會看到 Save and Run DDL,可以通過它預覽 DDL。還能夠在服務器上運行 DDL。

圖 21. Generate DDL 窗口
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

單擊 Finish 之後,應該會在 Data Project Explorer 窗口中 SQL Scripts 下面看到 DDL 腳本文件。SQL Scripts 文件夾在當前操作的項目下面。可以在任何時候查看或編輯這個文件。

圖 22. DDL 在 SQL Scripts 文件夾中的位置
使用 IBM Rational Data Architect 控制 DB2 數據庫

本文已經講解了如何在 RDA 中操作表,但是可做的事情不只如此。數據建模功能可以在以下方面擴展模型對象:

緩沖池

分區組

表空間

索引

觸發器

我們看看如何使用存儲圖設置這些元素。存儲圖顯示表中的所有物理數據保存在哪裡。可以從 RDA 直接構建存儲圖。

圖 23. 模型存儲圖
使用 IBM Rational Data Architect 控制 DB2 數據庫

在右鍵單擊 Add Storage OvervIEw Diagram 時,選擇需要的元素。

然後會看到存儲圖,其中包含前面選擇的所有元素。

圖 24. 模型表空間屬性
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

假設您有一個分區的數據庫,這意味著它是一個數據庫的一部分,它包含自己的數據、索引、配置文件和事務日志。Data Partioning Feature(DPF)是 DB2 9 中的新特性,可以用來操作這些分區的數據庫。

在查看 DB2 9 中的存儲圖時,還應該會看到分區組,因為它是 DB2 9 的 DPF 的組成部分。

如果單擊上面的表空間,就可以看到這個表空間的屬性並可以修改各種屬性。

如果希望查看表空間中所有表的列表,那麼單擊 Tables。

圖 25. 表空間中表的列表
使用 IBM Rational Data Architect 控制 DB2 數據庫

對 DB2 9 中的所有數據元素進行建模的用途並不僅限於此。如果希望向相關人員展示此圖,那麼可以使用調色板生成需要的形狀和線條。

邏輯數據模型用來創建設計數據庫所需的藍圖。領域模型用來擴展模型中對象的深度和廣度。物理數據模型可以提供數據庫實體的視圖,您可以做出設計決策,然後在當前的數據庫模型中實現這些決策。

對 DB2 進行對比和同步及影響分析

可以對模型或數據庫中的對象進行對比,了解不同對象之間的差異。可以對比:

數據庫與數據庫

模型與模型

模型與數據庫

數據庫與模型

掌握了這些信息之後,用戶就可以決定要做哪些修改,還可以通過影響分析了解這些修改如何影響整個系統。RDA 可以清楚地展示修改如何影響系統,甚至可以生成分析報告,以便查看和與其他人分享。

我們來詳細討論一下 RDA 中的對比和同步及影響分析功能。

先看一個使用 RDA 對比和同步特性的示例。作為組織中的 DBA,經常要考慮的一個問題是變化。用戶經常要求在現有的基礎結構中添加新信息,而且越快越好。RDA 讓您能夠輕松地理解並實現這些變化。

下面對一個物理數據庫模型和一個已經實現的數據庫進行對比。

我們仍然以 BuildHome 項目為例。假設這個項目中有一個 CUSTOMER 表,但是還有另一個表,其中包含來自另一個部門的另一個項目的其他信息。如果希望對比這兩個表,可以使用對比編輯器查看差異。

右鍵單擊 BuildHome 項目中的 CUSTOMER 並導航到 Compare With > Another Data Object。

圖 26. RDA 中的對比特性
使用 IBM Rational Data Architect 控制 DB2 數據庫

然後,只需展開另一個數據庫,顯示要對比的表。在這個示例中,要與 SAMPLE 數據庫中的 STAFF 表進行對比。

假設希望把 BuildHome CUSTOMER 表的 Cust_Id 列中的修改與 STAFF 表中的 ID 列合並。

圖 27. 對比圖
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

在對比和同步菜單中,可以看到這兩個表中的列。可以使用 Copy from Left to Right 或 Copy from Right to Left 菜單項執行修改。這些修改會立即實現。

在此之後,可以創建進行這些修改所需的 DDL,可以在服務器上直接運行這些 DDL,也可以將其保存為 SQL 腳本供以後執行。

圖 28. 從對比輸出生成 DDL
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

圖 29. 執行對比之後的新圖
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

可以查看模型中受到影響的其他表,然後決定是否進行修改。

如果要修改 XML 列等實體並分析修改的影響,這個特性尤其有幫助。在 DB2 9 中,處理 XML 數據與處理關系數據同樣簡單。在 RDA 中,對比和同步及影響分析也同樣簡單。

在 RDA 中查看 XML 數據類型與查看其他數據類型同樣容易。

圖 30. XML 建模
使用 IBM Rational Data Architect 控制 DB2 數據庫

您可以看到,可以像對待其他數據庫對象一樣,在 Database Explorer 中操作 XML 數據。

構建查詢

在開發應用程序時,需要使用工具幫助您使用數據庫中的信息。SQL Builder 是一個圖形工具,用來構建針對關系數據或 XML 數據的查詢。在 DB2 9 中,XML 數據存儲為原生形式,可以像操作關系數據一樣輕松地操作 XML 數據。

訪問 SQL Builder 的方法是導航到 File > New > SQL Statement。

這會啟動 SQL Builder。

圖 31. 創建新的 SQL 語句
使用 IBM Rational Data Architect 控制 DB2 數據庫

可以給這個 SQL 語句提供一個名稱,這樣就可以將它以 .sql 為擴展名保存,可以在以後執行或編輯。

然後,一個窗口提示您選擇連接。輸入數據庫的名稱並單擊 Reconnect。輸入用戶 ID 和密碼。

這時會打開 SQL Builder 窗口。

圖 32. SQL Builder
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

如果要在中間面板中添加表,應該右鍵單擊空白區域並選擇 Add Table,然後選擇要添加的表。

可以使用底部面板設計 SQL 語句中要包含的內容。還可以使用 SQL Expression Builder 設計更復雜的 SQL 語句。

在使用 SQL Builder 時,還可以把特定表中的元素拖放到 SQL Builder 面板中。完整的說明參見 DB2 9 Information Center 文檔中的 SQL Builder 部分。

因為 XML 數據是 DB2 9 中的重要特性,我們看看如何在 RDA 中查看 XML 數據。仍然以 BuildHome 公司為例。假設公司中有另一個組(暑期學生雇傭組),他們負責雇傭學生參加暑期建築工程。但是,他們的數據並未保存在任何數據庫中,而是使用一種 XML 格式記錄學生的信息。

可以通過 File-> Import 輕松地導入 XML 文件。

圖 33. 導入 XML 文件
使用 IBM Rational Data Architect 控制 DB2 數據庫

在此之後,這個文件就會出現在項目的 XML Schemas 文件夾中。

圖 34. XML schemas 文件夾
使用 IBM Rational Data Architect 控制 DB2 數據庫

如果雙擊 Student_details.xml,就可以看到這個 XML 文件和它的值,還可以展開數據元素,查看每個元素的值。在這個示例中,記錄了學生 ID、學生姓名和學生的電子郵件地址。

圖 35. RDA 中顯示的 XML 文件
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

如果希望生成 SQL 或 XML 查詢,那麼最簡單的方法是使用映射編輯器。可以為生成 SQL 或 XML 查詢指定一個源和目標。在這個示例中,源是您的關系數據庫,目標是一個包含 XML 文檔結構的 XML 模式定義(XSD)文檔。

在 RDA 中創建映射模型的方法是導航到 Mappings > New > Mapping Model。

圖 36. 映射模型
使用 IBM Rational Data Architect 控制 DB2 數據庫

給映射文件指定名稱。

圖 37. 映射編輯器
使用 IBM Rational Data Architect 控制 DB2 數據庫

單擊 Finish 在編輯器中創建一個新的映射(msl)文件。現在,可以把物理數據模型拖到源框中,把 XML 模式文檔拖到目標框中。

為了創建映射,右鍵單擊源中要映射的對象和目標中要映射到的 XML 元素。右鍵單擊目標 XML 元素並選擇 CREATE MAPPING。

圖 38. XML 映射編輯器
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

為了生成實際的 SQL 或 XML,只需使用工具欄中的 Generate Script 圖標。

圖 39. 生成 SQL 或 XML
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

采用默認的 Generate Script 選項,就會看到映射這些元素所需的 SQL 或 XML。

單擊 Finish 之後,SQL 或 XML 腳本出現在編輯器中,可以查看或編輯這個腳本。

圖 40. 生成的 SQL 或 XML 腳本
使用 IBM Rational Data Architect 控制 DB2 數據庫

查看原圖(大圖)

建造房屋需要做大量規劃和設計工作。構建數據庫,或者跟蹤組織中的所有信息,也需要做大量規劃和設計工作。RDA 不但為所有信息資產提供了規劃和設計工具,還提供了根據設計構造數據庫的能力。與設計房屋一樣,RDA 可以幫助充分利用信息資產,讓數據充分發揮作用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved