DB2 是什麼?
DB2 是一種關系數據庫管理系統(RDBMS),是 Information Management 產品系列的一部分。DB2 被認為是第一種使用 SQL(一種為 RDBMS 提供接口的語言)的數據庫產品。DB2 於 1982 年首次發布,現在已經可以用在許多操作系統平台上,包括 Linux、UNIX 和 Windows。
DB2 有不同的版本,可以滿足不同的需求:
本文使用基於最新版本 DB2 9 的 DB2 Express。
可以使用 Microsoft Open Database Connectivity(ODBC)和 Java™ Database Connectivity(JDBC)從任何應用程序訪問 DB2 數據庫。許多編程語言都可以使用這些 API,包括 C、C++、Java 和 FORTRAN。在本教程中,不使用 API 創建任何應用程序。關於 API 的更多信息,請查閱 DB2 Information Center 站點(參見 參考資料 中的鏈接)。
數據庫可以存儲任何類型的信息,無論是關系數據(比如職員的姓名和地址),還是二進制數據(比如他們的身份證照片)。DB2 9 現在還支持 pureXML™,可以輕松地存儲和檢索 XML 數據。可以使用實用程序裝載和維護數據,還可以使用查詢檢索您感興趣的信息。可以使用本教程中描述的一些工具控制數據的完整性。
DB2 工具
DB2 為日常的管理和維護提供了許多工具,這些工具分為命令行工具、一般管理工具、信息工具、監視工具和設置工具幾類。可以通過 Windows Start 菜單(見圖 1)或 Control Center(CC)中的 Tools 菜單(本節後面會詳細描述)調用這些工具。下面簡要介紹每類工具。
圖 1. DB2 GUI 工具
包括後面詳細描述的 Command Editor 和 Command Line Processor(CLP),以及 Command Window。Command Window 的使用方式與 CLP 完全相同,只是所有 DB2 命令必須加上 ‘db2’ 前綴,因為 CLP 是在交互式輸入模式下啟動的,而 Command Window 不是。
包括 Control Center(稍後討論)、Journal、Replication Center 和 Task Center。Journal 可以用來查看以前的任務、數據庫操作和消息。Replication Center 允許用戶管理數據庫的復制環境。最後,Task Center 可以以腳本的形式來調度任務並將結果通知用戶。
包括 Information Center,它可以用來尋找任何 SQL 或 DB2 命令和語法的幫助。
讓用戶能夠監視系統的狀態(采用快照形式,或者進行持續監視)。用戶可以使用 Event Analyzer 查看性能事件監視器的輸出。使用 Health Center 用戶可以查看數據庫的總體狀態和健康情況,並在內存或鎖等資源達到預定義的阈值時收到警告。Indoubt Transaction Manager 允許用戶對有疑問的事務(indoubt transactions)(由於崩潰等原因處於不完整狀態的事務)執行必要的操作。事務可以被提交、回滾或者從日志中完全刪除。最後,管理員可以使用 Memory Visualizer 監視與內存相關的系統和數據庫健康情況,比如當前內存使用情況和分配。
幫助用戶設置系統和數據庫。Configuration Assistant 幫助用戶配置數據庫,以便從不同的客戶機或應用程序訪問數據庫。First Steps 向用戶提供關於 DB2 的信息。在設置工具中,用戶還可以找到使用附件將數據庫開發環境注冊到 Microsoft Visual Studio 的選項。最後,Satellite Synchronizer 允許用戶將衛星配置信息上傳到控制服務器。
可以使用基於文本的 CLP 或圖形化用戶界面(GUI)來管理 DB2。Control Center 是主要的 GUI 管理工具之一,它允許對 DB2 對象執行各種操作,比如創建和更改。這些任務中的大多數也可以使用 Command Line Processor(CLP)執行,這取決於用戶的個人喜好。下面幾節詳細描述本教程中使用的工具。
Command Line Processor(CLP)是基於文本的 DB2 界面。它允許用戶輸入任何命令並在標准輸出中接收文本輸出。它還對在命令行上可用的任何命令的語法提供幫助,並解釋 SQL 代碼。下面這個 DB2 命令示例查看 create database 命令的語法:
圖 2. DB2 命令行處理器
Control Center(CC)是一個基於 GUI 的工具,通常用來管理 DB2 系統、數據庫和對象。用戶可以使用 Control Center 創建和管理實例、數據庫和數據庫對象,以及對這些實例和數據庫進行配置和調優。Control Center 提供了向導來幫助用戶創建或修改不同的對象。Control Center 提供了各種對象視圖,可以根據用戶的需要修改這些視圖。例如,用戶可以過濾出一組能夠在一個對象(比如表)上執行的操作,從而方便執行日常操作。在下面的 Control Center 中使用默認視圖查看所有數據庫中的所有對象:
圖 3. 使用默認視圖的 Control Center
Command Editor 與 CLP 非常相似,它允許使用基於文本的命令管理 DB2 數據庫。它還接受 DB2 命令、SQL 語句和操作系統命令。與 CLP 不同,Command Editor 允許用戶將命令復制並粘貼到剪貼板以幫助編寫腳本,還可以輕松地使用 GUI 獲得以前的命令。下面是一個使用 Command Editor 創建表的示例:
圖 4. DB2 Command Editor
DB2 如何適應 SOA!
面向服務的體系結構(Service-OrIEnted Architecture,SOA)是一種軟件體系結構風格,在其中使用服務來支持用戶的需求。它使資源成為獨立的組件,從而支持擴展和重用現有的服務、任務和應用程序。可以使用這些組件構建復雜的應用程序來滿足用戶的需要。
IBM 為 SOA 定義了三個起點:人、過程和信息。隨著基於 Web 的業務量的增加,暴露和消費數據庫中的信息的需求也在增加。DB2 是提供這一服務的關鍵。DB2 9 中的 pureXML 技術允許開發人員創建 XML 應用程序來擴展現有的技術。