DB2 - Esquemas

Este capítulo presenta y describe el concepto de esquema.

Introducción

Un esquema es una colección de objetos con nombre clasificados lógicamente en la base de datos.

En una base de datos, no puede crear varios objetos de base de datos con el mismo nombre. Para hacerlo, el esquema proporciona un entorno de grupo. Puede crear varios esquemas en una base de datos y puede crear varios objetos de base de datos con el mismo nombre, con diferentes grupos de esquemas.

Un esquema puede contener tablas, funciones, índices, espacios de tabla, procedimientos, disparadores, etc. Por ejemplo, crea dos esquemas diferentes denominados "Profesional" y "Personal" para una base de datos de "empleados". Es posible realizar dos tablas diferentes con el mismo nombre "Empleado". En este entorno, una tabla tiene información profesional y la otra tiene información personal del empleado. A pesar de tener dos mesas con el mismo nombre, tienen dos esquemas diferentes “Personal” y “Profesional”. Por tanto, el usuario puede trabajar con ambos sin encontrar ningún problema. Esta característica es útil cuando existen restricciones en el nombre de las tablas.

Veamos algunos comandos relacionados con Schema:

Obtener el esquema activo actualmente

Syntax:

db2 get schema

Example: [Para obtener el esquema de la base de datos actual]

db2 get schema

Establecer otro esquema para el entorno actual

Syntax:

db2 set schema=<schema_name>

Example: [Para organizar 'esquema1' en el entorno de instancia actual]

db2 set schema=schema1

Creando un nuevo esquema

Syntax: [Para crear un nuevo esquema con ID de usuario autorizado]

db2 create schema <schema_name> authroization <inst_user>

Example: [Para crear el esquema “esquema1” autorizado con 'db2inst2 ”]

db2 create schema schema1 authorization db2inst2

Ejercicio

Creemos dos tablas diferentes con el mismo nombre pero con dos esquemas diferentes. Aquí, crea una tabla de empleados con dos esquemas diferentes, uno para información personal y otro para información profesional.

Step 1: Crea dos esquemas.

Schema 1: [Para crear un esquema denominado profesional]

db2 create schema professional authorization db2inst2

Schema 2: [Para crear un esquema llamado personal]

db2 create schema personal authorization db2inst2

Step 2: Crea dos tablas con el mismo nombre para los detalles del empleado

Table1: professional.employee

[Para crear una nueva tabla 'empleado' en la base de datos usando el nombre de esquema 'profesional']

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

Table2: personal.employee

[Para crear una nueva tabla 'empleado' en la misma base de datos, con el nombre de esquema 'personal']

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

Después de ejecutar estos pasos, obtiene dos tablas con el mismo nombre 'empleado', con dos esquemas diferentes.