DB2 - 模式



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

簡介

模式是資料庫中邏輯分類的一組命名物件。

在資料庫中,您不能建立多個同名的資料庫物件。為此,模式提供了組環境。您可以在資料庫中建立多個模式,並且可以在不同的模式組中建立多個同名的資料庫物件。

schemas

模式可以包含表、函式、索引、表空間、過程、觸發器等。例如,您可以為“員工”資料庫建立兩個名為“Professional”(專業)和“Personal”(個人)的不同模式。可以建立兩個同名的表“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> 

示例:[使用“db2inst2”授權建立“schema1”模式]

db2 create schema schema1 authorization db2inst2 

練習

讓我們建立兩個同名但不同模式的表。在這裡,您將使用兩個不同的模式建立員工表,一個用於個人資訊,另一個用於專業資訊。

步驟 1:建立兩個模式。

模式 1:[建立名為 professional 的模式]

db2 create schema professional authorization db2inst2 

模式 2:[建立名為 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

[在同一個資料庫中,使用模式名稱“personal”建立一個新的表“employee”]

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

執行這些步驟後,您將得到兩個同名(employee)但不同模式的表。

廣告