DB2模式

本章介紹和描述模式的概念。

介紹

模式是數據庫中的邏輯分類命名對象的集合。

在數據庫中,不能創建具有相同名稱的多個數據庫對象。要執行此操作,模式提供了一組環境。可以在數據庫中創建多個模式,也可以創建多個同名的數據庫對象,用不同的模式組。

schemas

模式可以包含表,函數,索引,表空間,過程,觸發器等。例如,您可以創建命名爲「Professional」和「Personal」爲「employee」數據庫中的兩個不同的模式。它能夠使兩個不同的表具有相同名稱的「employee」。在這種環境中,一個表具有專業的信息,而另一個具有僱員的個人信息。儘管有兩個表具有相同的名稱,他們有兩個不同的模式「Personal」和「Professional」。因此,可以使用戶不會遇到任何問題的工作。當有對錶的命名約束,此功能非常有用。

讓我們來看看相關模式的幾個命令:

獲得當前活動的模式

語法:

db2 get schema

例如:[爲了獲得當前數據庫架構]

db2 get schema

以目前的環境設置另一個模式

語法:

db2 set schema=<schema_name>

例如:[要整理'schema1「到當前實例環境]

db2 set schema=schema1

創建新模式

語法:[要創建具有授權的用戶ID的新模式]

db2 create schema <schema_name> authroization <inst_user>

例如:要創建「schema1」模式使用授權「db2inst2」]

db2 create schema schema1 authorization db2inst2

練習

讓我們創建具有相同名稱的兩個不同的表,但它們分別在兩種不同的模式。在這裏,將創建員工表有兩個不同的模式,一個用於個人及其他專業信息。

步驟1:創建兩個模式。

模式1:[要創建一個模式名爲professional]

db2 create schema professional authorization db2inst2

模式1:[ 要創建一個模式名爲personal ] 

db2 create schema personal authorization db2inst2

第 2 步:創建兩個表具有相同名稱的員工詳細信息

表1: professional.employee

[使用模式名「professional」在數據庫中創建新表'employee']

db2 create table professional.employee(id number, name
varchar(20), profession varchar(20), join_date date, salary number);

表2:  personal.employee

[要在同一個數據庫中的新表'employee',使用模式名稱'personal']

db2 create table personal.employee(id number, name
varchar(20), d_birth date, phone bigint, address
varchar(200));

在執行這些步驟後,會得到兩個表具有相同名稱的「employee」,在兩個不同的模式。