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.