📅  最后修改于: 2020-11-27 05:22:40             🧑  作者: Mango
DB2 Schema是在数据库中按逻辑分类的命名对象的集合。
在数据库中,无法创建多个具有相同名称的数据库对象。为此,架构提供了一个组环境。
您可以在一个数据库中创建多个模式,也可以在具有不同名称的数据库组中创建多个具有相同名称的数据库对象。
模式可以包含表,函数,索引,表空间,过程,触发器等。
例如,您为“员工”数据库创建两个不同的架构,分别命名为“常规”和“兼职”。
您还可以创建两个具有相同名称“ Employee”的不同表,其中一个表具有常规信息,而另一个表具有employee的兼职信息。它实际上没有两个具有相同名称的表,尽管它们具有两个不同的架构“ Regular”和“ Parttime”。
它方便用户使用两者而不会遇到任何问题。当表命名受到限制时,此功能很有用。
句法:
db2 values current schema
我们有一个数据库“员工”:
让我们举一个例子来获取当前的数据库模式:
使用以下命令来获取和更改您登录的当前架构:
db2 values current schema
输出:
句法:
db2 set schema
例:
让我们使用以下命令来更改架构:
db2 set schema=changed_schema
输出:
您可以使用以下命令来验证架构已成功更改:
db2 values current schema
句法:
db2 create schema authroization
例:
让我们创建一个具有不同授权用户ID的新架构。创建具有“ sonoo”授权的“ new_schema”架构
db2 create schema new_schema authorization sonoo
输出:
让我们创建两个具有相同名称但两个模式不同的表。在这里,您将创建具有两种不同模式的员工表,一种用于常规,另一种用于兼职。
步骤1:创建两个架构。
模式1: [创建名为Regular的模式]
db2 create schema常规授权db2admin
模式2: [创建名为Parttime的模式]
db2创建模式兼职授权db2admin
现在您可以看到两个命令都已成功执行。
现在为员工详细信息创建两个名称相同的表
表1:正式雇员
db2 create table Regular.employee(id number, name
varchar(20), job varchar(20), join_date date,
salary number);