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的新模式架構。 使用授權使用者:yiibai
建立一個名稱為new_schema
的模式架構。
db2 create schema new_schema authorization yiibai
建立兩個具有相同名稱但兩個不同模式的不同表。 在這裡,使用兩個不同的模式建立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)"