DB2 - Esquemas

Este capítulo apresenta e descreve o conceito de Schema.

Introdução

Um esquema é uma coleção de objetos nomeados classificados logicamente no banco de dados.

Em um banco de dados, você não pode criar vários objetos de banco de dados com o mesmo nome. Para fazer isso, o esquema fornece um ambiente de grupo. Você pode criar vários esquemas em um banco de dados e pode criar vários objetos de banco de dados com o mesmo nome, com diferentes grupos de esquemas.

Um esquema pode conter tabelas, funções, índices, espaços de tabela, procedimentos, gatilhos, etc. Por exemplo, você cria dois esquemas diferentes denominados “Profissional” e “Pessoal” para um banco de dados de “funcionário”. É possível fazer duas tabelas diferentes com o mesmo nome “Funcionário”. Nesse ambiente, uma mesa contém informações profissionais e a outra, informações pessoais do funcionário. Apesar de possuírem duas tabelas com o mesmo nome, possuem dois esquemas distintos “Pessoal” e “Profissional”. Assim, o usuário pode trabalhar com ambos sem encontrar nenhum problema. Este recurso é útil quando há restrições na nomenclatura de tabelas.

Vamos ver alguns comandos relacionados ao Schema:

Obtendo o esquema atualmente ativo

Syntax:

db2 get schema

Example: [Para obter o esquema de banco de dados atual]

db2 get schema

Definir outro esquema para o ambiente atual

Syntax:

db2 set schema=<schema_name>

Example: [Para organizar 'schema1' no ambiente da instância atual]

db2 set schema=schema1

Criação de um novo esquema

Syntax: [Para criar um novo esquema com ID de usuário autorizado]

db2 create schema <schema_name> authroization <inst_user>

Example: [Para criar o esquema “schema1” autorizado com 'db2inst2 ”]

db2 create schema schema1 authorization db2inst2

Exercício

Vamos criar duas tabelas diferentes com o mesmo nome, mas dois esquemas diferentes. Aqui, você cria uma tabela de funcionários com dois esquemas diferentes, um para informações pessoais e outro para informações profissionais.

Step 1: Crie dois esquemas.

Schema 1: [Para criar um esquema denominado profissional]

db2 create schema professional authorization db2inst2

Schema 2: [Para criar um esquema denominado pessoal]

db2 create schema personal authorization db2inst2

Step 2: Crie duas tabelas com o mesmo nome para os detalhes do funcionário

Table1: profissional.empregado

[Para criar uma nova tabela 'funcionário' no banco de dados usando o nome do esquema 'profissional']

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

Table2: personal.employee

[Para criar uma nova tabela 'funcionário' no mesmo banco de dados, com o nome do esquema 'pessoal']

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

Depois de executar essas etapas, você obtém duas tabelas com o mesmo nome 'funcionário', com dois esquemas diferentes.