- DB2 教程
- 主页
- DB2 - 简介
- DB2 - 服务器安装
- DB2 - 实例
- DB2 - 数据库
- DB2 - 缓冲池
- DB2 - 表空间
- DB2 - 存储组
- DB2 - 模式
- DB2 - 数据类型
- DB2 - 表
- DB2 - 别名
- DB2 - 约束
- DB2 - 索引
- DB2 - 触发器
- DB2 - 序列
- DB2 - 视图
- DB2 与 XML
- DB2 - 备份和恢复
- DB2 - 数据库安全
- DB2 - 角色
- DB2 - LDAP
- DB2 有用资源
- DB2 - 问答
- DB2 - 快速指南
- DB2 - 有用资源
- DB2 - 讨论
DB2 - 模式
本章介绍并描述了模式的概念。
简介
模式是数据库中逻辑分类的一组命名对象。
在数据库中,您不能创建多个同名的数据库对象。为此,模式提供了组环境。您可以在数据库中创建多个模式,并且可以在不同的模式组中创建多个同名的数据库对象。
模式可以包含表、函数、索引、表空间、过程、触发器等。例如,您可以为“员工”数据库创建两个名为“Professional”(专业)和“Personal”(个人)的不同模式。可以创建两个同名的表“Employee”(员工)。在这种情况下,一个表包含专业信息,另一个表包含员工的个人信息。尽管有两个同名的表,但它们具有两个不同的模式“Personal”和“Professional”。因此,用户可以在使用两者时不会遇到任何问题。当对表的命名有限制时,此功能非常有用。
让我们看看一些与模式相关的命令
获取当前活动的模式
语法
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
练习
让我们创建两个同名但不同模式的表。在这里,您将使用两个不同的模式创建员工表,一个用于个人信息,另一个用于专业信息。
步骤 1:创建两个模式。
模式 1:[创建名为 professional 的模式]
db2 create schema professional authorization db2inst2
模式 2:[创建名为 personal 的模式]
db2 create schema personal authorization db2inst2
步骤 2:创建两个同名表来存储员工详细信息
表 1:professional.employee
[使用模式名称“professional”在数据库中创建一个新的表“employee”]
db2 create table professional.employee(id number, name varchar(20), profession varchar(20), join_date date, salary number);
表 2:personal.employee
[在同一个数据库中,使用模式名称“personal”创建一个新的表“employee”]
db2 create table personal.employee(id number, name varchar(20), d_birth date, phone bigint, address varchar(200));
执行这些步骤后,您将得到两个同名(employee)但不同模式的表。