视图(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 视图
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。
分享到:
相关推荐
使用 db2look,我们可以导出数据库结构,例如表结构、索引、视图等。 语法:db2look -d db_name -e -a -x -i db_username -w db_passwd -o file_name.sql 其中,-d 选项指定了数据库名称,-e 选项用于生成 DDL ...
- 隐式创建:当用户第一次在一个不存在的模式中创建对象时,DB2会自动创建该模式。系统提供的模式(如`SYSIBM`)属于隐式创建的范畴,所有用户初始时都可以在这个模式中建立对象。 - **模式的权限管理**: - 与...
2. **创建NickName**:有了服务器定义后,接下来可以创建NickName来引用远程数据库的对象,如表或视图。以下是一个创建NickName的例子: ```sql CREATE nick_name SCHEMA schema_name FOR SERVER server_name ...
### DB2 使用手册知识点详解 ...以上内容覆盖了DB2中常见的基础操作和管理命令,包括数据库创建、连接、表和视图的创建、查询、索引管理以及各种信息的查询等。这些知识点是使用DB2进行日常开发和维护的基础。
- **查询用户拥有的视图:** - `SELECT * FROM SYSIBM.SYSVIEWS WHERE CREATOR = 'USER'`:查询由特定用户创建的所有视图。 - **查询当前 DB2 版本:** - `SELECT * FROM SYSIBM.SYSVERSIONS`:查询当前DB2数据库...
标题与描述均提及了“DB2 Schema操作总结”,这表明文章将聚焦于IBM DB2数据库管理系统中的模式(Schema)管理操作。以下是对标题、描述、标签以及部分内容中提及的关键知识点的详细阐述: ### 显式建立Schema 在...
总结起来,DB2数据库的创建和表空间规划涉及多方面的工作,包括数据库实例的创建、表空间的定义、系统表的构建、权限的设定,以及存储和性能的优化。正确理解和执行这些步骤,对于保证数据库系统的稳定性和性能至关...
9. **+20401532**: 对象不存在于DB2环境中,这通常意味着尝试引用一个不存在的表或视图。 10. **+20601533**: 无效的SQL指令被提供,可能是语法错误或不支持的操作。 11. **+21801537**: SQL指令的一致性检查失败,...
例如:`CREATE DATABASE mydb BUFFERPOOL BP1 TbspPath '/data/db2/mydb'`,这将创建名为mydb的数据库,并指定缓冲池和表空间路径。 4. **数据导入** - DB2支持多种数据导入方式,包括使用`LOAD`命令、SQL INSERT...
- 视图:虚拟表,基于一个或多个表的查询结果,提供数据抽象和安全性。 - 存储过程和函数:预编译的SQL代码集合,可以执行复杂的业务逻辑。 6. 数据操作: - 插入数据:使用`INSERT INTO`语句向表中添加新记录。...
1. 数据库创建:使用`db2 create database dbname`命令创建新的数据库。 2. 表空间与表:定义表空间用于存储数据,创建表则使用`CREATE TABLE`语句,定义字段、数据类型、主键等。 3. 视图与索引:视图是虚拟表,...
该命令将返回一系列锁的相关信息,例如锁的时间戳、数据库名称、代理ID、应用程序名称、用户标识符、表空间名称、模式名称、表名称、文件ID、锁对象类型、锁名、锁模式、锁状态、锁升级方式以及分区号等。...
4. 执行`db2look –d <dbname> -e –a –l –o <dbname>.sql`,导出数据库对象创建脚本。 ##### 3.2 导出数据库数据 数据导出步骤如下: 1. 在导出目录下创建一个子目录用于存放导出数据,如`db2move`。 2. 使用`...
- `USER db2admin`: 使用db2admin用户进行连接。 - `USING 8301206`: 输入密码8301206进行认证。 #### 三、建立别名 **命令示例:** ```sql CREATE ALIAS DB2ADMIN.TABLES FOR SYSSTAT.TABLES; CREATE ALIAS DB2...
3. **数据库创建与管理**:掌握如何创建、修改和删除数据库,包括定义数据库模式、表、索引、视图和存储过程。理解事务管理、并发控制以及数据完整性约束。 4. **性能优化**:学习监控DB2性能的工具和方法,如db2...
- **DB2控制中心**:作为IBM DB2数据库系统的核心管理工具之一,主要用于监控和管理DB2环境中的各种资源,如数据库实例、表空间等。通过图形化的界面,用户能够直观地进行数据库的管理与操作。 #### 二、DB2控制...
使用这些选项,可以根据需求生成不同级别的DDL脚本,包括表、视图、模式、触发器等。 以上就是DB2数据库在导出表结构和数据过程中涉及的主要知识点,包括基本的数据库管理操作,如创建、连接、备份、恢复以及SQL...
10. **DB2对象操纵**:使用Control Center或其他工具,用户可以创建、修改和删除数据库对象,如表、索引、视图、存储过程等。 这些内容覆盖了DB2的基本概念、管理和安全操作,是准备DB2-730认证考试的重要学习资源...
- **模式**:在DB2中,模式是一个命名空间,用于组织数据库对象,如表、视图和索引。它可以看作是数据库中的一个分区或者子集。 2. **DB2数据类型** - **字符串变长字符串**:例如VARCHAR,允许存储可变长度的...