DB2 - 模式

  • 简述

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

    模式是在数据库中按逻辑分类的命名对象的集合。
    在一个数据库中,您不能创建多个同名的数据库对象。为此,模式提供了一个组环境。您可以在数据库中创建多个模式,并且可以使用不同的模式组创建多个具有相同名称的数据库对象。
    图式
    模式可以包含表、函数、索引、表空间、过程、触发器等。例如,您为“员工”数据库创建了两个不同的模式,分别命名为“专业”和“个人”。可以创建两个具有相同名称“Employee”的不同表。在这种环境下,一张表有专业信息,另一张有员工的个人信息。尽管有两个同名的表,但它们有两个不同的模式“个人”和“专业”。因此,用户可以同时使用两者而不会遇到任何问题。当对表的命名有限制时,此功能很有用。
    让我们看一些与 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 
    
  • 锻炼

    让我们创建两个具有相同名称但具有两个不同模式的不同表。在这里,您创建具有两种不同模式的员工表,一种用于个人信息,另一种用于专业信息。
    步骤 1: 创建两个模式。
    Schema 1:[创建名为专业的模式]
    
    db2 create schema professional authorization db2inst2 
    
    Schema 2:[创建名为personal的模式]
    
    db2 create schema personal authorization db2inst2
    
    步骤 2:为员工详细信息创建两个具有相同名称的表
    Table1: 专业的.员工
    [使用模式名称“专业”在数据库中创建新表“员工”]
    
    db2 create table professional.employee(id number, name 
    varchar(20), profession varchar(20), join_date date, 
    salary number); 
    
    Table2: 个人.员工
    [在同一个数据库中创建一个新表'employee',模式名称为'personal']
    
    db2 create table personal.employee(id number, name 
    varchar(20), d_birth date, phone bigint, address 
    varchar(200));  
    
    执行这些步骤后,您将获得两个具有相同名称“employee”的表,具有两个不同的模式。