Ticker

6/recent/ticker-posts

CRUD - Base de Datos con Microsoft SQL Server 2019

Hoy en día en el mundo empresarial existen programas denominados como "Sistemas gestores de bases de datos", simplemente SGBD (abreviado en inglés como DBMS - Database Management System), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. En el mercado existen varias alternativas, algunas libres, como las ofrecidas por marcas como Microsoft,  Oracle, Sybase ASE, PostgreSQL o MySQL.

Microsoft SQL Server es la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos. Es un sistema de gestión de base de datos relacional desarrollado como un servidor que da servicio a otras aplicaciones de software que pueden funcionar ya sea en el mismo ordenador o en otro ordenador a través de una red (incluyendo Internet).
Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono.

Ahora bien antes de iniciar la creación de la base de datos, validaremos que el servicio de SQL Server este arriba. Para lo cual haremos uso del comando services.msc desde la aplicación Ejecutar en Window10.

Ingresamos en comando y clic en Aceptar

Seguidamente ubicamos el Servicio SQL Server (SQLEXPRESS) y realizamos doble clic


Clic en el botón iniciar para levantar el servicio, finalmente clic en aplicar y aceptar (desde esta propiedad se puede detener, pausar y reanudar el servicio del SQL Server).

También se puede ingresar desde el panel de control, herramientas administrativas y clic en servicios


Creando objetos de base de datos con SQL Server Management Studio:

Iniciamos con la autenticación al servidor:

Para lo cual debemos conectarnos al servidor en modo de autenticación Mixto
  1. Modo Windows: En modo Windows permite conectar con la base de datos usando credenciales de Windows (por ejemplo, conectando con un usuario de dominio).
  2. Modo Mixto: EN modo mixto permite, además de la anterior, autenticar usando credenciales definidas en el propio SQL. De esta manera, se podrán crear usuarios en el SQL Server, que sin necesidad de existir en el dominio, permitan el acceso a la base de datos.

Recordemos que durante una instalación de SQL Server, se podrá escoger el tipo de autenticación que se quiere usar por defecto.
Seleccionamos en tipo de motor de base datos, ingresamos el nombre del servidor, seleccionamos la autenticación e ingresamos el usuario, contraseña y para finalizar clic en Conectar.


Crear la base de datos:

Clic derecho en el directorio base de datos (databases) del explorador de objetos, clic en nuevo (new) del menú desplegable, seguidamente ingresamos el nombre, seleccionamos el propietario (Owner) de la base de datos (Clic en el boton ... ingresar SA - usuario por defecto, clic en validar nombre (Check Names) y clic en OK) y finalmente clic en aceptar.


Seguidamente creamos la tabla USUARIO en la base de datos de nombre BD_TEST que acabamos de crear.

Clic derecho en el directorio tablas, clic en el menú nuevo seleccionamos tabla e ingresamos el nombre de los campos y tipo de datos y para finalizar clic en guardar (botón guardar o clic en el menú archivo y clic en guardar tabla_1) y asignamos en nombre de USUARIO en el ventana Elegir nombre.
Estructura de tabla

Asignar nombre y clic en aceptar


Crear los procedimientos almacenados:

Clic derecho en el sub directorio procedimiento almacenado (Programmability\Stored Procedures), luego clic en procedimiento almacenado (Stored Procedures) - el mis procedimiento se realizará para los 4 procedimientos a crear:


C: Script - Procedimiento Almacenado Insertar

-- =============================================
-- Author:          <Author - Hadson Paredes>
-- Create date: <Create Date - 30-08-2020>
-- Description:     <Insertar registros>
-- =============================================
CREATE PROCEDURE SP_INSERTAR_USUARIO
 @usuario varchar(50)
,@contrasena varchar(250)
,@intentos int
,@nivelSeg decimal(18,0)
,@fechaReg date
AS
BEGIN
       SET NOCOUNT ON;
       INSERT INTO [dbo].[USUARIO]
           ([usuario]
           ,[contrasena]
           ,[intentos]
           ,[nivelSeg]
           ,[fechaReg])
     VALUES
           (@usuario
           ,@contrasena
           ,@intentos
           ,@nivelSeg
           ,@fechaReg)
