universidad nacional de ingenierÍa uni-norte sede … · estudiante ha aplicado un proceso de...
TRANSCRIPT
![Page 1: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/1.jpg)
________________________________________________ UNIVERSIDAD NACIONAL DE INGENIERÍA
UNI-NORTE SEDE ESTELI
DEPARTAMENTO DE INFORMÁTICA ________________________________________________
__________________________________________________________ Carrera: Ingeniería de Sistemas Nombre de la asignatura: Base de Datos I Año académico: Segundo año Semestre: Cuarto __________________________________________________________
- Clase práctica No. 1
Definición de la carpeta de Proyecto
Implementación de la Base de datos BD_Factura
Definición de las tablas:
Productos
Proveedores
OrdenDeCompra
OrdenDeCompraDetalle
Documentación la Base de Datos
Introducción al Lenguaje Transact SQL
Sentencia SELECT
Sentencia INSERT
Implementación de Trigger __________________________________________________________
Autor: Enmanuel de Jesús Fonseca Alfaro.
e-mail: [email protected] http://www.tchefonsecalfaro.wordpress.com
![Page 2: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/2.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 2
La siguiente clase práctica es la primera de una secuencia lógica que tiene como objetivo general: Construir un Sistema de Base de Datos computarizado de Información por medio de un lenguaje
basado en el Modelo de datos relacionales.
Para cumplir con este objetivo parte de la siguiente orden de compra que en encuentros anteriores el estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base de datos la cual se implementará en el SGDB SQL Server 2000.
ESQUEMA RELACIONAL DE LA BASE DE DATOS BD_FACTURA
![Page 3: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/3.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 3
Para desarrollar esta práctica el estudiante debe seguir los siguientes pasos:
Paso No. 1 – Crear la Carpeta Solución del Proyecto
Esta Carpeta contendrá el archivo Físico y lógico de la Base de Datos, así como la solución de la aplicación la cual se implementará en el entorno de programación Visual Studio 2005. Primero haga clic en el menú de inicio de Windows, y seleccione la opción todos los programas y cargue la aplicación Microsoft Visual Studio 2005, como se muestra en la figura 1.
Luego una vez cargada la aplicación debe hacer clic en el botón nuevo proyecto (figura 2), y en el asistente de nuevo proyecto debe definir las siguientes opciones y el nombre de la aplicación “BD_Factura”, tal a como se muestra en la figura 3:
El Siguiente paso es guardar la solución por lo que el estudiante debe hacer clic en el botón que tiene tres disquete en serie como se muestra en la figura 4.
Para finalizar, en el asistente que se muestra en la figura 5, debe guardar la solución en la unidad C:\, de la computadora en una carpeta a la que llamara BD_Factura.
En la carpeta BD_Factura que se creó en la Unidad C:\, se debe crear una Carpeta a la que llamará BD, que es donde se guardará la Base de Datos.
![Page 4: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/4.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 4
Paso No. 2 – Implementación de la Base de datos BD_Factura
Una vez que hemos creado la carpeta del proyecto, cerramos la aplicación Visual Studio 2005, y cargamos el Administrador Corporativo de SQL Server, para esto se debe hacer: Clic en el menú de inicio de Windows Seleccionar Todos los Programas Hacer clic en la opción Microsoft SQL Server Hacer clic en la opción Administrador Corporativo
Una vez cargado el Administrador Corporativo, haga clic en el árbol de la raíz de la consola hasta llegar al servidor local, se muestre la carpeta Bases de datos como se muestra en la figura. Haga clic derecho en la carpeta base de datos y seleccione del menú contextual la opción Nueva base de datos… Esto hará que se muestre un asistente de creación de nueva base de datos en el que indicaremos el nombre para la base de datos, y el directorio en que se guardarán los archivos físicos y lógicos de la base de datos.
Para definir el directorio de la base de datos se debe seguir los siguientes procedimientos: Nombrar la base de datos
Definir el directorio del archivo físico de datos
![Page 5: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/5.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 5
Definir el directorio del archivo lógico de datos
Una vez definidos el nombre de la base de datos y el directorio de la misma, se debe presionar el botón aceptar. Para verificar que la base de datos se creó en el directorio C:\BD_Factura\BD, lo puede hacer abriendo esta carpeta y encontrará que se han generado los siguientes archivos:
BD_Factura_Data.MDF BD_Factura_Log.LDF Además en el administrador corporativo, el explorador debe verse de la siguiente manera:
En el caso de la base de datos BD_Factura, ésta estará compuesta por los elementos mostrados en esta figura
![Page 6: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/6.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 6
Paso No. 3 – Definición de las Tablas de la Base de datos
En esta etapa se debe hacer clic derecho en el visor de objetos tipo Tablas de la base de datos BD_Factura, y en el menu contextual se debe seleccionar la opcion nueva tabla. Esto permitira que el diseñador de la base de datos, a traves de un asistente pueda definir las tablas de la base de datos
La primera tabla que se diseñará es:
Productos La definición de esta tabla esta dada por los siguientes atributos
El nombre de columna IdProducto, por ser el código del producto se debe definir como clave primaria de la tabla productos, por lo que se debe marcar la fila tal como se muestra en la figura y se debe hacer un clic en el botón que tiene la imagen de una llave, por ultimo se debe hacer un clic en el icono de guardar, y se debe escribir el nombre de la tabla Productos.
Columna Descripcion Tipo Propiedad valor
IdProducto Código de Producto entero identidad Si, no diponible para duplicación
ProductoNombre Nombre del producto Nvarchar longitud 150
PrecioUnitario Precio unitario Decimal Precision/Escala (18,2)
UsC Usuario que creó el reg. Nvarchar longitud 20
FechaC Fecha en q’ se creó datetime Valor predeterminado (getdate())
UsM Usuario que modif el reg. Nvarchar longitud 20
FechaM Fecha en q’ se modificó Datetime Valor predeterminado (getdate())
Anulado Indica si reg. esta anulado Bit Valor predeterminado 0
AnuladoObserv Observación Nvarchar longitud 250
![Page 7: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/7.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 7
Tabla Proveedores
La definición de esta tabla esta dada por los siguientes atributos:
El nombre de columna IdProveedor, por ser el código del Proveedor se debe definir como clave primaria de la tabla Proveedores, por lo que se debe marcar la fila tal como se muestra en la figura y se debe hacer un clic en el botón que tiene la imagen de una llave, por ultimo se debe hacer un clic en el icono de guardar, y se debe escribir el nombre de la tabla Proveedores
Tabla OrdenDeCompra
El nombre de columna OC_No, se utilizará para almacenar el Numero de Orden de compra, que por ser único se debe definir como clave primaria de la tabla OrdenDeCompra, por lo que se debe marcar la fila tal como se muestra en la figura y se debe hacer un clic en el botón que tiene la imagen de una llave, por ultimo se debe hacer un clic en el icono de guardar, y se debe escribir el nombre de la tabla OrdenDeCompra
Columna Descripcion Tipo Propiedad valor
IdProveedor Código de Proveedor entero identidad Si, no diponible para duplicación
Proveedor Nombre del proveedor Nvarchar longitud 250
UsC Usuario que creó el reg. Nvarchar longitud 20
FechaC Fecha en q’ se creó datetime Valor predeterminado (getdate())
UsM Usuario que modif el reg. Nvarchar longitud 20
FechaM Fecha en q’ se modificó Datetime Valor predeterminado (getdate())
Anulado Indica si reg. esta anulado Bit Valor predeterminado 0
AnuladoObserv Observación Nvarchar longitud 250
![Page 8: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/8.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 8
La definición de la tabla OrdenDeCompra esta dada por los siguientes atributos
Tabla OrdenDeCompraDetalle
La definición de esta tabla esta dada por los siguientes atributos
Columna Descripcion Tipo Propiedad valor
OC_No Número de Orden de Compra char longitud 4
IdProveedor Código de Proveedor entero
OC_FechaPedido Fecha en q’ se realiza Pedido datetime
OC_FechaPago Fecha en q’ se pagará Pedido datetime
OC_TerminoDeEntrega Comentarios Nvarchar longitud 250
OC_CostoTotal Costo total del pedido Decimal Precision/Escala (18,2)
OC_RecibidoPor Usuario que recibe Nvarchar longitud 20
OC_Autoriza Usuario que autoriza Nvarchar longitud 20
UsC Usuario que creó el reg. Nvarchar longitud 20
FechaC Fecha en q’ se creó datetime Valor predeterminado (getdate())
UsM Usuario que modif el reg. Nvarchar longitud 20
FechaM Fecha en q’ se modificó Datetime Valor predeterminado (getdate())
Anulado Indica si reg. esta anulado Bit Valor predeterminado 0
AnuladoObserv Observación Nvarchar longitud 250
Columna Descripcion Tipo Propiedad valor
OC_No Número de Orden de Compra
char longitud 4
IdProducto Código de Producto entero
Cantidad Cantidad de Prod Solicitado
PrecioUnitario Precio unitario Decimal Precision/Escala (18,2)
PrecioTotal Precio * Cantidad Decimal Precision/Escala (18,2)
UsC Usuario que creó el reg. Nvarchar longitud 20
FechaC Fecha en q’ se creó datetime Valor predeterminado (getdate())
UsM Usuario que modif el reg. Nvarchar longitud 20
FechaM Fecha en q’ se modificó Datetime Valor predeterminado (getdate())
Anulado Indica si reg. esta anulado Bit Valor predeterminado 0
AnuladoObserv Observación Nvarchar longitud 250
![Page 9: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/9.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 9
Tabla OrdenDeCompraDetalle
El nombre de columna OC_No, se utilizará para almacenar el Numero de Orden de compra, en este caso los datos registrados en esta tabla no son de naturaleza atómica, por lo que se define una nueva clave que será el IdProducto que concatenados definirán la clave primaria de la tabla OrdenDeCompraDetalle, por lo que se debe marcar las fila tal como se muestra en la figura y se debe hacer un clic en el botón que tiene la imagen de una llave, por ultimo se debe hacer un clic en el icono de guardar, y se debe escribir el nombre de la tabla OrdenDeCompraDetalle
Paso No. 4 – Documentación de la Base de Datos
En directorio C:\BD_Factura, se debe crear una nueva carpeta con el nombre scripts, y en esta carpeta guardaremos los siguientes archivos generados por el asistente de SQL Server.
Tal y como se muestra en la figura anterior en el visor de objetos de tipo Tabla, se hace clic derecho sobre la tabla productos, en el menú contextual se deben seleccionar las siguientes opciones: Todas las tareas Generar Secuencia de Comandos SQL
![Page 10: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/10.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 10
Esto hará que se muestre el siguiente asistente: Hacer clic en el botón vista previa, y en siguiente asistente hacer clic en copiar.
En el directorio C:\BD_Factura\scripts que acaba de crear cree un block de notas, pegue el código y guarde el archivo con el nombre de la tabla. Para este caso será Tabla_Productos. Repita el mismo procedimiento para las demás tablas
Paso No. 5 – Introducción al Lenguaje Transact SQL
En este ultimo paso el estudiante debe trabajar en función de la generación de objetos en la dase de datos BD_Factura, que permitan administrar de manera eficiente los datos almacenados.
Como podemos observar en la figura, los objetos que están contenidos en el rectángulo de color rojo, son los objetos que el usuario administrador de la base de de datos ha generado en el paso No. 3, sin embargo son visibles otros objetos que por defecto pertenecen a la base de datos, y son generados automáticamente por el administrador corporativo de SQL al momento de ejecutar la petición de generar una base de datos nueva. Estos elementos no son objeto de estudio por lo que se modificará las propiedades del servidor para que el usuario no pueda visualizar los objetos del sistema.
![Page 11: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/11.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 11
Sobre el icono que representa el servidor de la base de datos que tiene una imagen de una torre de CPU con un círculo verde, haga clic derecho y en el menú contextual seleccionar la opción Modificar propiedades de registro del servidor SQL Server…
En el asistente que se muestra a continuación debe deshabilitar la opción Mostrar base de datos y objetos del sistema, esto
permitirá al usuario visualizar únicamente las bases de datos y objetos de usuario, como se muestra en figura 3.
Una vez que hemos modificado las propiedades del servidor, el estudiante debe hacer clic sobre la base de datos BD_Factura, y en la barra de menú, hacer clic en la opción Herramientas, y en el menú contextual seleccionar la opción Analizador de consultas SQL, o bien en el menú de inicio de Windows, seleccionar la opción Ejecutar y en el prompt, escribir isqlw y a continuación presionar enter.
![Page 12: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/12.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 12
En pantalla se cargará el Analizador de consultas de SQL, en donde se puede escribir directamente una consulta Transact SQL, o bien podemos utilizar el asistente para generación de secuencias de comandos. Primero hay que verificar que la base de datos BD_Factura esta seleccionada en el combo box que lista las bases de datos del servidor.
El analizador de Consultas de SQL, cuenta con el Examinador de Objetos, que nos permite explorar las bases de datos y los objetos de las mismas, si no se visualiza en pantalla puede presionar la tecla F8 para visualizar u ocultar el Examinador. Haga un clic en el explorador de la base de datos BD_Factura, y expanda el explorador de la carpeta Tablas de usuario.
Sentencia SELECT
Haga clic derecho sobre el objeto dbo.Productos, y en el menú contextual seleccionar la opción Crear secuencia de comandos en una nueva ventana como, y a continuación seleccionar la opción Select
![Page 13: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/13.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 13
En el editor de consultas se cargará automáticamente el siguiente transact: SELECT [IdProducto], [ProductoNombre], [PrecioUnitario], [UsC], [FechaC], [UsM], [FechaM], [Anulado], [AnuladoObserv] FROM [BD_FACTURA].[dbo].[Productos]
En la barra de herramientas encontrará dos botones que permiten compilar y ejecutar la consulta respectivamente. El botón que tiene una imagen check, compila la consulta y el botón que tiene una imagen de iniciar la ejecuta, este último comando también puede ser ejecutado presionando F5.
Al ejecutar esta consulta, no se genera ningún resultado debido a que la base de datos esta vacía, por lo que es necesario generar las instrucciones para insertar datos. Para esto debe repetir el procedimiento anterior (Crear secuencia de comandos en una nueva ventana como), y seleccionar la opción Insert.
Sentencia INSERT
INSERT INTO [BD_FACTURA].[dbo].[Productos]
([IdProducto], [ProductoNombre], [PrecioUnitario], [UsC], [FechaC], [UsM], [FechaM], [Anulado], [AnuladoObserv]) VALUES(<IdProducto,int,>, <ProductoNombre,nvarchar(150),>, <PrecioUnitario,decimal(18,2),>,
<UsC,nvarchar(20),>, <FechaC,datetime,>, <UsM,nvarchar(20),>, <FechaM,datetime,>, <Anulado,bit,>, <AnuladoObserv,nvarchar(250),>) El comando INSERT esta formado por dos componentes, la sentencia INSERT, en la que se define el nombre
la tabla de la base de datos que será objeto de inserción seguida de los nombres de las columnas que serán insertadas, el siguiente componente es la sentencia VALUES, que es la lista de valores que serán insertados, cabe mencionar que la lista y los tipos de datos de la sentencia INSERT debe coincidir con la lista y los tipos de datos de la sentencia VALUES, de lo contrario se generaría un error de inserción. El analizador de consultas genera en la lista de la sentencia VALUES, la lista de nombres de columnas y su definición de tipo de datos, por lo que las sustituiremos y debe quedar de la siguiente manera: INSERT INTO [BD_FACTURA].[dbo].[Productos] ( [ProductoNombre], [PrecioUnitario], [UsC], [FechaC], [UsM], [FechaM], [Anulado], [AnuladoObserv]) VALUES ('Pasta Dental Colgate', 15.75, 'BD_Master', getdate(), 'BD_Master', getdate(), 0, NULL)
Nótese, que el nombre de columna IdProducto, ha sido suprimido en la lista Insert y en la lista Values, debido a que su definición de tipo se ha especificado con propiedad auto numérico, por lo que su generación es automática en cada sentencia Insert. Presione F5 para ejecutar la instrucción y luego ejecute el comando SELECT para recuperar los datos de la tabla de productos. Ingrese 10 productos nuevos en la base de datos, para esto utilice la misma secuencia de comandos INSERT,
únicamente cambie el nombre del producto y el precio unitario, el nombre del usuario y las fechas deben ser las mismas.
![Page 14: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/14.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 14
Implementación de TRIGGER (Desencadenador)
En definición un trigger es un procedimiento almacenado en una tabla, que se auto ejecuta cuando ocurre una tarea de inserción, actualización o eliminación de registros sobre dicha tabla. Son muy útiles cuando es necesario ejecutar procedimientos rutinarios, o cuando se conoce el valor por defecto que puede tener la columna de la tabla por ejemplo en el ejercicio de inserción anterior podemos apreciar que el nombre del usuario, las fechas, la columna Anulado y AnuladoObserv se mantienen, por lo que se puede implementar la agregación de estos valores mediante la implementación de un trigger. Para implementar el Trigger, en el Administrador Corporativo de SQL, debe seleccionar el objeto tablas de la base de datos BD_Factura, y en el visor de objetos ubicado en el panel derecho de la pantalla hacer clic derecho sobre la tabla Productos, en el menú contextual seleccionar Todas las tareas y a continuación Administrar desencadenadores… como se muestra a continuación Se carga en pantalla el asistente del desencadenador y por defecto muestra una plantilla para la generación del nuevo Trigger. En la primera línea sustituiremos [TRIGGER NAME] por el nombre del Trigger, y en la segunda definiremos el evento para el cual el trigger se disparará, en este caso será para una instrucción INSERT
Modificamos entonces la plantilla y escribimos el siguiente código: CREATE TRIGGER Tr_NuevoProducto ON [dbo].[Productos] FOR INSERT AS DECLARE @IdProducto INT DECLARE @Usuario Nvarchar(20) SET @Usuario = SYSTEM_USER SELECT @IdProducto = IdProducto FROM INSERTED UPDATE Productos SET UsC = @Usuario, UsM = @Usuario, FechaC = GETDATE(), FechaM = GETDATE(), Anulado = 0, AnuladoObserv = NULL WHERE IdProducto = @IdProducto
![Page 15: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/15.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 15
En este caso utilizamos dos funciones del sistema, la función SYSTEM_USER que devuelve el login del usuario que esta ejecutando la Inserción, y la función GETDATE(), que toma la fecha y hora del sistema y la devuelve. Para comprobar la sintaxis del Trigger presione el botón comprobar sintaxis, y si no hay errores presione el botón Aceptar. Para ensayar este trigger es necesario crear un inicio de sesión al que llamaremos 'BD_Master', para crear el
inicio de sesión, en el administrador corporativo, haga un clic en la carpeta “Seguridad”, y en el menú contextual seleccione Nuevo inicio de sesión…
En el asistente siga los siguientes pasos: En la pestaña General
1. Nombre: BD_Master 2. Contraseña: 12345 3. Base de Datos: BD_Factura 4. Idioma: Spanish
En la pestaña Acceso a base de datos 5. Seleccionar Base de Datos BD_Factura 6. Seleccionar la función db_owner 7. Confirmar contraseña: 12345
De nuevo en el Analizador de consultas de SQL, en la Barra de menú haga clic en el menú Archivo, y en el menú contextual seleccione Conectar
![Page 16: UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-NORTE SEDE … · estudiante ha aplicado un proceso de normalizacion a partir del cual se ha generado una estructura de base ... En este ultimo](https://reader034.vdocuments.mx/reader034/viewer/2022042122/5e9c41cfeca92a19166ac445/html5/thumbnails/16.jpg)
UNIVERSIDAD NACIONAL DE INGENIERIA UNI NORTE
Líder en Ciencia y Tecnología Sede Regional Estelí
Carrera: Ingeniería de Sistemas Grupo: 2M1-IS Página 16
1. Escriba un punto (.), significa que hará una conexión local
2. Seleccione la opción Autenticación de SQL Server
3. Escriba el nombre del inicio de Sesión BD_Master
4. Escriba la contraseña 12345
En el editor de consultas podrá observar que aparece el nombre del servidor, nombre de la base de datos y el nombre del usuario que esta conectado.
En el editor de consultas ensaye el siguiente Transact y presione F5 para visualizar los resultados.
Nótese que en la lista de inserción únicamente se han definido dos columnas, sin embargo al ejecutarse la instrucción de inserción el desencadenador ha insertado los demás valores por defecto. Para finalizar la clase práctica el estudiante debe implementar por cada tabla un trigger que inserte los valores por defecto como el ejemplo anterior, a continuación debe generar las instrucciones de inserción y selección respectiva para cada una de las tablas.