DB2 Schema是命名對象的集合,在資料庫中進行邏輯分類。
Schema 叫作架構,也叫模式。
在資料庫中,無法創建具有相同名稱的多個數據庫對象。 為此,架構(Schema)提供了一個組環境。
在資料庫中創建多個模式,也可以在具有相同名稱和不同模式組的多個數據庫對象中創建多個模式。
模式可以包含表,函數,索引,表空間,過程,觸發器等。
例如,employee
資料庫創建兩個名稱為Regular
和Parttime
的模式。
還可以創建兩個具有相同名稱Employee
的不同表,其中一個表存放常規資訊,另一個表存放employee
的兼職資訊。 它實際上沒有兩個具有相同名稱的表,這是它們在兩個不同的模式Regular
和Parttime
之下。
它可以方便用戶使用它們而不會遇到任何問題。 當表的命名存在約束時,此功能非常有用。
模式的表示圖 -
獲取當前活動的架構
語法:
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的新模式架構。 使用授權用戶:zaixian
創建一個名稱為new_schema
的模式架構。
db2 create schema new_schema authorization zaixian
創建兩個具有相同名稱但兩個不同模式的不同表。 在這裏,使用兩個不同的模式創建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)"