DB2模式架构

DB2 Schema是命名对象的集合,在数据库中进行逻辑分类。

Schema 叫作架构,也叫模式。

在数据库中,无法创建具有相同名称的多个数据库对象。 为此,架构(Schema)提供了一个组环境。

在数据库中创建多个模式,也可以在具有相同名称和不同模式组的多个数据库对象中创建多个模式。

模式可以包含表,函数,索引,表空间,过程,触发器等。

例如,employee 数据库创建两个名称为RegularParttime 的模式。

还可以创建两个具有相同名称Employee 的不同表,其中一个表存放常规信息,另一个表存放employee的兼职信息。 它实际上没有两个具有相同名称的表,这是它们在两个不同的模式RegularParttime 之下。

它可以方便用户使用它们而不会遇到任何问题。 当表的命名存在约束时,此功能非常有用。

模式的表示图 -

获取当前活动的架构

语法:

db2 values current schema

假设有一个数据库 - employee ,执行以下命令创建数据库:

$ db2start
$ db2 CREATE DATABASE employee
$ db2 activate db employee
$ db2 connect to employee

输出结果如下:

举个例子来获取当前的数据库模式,使用以下命令获取和更改登录的当前模式:

db2 values current schema

输出结果如下:

将另一个模式设置到当前环境

语法:

db2 set schema <SchemaName>

示例:

使用以下命令更改模式架构:

db2 set schema=changed_schema

执行上面命令,如下所示:

验证更改的模式架构

可以使用以下命令验证是否已成功更改模式架构:

db2 values current schema

创建一个新的模式架构

语法:

db2 create schema <schema_name> authroization <inst_user>

示例:

创建一个具有不同授权用户ID的新模式架构。 使用授权用户:jb51创建一个名称为new_schema的模式架构。

db2 create schema new_schema authorization jb51

创建两个具有相同名称但两个不同模式的不同表。 在这里,使用两个不同的模式创建employee表,一个使用Regular模式,另一个使用Parttime模式。

第1步 :创建两个模式。

模式1:[创建名称为Regular的模式]

db2 create schema Regular authorization db2inst1

模式2:[创建名称为Parttime的模式]

db2 create schema Parttime authorization db2inst1

现在可以看到两个命令都已成功执行。

创建表1 -

db2 create table Regular.employee (id integer, name varchar(20), job varchar(20), join_date date, salary integer)

创建表2 -

db2 create table Parttime.employee (id integer, name varchar(20), job varchar(20), join_date date, salary integer)