miércoles, 16 de enero de 2019

Trigger y Procedimientos almacenados.

                                         Trigger
Los Triggers o Disparadores son objetos que se asocian con tablas y se almacenan en la base de datos. Su nombre se deriva por el comportamiento que presentan en su funcionamiento, ya que se ejecutan cuando sucede algún evento sobre las tablas a las que se encuentra asociado. Los eventos que hacen que se ejecute un trigger son las operaciones de inserción (INSERT), borrado (DELETE) o actualización (UPDATE), ya que modifican los datos de una tabla.
La utilidad principal de un trigger es mejorar la administración de la base de datos, ya que no requieren que un usuario los ejecute. Por lo tanto, son empleados para implementar las REGLAS DE NEGOCIO (tipo especial de integridad) de una base de datos. Una Regla de Negocio es cualquier restricción, requerimiento, necesidad o actividad especial que debe ser verificada al momento de intentar agregar, borrar o actualizar la información de una base de datos. Los triggers pueden prevenir errores en los datos, modificar valores de una vista, sincronizar tablas, entre otros.

Tipos

Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:
  • Row Triggers (o Disparadores de fila): son aquellas que se ejecutaran cada vez que se llama al disparador desde la tabla asociada al trigger
  • Statement Triggers (o Disparadores de secuencia): son aquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
Pueden ser de sesión y almacenados; pero no son recomendables

Ejemplo

Un sencillo ejemplo (para SQL Server) sería crear un Trigger para insertar un pedido de algún producto cuando la cantidad de éste, en nuestro almacén, sea inferior a un valor dado.

CREATE TRIGGER TR_ARTICULO
 ON ARTICULOS 
 AFTER UPDATE 
  AS 
   BEGIN
    INSERT INTO HCO_ARTICULO 
    (IDARTICULO, STOCK, FECHA)
    SELECT ID_ARTICULO, STOCK, GETDATE()
    FROM INSERTED 
   END 
   
INSERT INTO ARTICULOS VALUES (1, 'MEMORIA', 12, '12/03/2014')

SELECT * FROM ARTICULOS

UPDATE ARTICULOS
SET STOCK = STOCK - 20
WHERE ID_ARTICULO = 1

SELECT * FROM HCO_ARTICULO
Resultado de imagen para que son los trigger
Procedimientos almacenados.

Un procedimiento almacenado (stored procedure en inglés) es un programa (o procedimiento) almacenado físicamente en una base de datos. Su implementación varía de un gestor de bases de datos a otro. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y sólo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.
Los procedimientos pueden ser ventajosos: cuando una base de datos es manipulada desde muchos programas externos. Al incluir la lógica de la aplicación en la base de datos utilizando procedimientos almacenados, la necesidad de embeber la misma lógica en todos los programas que acceden a los datos es reducida. Esto puede simplificar la creación y, particularmente, el mantenimiento de los programas involucrados.

Ventajas

Resultado de imagen para Procedimientos almacenados.La ventaja de un procedimiento almacenado, en respuesta a una petición de usuario, está directamente bajo el control del motor del gestor de bases de datos, que corre generalmente en un servidor distinto del servidor web, aumentando con ello la rapidez de procesamiento de las peticiones del usuario. El servidor de la base de datos tiene acceso directo a los datos necesarios para manipular y sólo necesita enviar el resultado final al usuario.

Implementación

Estos procedimientos, se usan a menudo, pero no siempre, para realizar consultas SQL  sobre los objetos de la base de datos de una manera abstracta, desde el punto de vista del cliente de la aplicación. Un procedimiento almacenado permite agrupar en forma exclusiva parte de algo específico que se desee realizar o, mejor dicho, el SQL apropiado para dicha acción. Resultado de imagen para Procedimientos almacenados.

miércoles, 9 de enero de 2019

Pasos para crear usuarios en SQL Server

Antes de empezar

Instale el agente de Microsoft SQL Server. Para crear un usuario y otorgarle permisos, debe ser administrador de base de datos con el rol de autorización sysdamin.


Procedimiento

