使用 DB2 对象:创建模式、表和视图

ZDNet软件频道 时间:2008-09-22 作者:佚名 | 论坛整理 我要评论(2)
本文关键词:DB2 对象 模式 视图
一般来说,数据存储在 DB2 中的关系表中。每个表由许多列和行组成。表列是在创建表期间定义的。还可以在创建表之后添加或删除它们。表中存储的数据需要与数据列定义保持一致。每个表可以有多个索引和视图。
一般来说,数据存储在 DB2 中的关系中。每个由许多列和行组成。列是在创建期间定义的。还可以在创建之后添加或删除它们。中存储的数据需要与数据列定义保持一致。每个可以有多个索引和视图

  视图(view) 就像是一个逻辑,它由一个 SELECT 语句从一个或多个视图获得的结果集组成。与关系不同,视图中的数据不需要物理地存储在硬盘上。当查询视图时就会获取数据。除了在系统编目中存储它的定义之外,视图不使用物理空间。在创建视图之后,可以使用数据操纵语言(Data Manipulation Language,DML)查询视图,甚至更新视图视图提供了灵活的数据访问功能,可以访问一个的子集或者来自多个的结果集的联结,同时隐藏了基中数据的复杂性。

  为了提供数据库对象(比如、索引和视图)的逻辑视图,使用一个或多个模式对它们进行分类。模式(schema) 是数据库对象的一个逻辑分类。可以使用相同或不同的模式创建多个数据库对象。例如,在空间 SYSCATSPACE 中,所有基本系统和索引都分组在同一个模式 SYSIBM 中。基本编目和索引的所有视图分组在模式 SYSCAT 或 SYSSTAT 中。

  这个练习演示如何创建模式视图

  1、在 Control Center 中,点击 All Databases > HELLOWLD > Schemas。看一下在创建数据库时 DB2 创建的现有模式。点击右下方窗口中的 Create New Schema。

  2、在 Create Schema 向导中,输入 HWLD 作为新的模式名称。使用默认的 Authorization Name。点击 OK 运行 CREATE SCHEMA 命令。同样,点击 Show SQL 就会看到实际的 DB2 命令。在命令完成之后,检查 HWLD 是否显示在模式视图中。

  3、在创建对象时,指定它应该属于的模式。如果没有显式地指定模式名,那么在默认情况下会使用用户 ID 作为模式,但条件是用户应该具有 IMPLICIT_SCHEMA 特权(本系列中的下一个教程将详细讨论特权)。参见 参考资料 中对整个 Hello World 系列的链接。

  4、为了创建,在 Control Center 窗口的左边选择 All Databases > HELLOWLD > Tables。在右下方的窗口中点击 Create New Table。Create New Table 向导窗口启动,它会带领您执行创建的步骤。

  5、在 Create Table 向导中,首先从下拉菜单中选择 HWLD 作为模式名。输入 AUTHOR 作为名。输入描述性的注释。点击 Next。

  6、在 Columns 页面上,点击 Add 为 AUTHOR 添加列。在 Add Column 页面上,指定 AUTHOR_NAME 作为列名,VARCHAR 作为数据类型,长度为 50。点击 OK。

  7、点击 Add 添加第二个列,AUTHOR_ID 作为列名,数据类型是 Integer。点击 OK。再添加第三个列,MODULE_NAME 作为列名,数据类型是 CHARACTER,长度是 20。点击 OK。

  8、应该会在 Columns 页面上看到这三列。

  图 14. 创建 —— 列

  创建表 —— 列

  9、点击 Next。显示 Data Partitions 页面。

  10、数据分区(Data partitioning) 是 DB2 9 中的一个新特性,它允许跨多个空间对大型进行分区。点击 Next 跳过这一步,因为 AUTHOR 不是分区

  11、在 Table spaces 页面上,选择 TBSP_DATA1 作为空间。选择 Use Separate Index Space,并选择 TBSP_INDEX1 作为索引空间。还可以为任何大对象指定单独的空间,但是这里不需要这样做。点击 Next。

  12、如果没有看到 TBSP_DATA1 或 TBSP_INDEX1,那么取消 Create Table 向导并确保从 Control Center 刷新空间视图

  13、此时不用定义任何主键或惟一键、维或约束。在后续页面上一直点击 Next,直到到达 Summary 页面。

  14、使用 Summary 页面上的 Show SQL 查看实际的 Create Table 命令。点击 Finish 创建 HWLD.AUTHOR

  15、应该会看到 DB2 Message 窗口(DB20000),这示命令已经顺利完成,没有错误。关闭消息窗口。

  16、在 Control Center Tables 视图中,点击刚才创建的 AUTHOR ,在显示窗口中应该会看到的列定义、模式和创建者。

  图 15. Control Center —— Tables 视图

  CC - Tables 视图

  16、在检查 HWLD.AUTHOR 之后,添加另一个列,AUTHOR_DOC。让它成为 XML 列,因为要在这个 XML 列中直接存储 XML 文档。

  17、右键单击 AUTHOR,从菜单中选择 Alter,Alter Table 向导打开。点击 Add 启动 Add Column 向导。

  18、在 Add Column 向导中,输入 AUTHOR_DOC 作为列名,选择 XML 作为数据类型。选择 Nullable,示这个列可以包含 NULL 值。点击 OK。

  19、检查 Alter Table 向导,确认已经添加了一个新的 XML 列。有一个选项可以将数据存储为压缩格式,如果空间是个大问题或者数据很大,那么可以考虑使用这个选项。在这里,数据保存为非压缩格式。点击 OK 让 ALTER TABLE 完成操作。应该会返回消息 DB20000。关闭消息窗口。

  在 Control Center 中,选择 Table > Author,应该会看到数据类型为 XML 的第四个列。

  20、为了创建基于 Author 视图,选择 Control Center > All Databases > HWLD > Views > Create New View。Create View 向导会带领您执行创建视图的步骤。

  在 Create View 向导中,选择 HWLD 作为视图模式,输入 DB2_AUTHOR 作为视图名。

  21、将 SQL 语句替换为以下语句:

  (AUTHOR_NAME, MODULE_NAME)
  AS
  SELECT AUTHOR_NAME, MODULE_NAME FROM HWLD.AUTHOR WHERE MODULE_NAME="DB2 UDB"

  22、检查选项应该选择 None,使视图属性为只读。点击 OK 创建视图 DB2_AUTHOR。

  23、在 Control Center 中,选择 DB2_AUTHOR 视图,看看屏幕右下方面板中的视图定义。

  图 16. 视图 —— 显示相关对象

  视图 —— 显示相关对象

  24、点击 Show Related Objects。在 Show Related 页面上,点击 Tables 选项卡。显示这个视图的基的相关信息。点击 Close。

查看本文来源

DB2

对象

模式

视图


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134