教程 > DB2 教程 > DB2 基础 阅读:159

DB2 模式 Schema

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


简介

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

在一个数据库中,不能创建多个具有相同名称的数据库对象。 为此,模式提供了一个组环境。 我们可以在数据库中创建多个模式,也可以创建多个具有相同名称但具有不同模式组的数据库对象。

DB2 模式
DB2 模式

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

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


获取当前活动的模式

语法

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

练习

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

第一步:创建两个模式。

模式 1

创建名为 professional 的模式

db2 create schema professional authorization db2inst2

模式 2

创建名为 personal 的模式

db2 create schema personal authorization db2inst2

第二步:为 Employee details创建两个同名的表

表 1professional.employee

使用模式名称“professional”在数据库中创建一个新表“employee

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

表 2personal.employee

在同一个数据库中创建一个新表“employee”,模式名称为“personal

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

执行这些步骤后,我们将获得两个具有相同名称“employee”的表,它们具有两个不同的模式。

查看笔记

扫码一下
查看教程更方便