位置:首頁 > 數據庫 > DB2教學 > DB2模式

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”,在兩個不同的模式。