Buenas noches queridos lectores, el día de hoy veremos como trabajar con esquemas en SQL SERVER lo que se conoce como SCHEMA. Vamos a empezar definiendo lo que son esquemas, y después pasaremos a la práctica.
Un esquema es un espacio de nombres de la base de datos, que nos permitirá agrupar los objetos, ya sea por equipo de desarrollo o para poder gestionar mejor sus permisos, no es tema de hoy lo permisos a los esquemas, solamente veremos para que sirven y como crearlos.
Cuando creamos una objeto (Tabla, procedimiento, función, etc.), y no le especificamos un esquema, éste automáticamente le asignará el esquema dbo, esto, debido a que el esquema dbo, es el esquema predeterminado, si quisiéramos crear un objeto en un esquema determinado, tendríamos que especificarlo.
Pero vamos a pasar a la práctica que es como aprendemos y lo que nos gusta.
Primero, vamos a echar un ojo a los esquemas de sistema que están predeterminados y para ello utilizaremos la vista de sistema sys.schemas de la siguiente manera:
El resultado de esa consulta será mas o menos lo que sigue:
Ya tenemos nuestra tabla, ahora realizaremos una consulta para averiguar las tablas que tienen los esquemas y para eso utilizaremos varias vistas de sistema por ejemplo sys.object y la mencionada sys.schemas:
Como podemos apreciar en la consulta, estamos uniendo mediante JOIN las vistas sys.object y sys.schemas y queremos que nos muestre únicamente las tablas de usuario por eso en la sentencia WHERE utilizamos el type = 'U'. El resultado queda como sigue:
Ahora lo que seguirá, será crear el Schema y para eso vamos a utilizar la sentencia CREATE SCHEMA de la siguiente manera:
Ejemplo 2: Crear un esquema llamado EJEMPLOS
Mediante esta sentencia, estamos creando un esquema ya sea para agrupar los objetos o darles permiso posteriormente. Ahora vamos a corroborar que existen más esquemas y repetiremos la consulta:
Como ven, el esquema se ha creado correctamente, pero ¿como creamos objetos en el nuevo esquema?. Pues será muy sencillo, basta con indicarle al nombre del objeto, el esquema, seguido del nombre, como se muestra en el siguiente ejemplo:
Ejemplo 3: Crear una tabla llama Pruebas en el esquema Ejemplos
Ahora realizaremos nuevamente la consulta para revisar los objetos y el esquema que tienen:
Insertamos el registro y damos un select para comprobar que se ingresó correctamente, como podemos observar, tenemos que anteponer el nombre del schema seguido de un punto y el nombre del objeto.
Un esquema es un espacio de nombres de la base de datos, que nos permitirá agrupar los objetos, ya sea por equipo de desarrollo o para poder gestionar mejor sus permisos, no es tema de hoy lo permisos a los esquemas, solamente veremos para que sirven y como crearlos.
Cuando creamos una objeto (Tabla, procedimiento, función, etc.), y no le especificamos un esquema, éste automáticamente le asignará el esquema dbo, esto, debido a que el esquema dbo, es el esquema predeterminado, si quisiéramos crear un objeto en un esquema determinado, tendríamos que especificarlo.
Pero vamos a pasar a la práctica que es como aprendemos y lo que nos gusta.
Primero, vamos a echar un ojo a los esquemas de sistema que están predeterminados y para ello utilizaremos la vista de sistema sys.schemas de la siguiente manera:
use pruebas
go
select * from sys.schemas
Como podemos observar, ya existen algunos schemas predeterminados, que nos ayudarán a gestionar los permisos después, y como también vemos, el primer esquema es el dbo, que como les comentaba es el predeterminado.
Para poder ejemplificar lo dicho, vamos a crear una tabla cualquiera, no especificaremos el esquema y podremos apreciar que se creará en el esquema dbo.
Ejemplo 1: Crear una tabla llamada Pruebas en el esquema dbo
use pruebas
go
create table
empleados
(id int primary key identity,
RFC varchar(15),
nombre varchar(100),
apellido varchar(100))
use pruebas
go
select sc.name, o.name from sys.objects o
join sys.schemas sc on o.schema_id = sc.schema_id
where o.type = 'U'
Como muestra el resultado de la consulta, tenemos únicamente una tabla (la que acabamos de crear) en el esquema dbo
Ahora lo que seguirá, será crear el Schema y para eso vamos a utilizar la sentencia CREATE SCHEMA de la siguiente manera:
Ejemplo 2: Crear un esquema llamado EJEMPLOS
use pruebas
go
CREATE SCHEMA EJEMPLOS
Mediante esta sentencia, estamos creando un esquema ya sea para agrupar los objetos o darles permiso posteriormente. Ahora vamos a corroborar que existen más esquemas y repetiremos la consulta:
use pruebas
go
select * from sys.schemas
Ejemplo 3: Crear una tabla llama Pruebas en el esquema Ejemplos
use PRUEBAS
GO
CREATE TABLE EJEMPLOS.Tabla1
(id int identity,
campo1 varchar(max))
Ahora realizaremos nuevamente la consulta para revisar los objetos y el esquema que tienen:
use pruebas
go
select sc.name, o.name from sys.objects o
join sys.schemas sc on o.schema_id = sc.schema_id
where o.type = 'U'
Como vemos, ya tenemos dos tablas en diferente esquema, para poder llenar la tabla, sería el mismo procedimiento, observemos el siguiente ejemplo.
Ejemplo 4: Llenar la tabla Tabla1, mediante el comando INSERT
use PRUEBAS
go
insert into ejemplos.tabla1 (campo1) values ('Ejercicio SCHEMAS')
go
select * from ejemplos.tabla1
Hasta aquí el post, espero haya sido de su agrado y de utilidad, cualquier cosa estoy a la órden, no duden en preguntar. Espero compartan, comenten o le den clic a algún anuncio patrocinado.
Muchas Gracias
No hay comentarios.:
Publicar un comentario