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的新模式架構。 使用授權使用者: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)"