Saltar al contenido

¿Qué es un esquema en SQL?

El esquema de la base de datos es una colección de objetos vinculados que representan las tablas de su base de datos. Está representado por un nombre de objeto y puede indicarse a los usuarios de DBA para fines de visualización o administración.

El mismo concepto también se puede aplicar cuando se trabaja con otros tipos de bases de datos, como instalaciones NoSQL, donde generalmente hay varias aplicaciones de administrador en lugar de una gran aplicación «principal» que maneja todo, desde funciones de almacenamiento/consulta hasta la salida de resultados a las interfaces de usuario.

Los esquemas siempre pertenecen a una base de datos y a su vez una base de datos suele tener mas de un esquema. por defecto las base de datos crean un esquema por defecto que es el «DBO» y todos los objetos creados a los cuales no se le especifica un esquema suelen crearse bajo este.

Ventajas de utilizar esquemas en SQL

  • Puede aplicar permisos de seguridad para separar y proteger los objetos de la base de datos.
  • Se puede administrar un grupo lógico de objetos de base de datos dentro de una base de datos.
  • Permite organizar los objetos por grupos dentro de una base de datos

Clausula CREATE SCHEMA de SQL Server

La clausula CREATE SCHEMA es parte de los comandos estándar de SQL para la creación de objetos o ddl el que cubrimos en este articulo.

CREATE SCHEMA schema_name [AUTHORIZATION owner_name]

  • Primero, especifique el nombre del esquema
  • En segundo lugar, especifique el usuario que será dueño de este esquema.

Ejemplo de como crear un esquema en SQL?

El siguiente ejemplo muestra cómo utilizar la instrucción CREATE SCHEMA para crear el esquema customer_services:

CREATE SCHEMA customer_services;

Ver ejemplo de esquema en sql server

Para este caso el dueño por defecto del esquema seria la misma persona que lo creo en este sentido no hace falta pasar el nombre del usuario dueño.

Como asignar un objeto a un esquema ?

al momento de crear cualquier objeto debemos especificar a que esquema pertenece indicando el nombre del esquema con un punto y luego el nombre que deseamos favor ver ejemplo de creacion de una tabla para el esquema creado.

  1. CREATE TABLE customer_services.productos
  2. ( itemid INT PRIMARY KEY IDENTITY,
  3. description VARCHAR(200),
  4. created_at DATETIME2 NOT NULL );

De esta forma hemos creado una tabla dentro de un esquema utilizando SQL Server Management Studio.

SQL Server ALTER SCHEMA con ejemplo

Aprenderá a utilizar SQL Server ALTER SCHEMA para transferir un elemento de un esquema a otro. Si mueve un objeto, por ejemplo, una tabla o un sinónimo, SQL Server no actualizará las referencias para estos objetos automáticamente.

Debe modificar manualmente las referencias para reflejar el nuevo nombre de esquema.

Ver ejemplo

CREATE TABLE DBO.offices
(
IDoficina INT
PRIMARY KEY IDENTITY,
nombre_oficina NVARCHAR(40) NOT NULL,
CorreoElectronico VARCHAR(100),
);

Veamos que al crear la tabla utilizamos el esquema DBO luego de creada nos indican que debemos mover esta tabla a un nuevo esquema. para esto veamos el siguiente ejemplo

ALTER SCHEMA sales TRANSFER OBJECT::dbo.offices;

Ahora la tabla se encuentra en el esquema nuevo pero todos los objetos a consultaban con la referencia DBO.offices deben utilizar SALES.OFFICES que seria la nueva forma de consultar la tabla. Ya que si tratamos de ejecutar cualquier consulta con el esquema DBO marcara el siguiente error:

Invalid object name ‘dbo.offices’ o nombre de objeto invalido

Como pudimos ver el comando alter no solo se puede usar para modificar columnas de una tabla sino que funciona para los esquemas por igual

Índice

    Cuales son los Tipos de esquema de base de datos?

    Esto se refiere al orden en el cual fue organizada la informacion de tu base de datos, los eschemas ademas de aplicar una capa de seguridad en la informacion almacenada tambien organizan y clasifican la informacion segun su tipo.

    Veamos Ejemplo de tipos de esquemas con restaurante

    Te voy recomendar evalues este diagrama a modo que veas como una base de datos puede ser organizada para que la informacion pueda ser clasificada segun su esquema.

    Eliminar un esquema en SQL

    La instrucción DROP SCHEMA le permite eliminar un esquema de una base de datos siempre y cuando este no tenga ningun objeto asociado en caso de existir no permitira que sea eliminado hasta tanto estos objetos sean tranferidos a otro esquema o sean eliminados.

    A continuación se muestra la sintaxis de la instrucción DROP SCHEMA:

    DROP SCHEMA schema_name;

    Los modelos de base de datos genéricos se basan en servidores Oracle, MySQL y SQLServer.


    El uso de un esquema es común para todas las bases de datos.

    De esta forma hemos aprendido todo lo referente a los esquemas su uso y los comando mas importantes que debemos conocer.