本章介紹和描述模式的概念。
模式是數(shù)據(jù)庫中的邏輯分類命名對象的集合。
在數(shù)據(jù)庫中,不能創(chuàng)建具有相同名稱的多個數(shù)據(jù)庫對象。要執(zhí)行此操作,模式提供了一組環(huán)境??梢栽跀?shù)據(jù)庫中創(chuàng)建多個模式,也可以創(chuàng)建多個同名的數(shù)據(jù)庫對象,用不同的模式組。
模式可以包含表,函數(shù),索引,表空間,過程,觸發(fā)器等。例如,您可以創(chuàng)建命名為“Professional”和“Personal”為“employee”數(shù)據(jù)庫中的兩個不同的模式。它能夠使兩個不同的表具有相同名稱的“employee”。在這種環(huán)境中,一個表具有專業(yè)的信息,而另一個具有雇員的個人信息。盡管有兩個表具有相同的名稱,他們有兩個不同的模式“Personal”和“Professional”。因此,可以使用戶不會遇到任何問題的工作。當有對表的命名約束,此功能非常有用。
讓我們來看看相關模式的幾個命令:
語法:
db2 get schema
例如:[為了獲得當前數(shù)據(jù)庫架構]
db2 get schema
語法:
db2 set schema=<schema_name>
例如:[要整理'schema1“到當前實例環(huán)境]
db2 set schema=schema1
語法:[要創(chuàng)建具有授權的用戶ID的新模式]
db2 create schema <schema_name> authroization <inst_user>
例如:要創(chuàng)建“schema1”模式使用授權“db2inst2”]
db2 create schema schema1 authorization db2inst2
讓我們創(chuàng)建具有相同名稱的兩個不同的表,但它們分別在兩種不同的模式。在這里,將創(chuàng)建員工表有兩個不同的模式,一個用于個人及其他專業(yè)信息。
步驟1:創(chuàng)建兩個模式。
模式1:[要創(chuàng)建一個模式名為professional]
db2 create schema professional authorization db2inst2
模式1:[ 要創(chuàng)建一個模式名為personal ]
db2 create schema personal authorization db2inst2
第 2 步:創(chuàng)建兩個表具有相同名稱的員工詳細信息
表1: professional.employee
[使用模式名“professional”在數(shù)據(jù)庫中創(chuàng)建新表'employee']
db2 create table professional.employee(id number, name varchar(20), profession varchar(20), join_date date, salary number);
表2: personal.employee
[要在同一個數(shù)據(jù)庫中的新表'employee',使用模式名稱'personal']
db2 create table personal.employee(id number, name varchar(20), d_birth date, phone bigint, address varchar(200));
在執(zhí)行這些步驟后,會得到兩個表具有相同名稱的“employee”,在兩個不同的模式。