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 应用程序来扩展现有的技术。