Para crear un usuario, realice los pasos siguientes:
  1. 1- En SQL Server Management Studio, abra Explorador de objetos.
  2. 2- Pulse nombre_instancia-servidor > Seguridad > Inicios de sesión.
  3. 3- Pulse con el botón derecho del ratón Inicios de sesión y seleccione Inicio de sesión nuevo.
  4. 4- En el campo Nombre de inicio de sesión de la página General, escriba el nombre de un usuario nuevo.
  5. 5- Seleccione Autenticación de SQL Server.
  6. 6- En el campo Contraseña, escriba una contraseña para el usuario.
  7. 7- En el campo Confirmar contraseña, vuelva a escribir la contraseña que ha especificado en el campo Contraseña.
  8. 8-Dependiendo del rol y los permisos que desee asignar a este usuario, complete una de las tareas siguientes:
    Importantede forma predeterminada, al nuevo ID de inicio de usuario se le asigna el rol public. 
  9. 9- Pulse Aceptar.

Resultados 

Se creará un usuario con el rol public predeterminado y los permisos que le haya asignado, y se visualizará en la lista Inicios de sesión.

Tipos de Usuarios.

• Tipos de usuario informáticoEn sentido general, un usuario es un conjunto de permisos yde recursos (o dispositivos) a lo...
Creación de roles.

Creación de roles personalizados y asignación de agentes (Enterprise) ... Esto permite definir los roles de agente más convenientes para la estructura y el flujo de trabajo de la organización. 

por ejemplo;
  1. Haga clic en el icono Administrador ( ) en la barra lateral y luego seleccione Administrar > Personas.
  2. Seleccione Agregar rol.
  3. Ingrese un nombre y descripción para el rol y luego seleccione los permisos que desea que tenga (se describen a continuación).
  4. Haga clic en Crear rol.


jueves, 22 de noviembre de 2018

COMMIT Y ROLLBACK

QUE ES UN ROLLBACK:
En tecnologías de base de datos, un rollback o reversión es una operación que devuelve a la base de datos a algún estado previo. Las reversiones son importantes para la integridad de la base de datos, a causa de que significan que la base de datos puede ser restaurada a una copia limpia incluso después de que se han realizado operaciones erróneas. Son cruciales para la recuperación ante errores de un servidor de base de datos, como por ejemplo un cuelgue del equipo. Al realizar una reversión cualquier transacción que estuviera activa en el tiempo del cuelgue es revertida y la base de datos se ve restaurada a un estado consistente.Resultado de imagen para QUE ES UN ROLLBACK:

