DB2 – esquemas

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

Introducción

Un esquema es una colección de objetos con nombre que se clasifican lógicamente en una base de datos.

No se pueden crear varios objetos de base de datos con el mismo nombre en una base de datos. Para ello, el esquema prevé un entorno grupal. 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.

esquemas

Un esquema puede contener tablas, funciones, índices, espacios de tabla, procedimientos, disparadores, etc. Por ejemplo, crea dos esquemas diferentes llamados «Profesional» y «Personal» para una base de datos de «empleados». Puede crear dos tablas diferentes con el mismo nombre «Empleado». En este entorno, una tabla contiene información profesional y la otra contiene información personal de los empleados. Aunque hay dos tablas con el mismo nombre, tienen dos esquemas diferentes: Personal y Professional. Por tanto, el usuario puede trabajar con ambos sin ningún problema. Esta función es útil cuando existen restricciones en la asignación de nombres a las tablas.

Veamos algunos comandos relacionados con el esquema:

Obteniendo el esquema activo actual

Sintaxis:

db2 get schema  

Ejemplo: [To get current database schema]

db2 get schema   

Establecer un esquema diferente para el entorno actual

Sintaxis:

db2 set schema=<schema_name>  

Ejemplo: [To arrange ‘schema1’ to current instance environment]

db2 set schema=schema1 

Creando un nuevo esquema

Sintaxis: [To create a new schema with authorized user id]

db2 create schema <schema_name> authroization <inst_user> 

Ejemplo: [To create “schema1” schema authorized with ‘db2inst2”]

db2 create schema schema1 authorization db2inst2 

Un 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.

Paso 1: Crea dos circuitos.

Esquema 1: [To create schema named professional]

db2 create schema professional authorization db2inst2 

Esquema 2: [To create schema named personal]

db2 create schema personal authorization db2inst2

Paso 2: Crea dos tablas con el mismo nombre para la información de los empleados

tabla 1: profesional.empleado

[To create a new table ‘employee’ in the database using schema name ‘professional’]

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

Tabla 2: personal.employee

[To create a new table ‘employee’ in the same database, with schema name ‘personal’]

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

Después de completar estos pasos, terminará con dos tablas con el mismo nombre «empleado» con dos esquemas diferentes.

🚫