📜  DB2-模式

📅  最后修改于: 2020-11-28 13:21:32             🧑  作者: Mango


本章介绍并描述了模式的概念。

介绍

模式是在数据库中按逻辑分类的命名对象的集合。

在数据库中,不能创建多个具有相同名称的数据库对象。为此,该架构提供了一个组环境。您可以在一个数据库中创建多个架构,并且可以创建具有相同名称,不同架构组的多个数据库对象。

模式

模式可以包含表,函数,索引,表空间,过程,触发器等。例如,您为“员工”数据库创建了两个不同的模式,分别命名为“专业”和“个人”。可以使用相同的名称“ Employee”创建两个不同的表。在这种环境下,一个表具有专业信息,另一表具有雇员的个人信息。尽管有两个具有相同名称的表,但它们具有两个不同的模式“个人”和“专业”。因此,用户可以同时使用两者而不会遇到任何问题。当表命名受到限制时,此功能很有用。

让我们看一些与模式相关的命令:

获取当前活动的架构

句法:

db2 get schema  

示例:[获取当前数据库模式]

db2 get schema   

为当前环境设置另一个模式

句法:

db2 set schema=  

示例:[将’schema1’安排到当前实例环境中]

db2 set schema=schema1 

创建一个新的模式

语法:[使用授权的用户ID创建新架构]

db2 create schema  authroization  

示例:[创建使用’db2inst2授权的“ schema1”模式]]

db2 create schema schema1 authorization db2inst2 

行使

让我们创建两个具有相同名称但两个模式不同的表。在这里,您可以使用两种不同的模式创建员工表,一种用于个人,另一种用于专业信息。

步骤1 :创建两个架构。

模式1 :[创建名为Professional的模式]

db2 create schema professional authorization db2inst2 

模式2 :[创建名为个人的模式]

db2 create schema personal authorization db2inst2

步骤2 :为员工详细信息创建两个名称相同的表

表1 :专业人员

[要使用模式名称“ 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”的表,并具有两个不同的模式。