Ir al contenido principal

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 ✌...!!!

Comentarios

Entradas más populares de este blog

Habilitar Usuario HR Oracle

Al realizar la primera instalación del Oracle, el usuario HR por defecto está bloqueado y por ende no podemos loguearnos como dicho usuario, lo que debe hacer son los siguiente pasos, aplicables para Linux o Windows.
1. Conectarse como usuario system o sysdba + contraseña haciendo uso del comando connect.
Usuario: system
Password: xxxx 


2. Hacer uso  del comando alter user hr account unlock desbloqueamos la cuenta.
alter user hr account unlock;

3. Escribimos el comando alter user HR identified by hr; con esto estamos diciendo que la contraseña será hr.

alter user HR identified by hr;

4. Ahora testeamos la conexión con el comando - conn hr/hr@xe. Si deseas después de conectarnos se puede realizar un select a la tabla employees del hr.


Resultado del select realizado
5. Con todos estos pasos realizados ya podemos logearnos desde cualquier IDE como el usuario hr  y la contraseña hr que definimos en el paso 3. 
Para finalizar nos loguearemos con el IDE Oracle SQL Developer.

Espero les sea de utilidad,…

Usuario SYS y SYSTEM - ORACLE

Usuario SYS y SYSTEM
Ambos usuario son creados de forma automática al crear la base de datos ORACLE y se otorga el rol de DBA.

SYS (password por defecto: CHANGE_ON_INSTALL).
SYSTEM (password por defecto: MANAGER).

Lo que se recomienda es cambiar el password de ambos usuarios por el tema de seguridad.

SYS:
Todas las tablas y vistas para el diccionario de datos de la base de datos están almacenados en el esquema SYS. Estas tablas y vistas son críticas para el funcionamiento de la base de datos ORACLE. Para mantener la integridad del diccionario de datos, las tablas del esquema SYS son manipulados solo por la base de datos. Nunca se debería modificar algo o crear tablas en el esquema del usuario SYS.

SYSTEM:
El usuario SYSTEM se utiliza para crear tablas y vistas adicionales que muestran información administrativa, tablas internas y vistas utilizado por varias opciones y herramientas de la base de datos ORACLE. No se recomienda utilizar el esquema SYSTEM para almacenar tablas de interés para usu…

Parámetro de entrada y salida – PL/SQL

Parámetro de entrada y salida – PL/SQL:
Los parámetros de entrada y salida no son los parámetros de inicialización de la base de datos ORACLE. Los parámetros de entra y salida son utilizados mayormente en implementaciones de funciones, procedimientos almacenados o bloques de código bajo el lenguaje del PL/SQL, se considera que ambos parámetros (entra y salida) puedan realizar operaciones en el mismo bloque PL/SQL, es decir, si enviamos un parámetro de entrada hará que cumpla cierta operación y retornara los valores de salida de dicha operación procesada de acuerdo al parámetro de ingresado. Es de acuerdo al caso que nos presenta en la implementación.
Algo importante al definir los parámetros, es saber y considerar cuántos tipos de parámetro existe si solo hablamos de entrada y salida, en realidad mi determinación seria 3 tipos:

Parámetros:

IN – entrada
OUT – salida
IN OUT – entrada salida

Parámetro IN – entrada:
El comportamiento común de estés tipos de parámetros es estar siempre pendiente d…