QUE ES UN COMMIT
Resultado de imagen para aislamiento base de datos
Consolidar, confirmar​ o hacer un commit se refiere, en el contexto de la ciencia de la computación y la gestión de datos, a la idea de confirmar un conjunto de cambios provisionales de forma permanente. Un uso popular es al final de una transacción de base de datos.
Una sentencia COMMIT en SQL finaliza una transacción de base de datos dentro de un sistema gestor de base de datos relacional (RDBMS) y hace visibles todos los cambios a otros usuarios. El formato general es emitir una sentencia BEGIN WORK o BEGIN TRANSACTION (o la que sea para el lenguaje SQL en cuestión), una o más sentencias SQL, y entonces la sentencia COMMIT.2​Resultado de imagen para QUE ES UN COMMIT
QUE ES UN SAVE POINT:
Un punto de recuperación, del inglés savepoint, es una forma de implementar sub transacciones (también conocidas como transacciones anidadas) dentro de un sistema gestor de base de datos relacional indicando un punto dentro de una transacción de base de datos que puede ser restaurada sin afectar a cualquier trabajo realizado en la transacción antes de que el punto de recuperación fuera creado. Pueden existir varios puntos de recuperación dentro de una transacción individual. Los puntos de recuperación son útiles para implementar la recuperación ante errores complejos en aplicaciones de base de datos. Si ocurre un error en medio de una transacción compuesta por múltiples sentencias, la aplicación puede ser capaz de recuperarse del error revirtiendo la transacción hasta un punto de recuperación anterior sin necesidad de abortar la transacción completa.Resultado de imagen para QUE ES UN SAVE POINT EN INFORMATICA
ACID EN UNA TRANSACCIÓN
En bases de datos se denomina ACID a las características de los parámetros que permiten clasificar las transacciones de los sistemas de gestión de bases de datos. Cuando se dice que es ACID compliant se indica -en diversos grados- que éste permite realizar transacciones.
En concreto ACID es un acrónimo de Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español.

    Resultado de imagen para ACID EN UNA TRANSACCION

    Atomicidad base de datos
    La atomicidad es la propiedad que asegura que una operación se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias. Se dice que una operación es atómica cuando es imposible para otra parte de un sistema encontrar pasos intermedios

    Aislamiento base de datos
    En bases de datos, el aislamiento es una propiedad que define cómo y cuándo los cambios producidos por una operación se hacen visibles para las demás operaciones concurrentes. Aislamiento es una de las 4 propiedades ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad) aplicables a una base de datos transaccional.

    Durabilidad base de datos
    En bases de datos se denomina ACID a las características de los parámetros que permiten clasificar las transacciones de los sistemas de gestión de bases de datos. ... En concreto ACID es un acrónimo de Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español.

    viernes, 9 de noviembre de 2018

    PASOS PARA INSTALAR SQL SERVER 2012

    SQL SERVER (pasos para instalar)

    La versión 2012 de Sql Server ya está muy evolucionada. Nuestro servidor de Base de Datos ahora está ahora enfocado nativamente a trabajar con Cloud Computing y tiene unas mejoras que siempre hemos esperado y además sorpresas en su funcionamiento que nos hacen nuestro trabajo cada vez más fácil y agradable. 

    Pasos

    Dirigirse a la ubicación del SQL Server 2012.
    Ejecutar SETUP.EXE. Como estoy como usuario, voy a correr el archivo con privilegios elevados. Para ello, doy clic derecho sobre el programa SETUP.EXE y en las opciones que aparecen, selecciono "Run as administrator".
    Aparece la siguiente ventana:
    En el panel izquierdo, ir a "Installation" y dar clic en la opción "New SQL Server stand-alone installation or add features to an existing installation":
    Aparece la siguiente ventana:
    Presionar OK. Esperar que se procese la operación:
    Para este RC, no hay actualizaciones…
    Presionar Next para que aparezca la siguiente pantalla:
    Como el Firewall está habilitado, sale ese aviso de precaución… Luego se indicará que hacer para que el Firewall esté debidamente configurado, sobre todo porque esta instalación contiene una instancia. Presionar Next para que aparezca esta pantalla:
    Presionar Next.
    En esta pantalla se deben aceptar los términos de licenciamiento. Es opcional lo de enviar utilización del producto hacia Microsoft. Presionar Next
    Seleccionar la primera opción, "SQL Server Feature Installation". Presionar Next
    Las características a seleccionar son:
    Si al presionar Next, les aparece esta pantalla:
    Es porque esta versión de SQL Server requiere el SP1 de Visual Studio 2010; esto porque el encontró rastros de la instalación anterior, es decir la de CTP3.
    Así que instalen el SP1 de Visual Studio 2010 para continuar con la instalación…
    Presionar Next
    El nombre de la instancia es sugerido. Y particularmente generé una instancia porque tengo una instancia por omisión de SQL Server 2008 R2 SP1.
    Presionar Next
    Presionar Next para que aparezca la pantalla de configuración del servidor
    Presionar Next
    Además de agregar la cuenta de instalación, agrego una de administración; esto porque como mejor práctica la cuenta de instalación no debe quedar registrada como administradora… De hecho, es muy probable que sea incluso una cuenta creada específicamente para dicho fin, por lo cual después se elimina…
    Se dejan los directorios de datos por omisión y se habilita FILESTREAM…
    Presionar Next
    Seleccionar Multidimensional and Data Mining Mode… Y agregar las mismas cuentas de administración…
    Luego de presionar Next, aparece la pantalla de configuración de SSRS. Seleccionar la opción de instalar y configurar.
    Presionar Next
    Presionar Next
    Presionar Next para que aparezca la pantalla de "Ready to Install":
    Presionar Install y esperar a que termine el proceso…
    Presionar Close.
    Ya en el menú principal del servidor, aparecen las opciones para ejecutar SQL Server 2012 RC0:
    Al correr el SQL Server Management Studio, tal vez les aparezca esta opción si tienen configurado un SQL Server 2008 o 2008 R2, como es mi caso:
    Yo indiqué que no…
    Ahora bien, la instalación de las bases de datos de ejemplo para SQL Server 2012 no tiene el instalador al que nos acostumbramos para versiones anteriores, por lo menos no por ahora… Así que hay que descargar los archivos y adjuntarlos a mano; no es difícil si se siguen las instrucciones.
    1. Descarguen el archivo AdventureWorks2008R2_Data.MDF desde http://msftdbprodsamples.codeplex.com/releases/view/55330 y ubíquenlo en la carpeta de datos de SQL Server. Para mi caso, dicha carpeta es C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA.