DB2模式
本章介紹和描述模式的概念。
介紹
模式是數據庫中的邏輯分類命名對象的集合。
在數據庫中,不能創建具有相同名稱的多個數據庫對象。要執行此操作,模式提供了一組環境。可以在數據庫中創建多個模式,也可以創建多個同名的數據庫對象,用不同的模式組。
模式可以包含表,函數,索引,表空間,過程,觸發器等。例如,您可以創建命名為“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”,在兩個不同的模式。