使用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。
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>