DB2 是一种关系数据库管理系统(RDBMS),是 Information Management 产品系列的一部分。DB2 被认为是第一种使用 SQL(一种为 RDBMS 提供接口的语言)的数据库产品。DB2 于 1982 年首次发布,现在已经可以用在许多操作系统平台上,包括 Linux、UNIX 和 Windows。
DB2 有不同的版本,可以满足不同的需求:
- DB2 Everyplace 为移动用户提供一个内存占用小且性能出色的 DB2 版本。
- DB2 for z/OS 为主机系统提供 DB2 的所有特性。
- DB2 for Linux, UNIX and Windows 提供几种风格。
1) Enterprise Server Edition(ESE)是一种具有客户机/服务器设置的完整的 RDBMS。DB2 ESE 适用于中型和大型企业。
2) Workgroup Server Edition(WSE)主要适用于小型和中型企业,它提供除大型机连接之外的所有 DB2 ESE 特性。
3) Personal Edition 为个人计算机提供一个单用户的部署。
4) DB2 Express 是 DB2 系列中新增的成员,它可以免费下载(如果您还没有按照 系统需求 中的说明下载 DB2 Express,那么在开始学习本教程之前应该下载 DB2 Express)。Express 是为 DB2 社区设计的,提供了与 DB2 WSE 相同的核心特性和功能。
本文使用基于最新版本 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 Line Tools)
包括后面详细描述的 Command Editor 和 Command Line Processor(CLP),以及 Command Window。Command Window 的使用方式与 CLP 完全相同,只是所有 DB2 命令必须加上 ‘db2’ 前缀,因为 CLP 是在交互式输入模式下启动的,而 Command Window 不是。
- 一般管理工具(General Administration Tools)
包括 Control Center(稍后讨论)、Journal、Replication Center 和 Task Center。Journal 可以用来查看以前的任务、数据库操作和消息。Replication Center 允许用户管理数据库的复制环境。最后,Task Center 可以以脚本的形式来调度任务并将结果通知用户。
- 信息工具(Information)
包括 Information Center,它可以用来寻找任何 SQL 或 DB2 命令和语法的帮助。
- 监视工具(Monitoring Tools)
让用户能够监视系统的状态(采用快照形式,或者进行持续监视)。用户可以使用 Event Analyzer 查看性能事件监视器的输出。使用 Health Center 用户可以查看数据库的总体状态和健康情况,并在内存或锁等资源达到预定义的阈值时收到警告。Indoubt Transaction Manager 允许用户对有疑问的事务(indoubt transactions)(由于崩溃等原因处于不完整状态的事务)执行必要的操作。事务可以被提交、回滚或者从日志中完全删除。最后,管理员可以使用 Memory Visualizer 监视与内存相关的系统和数据库健康情况,比如当前内存使用情况和分配。
- 设置工具(Setup Tools)
帮助用户设置系统和数据库。Configuration Assistant 帮助用户配置数据库,以便从不同的客户机或应用程序访问数据库。First Steps 向用户提供关于 DB2 的信息。在设置工具中,用户还可以找到使用附件将数据库开发环境注册到 Microsoft Visual Studio 的选项。最后,Satellite Synchronizer 允许用户将卫星配置信息上传到控制服务器。
可以使用基于文本的 CLP 或图形化用户界面(GUI)来管理 DB2。Control Center 是主要的 GUI 管理工具之一,它允许对 DB2 对象执行各种操作,比如创建和更改。这些任务中的大多数也可以使用 Command Line Processor(CLP)执行,这取决于用户的个人喜好。下面几节详细描述本教程中使用的工具。
- Command Line Processor
Command Line Processor(CLP)是基于文本的 DB2 界面。它允许用户输入任何命令并在标准输出中接收文本输出。它还对在命令行上可用的任何命令的语法提供帮助,并解释 SQL 代码。下面这个 DB2 命令示例查看 create database 命令的语法:
图 2. DB2 命令行处理器
- Control Center
Control Center(CC)是一个基于 GUI 的工具,通常用来管理 DB2 系统、数据库和对象。用户可以使用 Control Center 创建和管理实例、数据库和数据库对象,以及对这些实例和数据库进行配置和调优。Control Center 提供了向导来帮助用户创建或修改不同的对象。Control Center 提供了各种对象视图,可以根据用户的需要修改这些视图。例如,用户可以过滤出一组能够在一个对象(比如表)上执行的操作,从而方便执行日常操作。在下面的 Control Center 中使用默认视图查看所有数据库中的所有对象:
图 3. 使用默认视图的 Control Center
- Command Editor
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 应用程序来扩展现有的技术。