END

R: Script - Procedimiento Almacenado Seleccionar

-- =============================================
-- Author:          <Author - Hadson Paredes>
-- Create date: <Create Date - 30-08-2020>
-- Description:     <Selecionar registros según id>
-- =============================================
CREATE PROCEDURE SP_SELECCIONAR_USUARIO
 @id int
AS
BEGIN
       SET NOCOUNT ON;
       SELECT  usuario
           ,contrasena
           ,intentos
           ,nivelSeg
           ,fechaReg
       FROM   [dbo].[USUARIO]
       WHERE  id = @id
END

U: Script - Procedimiento Almacenado Actualizar

-- =============================================
-- Author:          <Author - Hadson Paredes>
-- Create date: <Create Date - 30-08-2020>
-- Description:     <Actualizr registros según id>
-- =============================================
CREATE PROCEDURE SP_ACTUALIZAR_USUARIO
 @usuario varchar(50)
,@contrasena varchar(250)
,@intentos int
,@nivelSeg decimal(18,0)
,@fechaReg date
,@id int
AS
BEGIN
       SET NOCOUNT ON;
    UPDATE USUARIO
    SET     usuario = @usuario
                ,contrasena = @contrasena
           ,intentos = @intentos
           ,nivelSeg = @nivelSeg
           ,fechaReg = @fechaReg
       WHERE  id = @id
END

D: Script - Procedimiento Almacenado Eliminar

-- =============================================
-- Author:          <Author - Hadson Paredes>
-- Create date: <Create Date - 30-08-2020>
-- Description:     <Eliminar registros según id>
-- =============================================
CREATE PROCEDURE SP_ELIMINAR_USUARIO
 @id int
AS
BEGIN
       SET NOCOUNT ON;
       DELETE FROM USUARIO WHERE id = @id
END

Recuerda, actualizar el sub directorio procedimiento almacenados (Programmability\Stored Procedures) para poder visualizar los objetos creados.


Testear los procedimiento almacenados creados:

Para finalizar testearemos los procedimientos almacenados haciendo uso del mismo SQL Server Management Studio.

Clic derecho en el procedimiento SP_INSERTAR_USUARIO ingresar los valor de acuerdo a la lista de parámetros solicitados y clic en OK.
Ingresa al menos 3 registros para poder completar el proceso del CRUD
Debe repetir los mismos pasos para seleccionar, actualización y eliminación, con la diferenciación en los valores de los parámetros que solicita cada uno de ellos.

Finalmente debe validar ejecutando el procedimiento SP_SELECCIONAR_USUARIO o simplemente haciendo SELECT a la tabla USUARIO.
Resultado de: Select * From USUARIO

Recuerda, que al testear haciendo uso del mismo SQL Server Management Studio se irán creando diferentes script que pueden ser reutilizados para seguir insertando o manipulando los datos


Conclusión

Microsoft SQL Server es un sistema de gestión de base de datos relacional, desarrollado por la empresa Microsoft enfocado en el lenguaje de desarrollo utilizado es Transact-SQL, básicamente en la implementación del estándar ANSI del lenguaje SQL con el fin de manipular y recuperar datos, crear diferentes objetos como tablas, procedimientos almacenados, vistas ente otros. Este articulo fue elaborado con la finalidad de usarlo como referencia en futuras publicaciones donde se hace uso de base de datos relacional.

Puedes descargar los scripts de creación de procedimiento almacenados y scripts auto generados al realizar el test haciendo uso del SQL Server Management Studio.

CRUD - Base de Datos con Microsoft SQL Server 2019

Nuevamente gratitud a Dios 😊 por todo, y gracias a todos ustedes por la acogida de este nuevo articulo, éxitos y bendiciones para todos ✌...!!!

Publicar un comentario

0 Comentarios