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

来源:未知 责任编辑:智问网络 发表时间:2013-08-28 11:49 点击:
p>使用DB2对象:创建模式、表和视图

p> 

p>     一般来说,数据存储在 DB2 中的关系表中。每个表由许多列和行组成。表列是在创建表期间定义的。还可以在创建表之后添加或删除它们。表中存储的数据需要与数据列定义保持一致。每个表可以有多个索引和视图。

p> 

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

p> 

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

p> 

p>  这个练习演示如何创建模式、表和视图:

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

p>  图  创建表 —— 列

p> 

p>

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

p>  图  Control Center —— Tables 视图

p> 

p>

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

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

p> 

p>
  (AUTHOR_NAME, MODULE_NAME)
  AS
  SELECT AUTHOR_NAME, MODULE_NAME FROM HWLD.AUTHOR WHERE MODULE_NAME='DB2 UDB'

 

p> 

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

p> 

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

p> 

p>  图  视图 —— 显示相关对象

p> 

p>

p> 

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

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • db2管理工具小结
    • DB2数据库的导出与导入(Windows客户端)
    • db2 CLP中如何换行
    • DB2查看表结构及所用表语句
    • DB2 · CREATE TABLESPACE
    • 使用DB2对象:创建模式、表和视图
    • DB2数据库逻辑卷的复制
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1