Db2 简明教程

DB2 - Schemas

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

Introduction

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

在数据库中,您无法创建名称相同的多个数据库对象。为此,模式提供了一个组环境。您可以在数据库中创建多个模式,并且可以创建名称相同但模式组不同的多个数据库对象。

schemas

模式可以包含表、函数、索引、表空间、过程、触发器等。例如,您可以为“employee”数据库创建两个名为“Professional”和“Personal”的不同模式。可以创建两个名称相同的不同表“Employee”。在此环境中,一个表包含专业信息,另一个表包含员工的个人信息。尽管有两个名称相同的表,但它们有两个不同的模式“Personal”和“Professional”。因此,用户可以在不遇到任何问题的情况下使用这两个表。当对表命名有约束时,此功能非常有用。

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

Getting currently active schema

Syntax:

db2 get schema

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

db2 get schema

Setting another schema to current environment

Syntax:

db2 set schema=<schema_name>

Example : [将“schema1”组织到当前实例环境]

db2 set schema=schema1

Creating a new Schema

Syntax : [使用授权用户 ID 创建新的模式]

db2 create schema <schema_name> authroization <inst_user>

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

db2 create schema schema1 authorization db2inst2

Exercise

让我们创建两个名称相同但模式不同的表。在此,您使用两个不同的模式创建雇员表,一个用于个人信息,另一个用于专业信息。

Step 1 : 创建两个架构。

Schema 1 : [创建名为 professional 的架构]

db2 create schema professional authorization db2inst2

Schema 2 : [创建名为 personal 的架构]

db2 create schema personal authorization db2inst2

Step 2 : 创建两个表格,名称相同,用于存放员工详细信息

Table1 : professional.employee

db2 create table professional.employee(id number, name
varchar(20), profession varchar(20), join_date date,
salary number);

Table2 : personal.employee

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

执行完这些步骤后,你将得到两个同名表格 'employee',它们有两个不同的架构。