Formato para prácticas de laboratorio



Documentos relacionados
Formato para prácticas de laboratorio

Formato para prácticas de laboratorio

CLAVE DE UNIDAD DE APRENDIZAJE DURACIÓN (HORAS) NOMBRE DE LA PRÁCTICA. Tópicos de arquitectura de computadoras. Comandos SQL 2

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2)

Diseño de bases de datos

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero

[ EDICION ESPECIAL] En el siguiente ejemplo se agrega un archivo de datos de 5 MB a la base de datos BD_Ejemplo01.

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server Barrios

CLAVE DE UNIDAD DE APRENDIZAJE DURACIÓN (HORAS) NOMBRE DE LA PRÁCTICA. Comandos SQL 2

MANUALITO MS-SQL SERVER

Tema: Disparadores Parte I.

6. PROGRAMACIÓN CON TRANSACT-SQL

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

4- Uso de sentencias para el envió y extracción de datos

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

Base de datos Lenguaje SQL

Restricciones de Integridad

Crear BD en. Isis Bonet Cruz, PhD

T12 Vistas y tablas temporales

Base de Datos Práctica 1.

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

- Bases de Datos - - Diseño Físico - Luis D. García

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Lenguaje para descripción de datos

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

1. Se usará la Base de Datos llamada. 2. Borrar la tabla CtasBanc anterior y crearla: 5.1 Procedimientos y Funciones Almacenados SQL Server

Formatos para prácticas de laboratorio

Haga clic para PostgreS cambiar el estilo

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

Restricciones (constraints) FOREIGN KEY

PRÁCTICA III. DISPARADORES EN SQL (II)

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1

ÍNDICE PRIMERA PARTE... 17

Base de datos Procedimientos Almacenados y Funciones

SQL (Structured Query Language)

BASES DE DATOS AVANZADAS Transacciones en MYSQL

Desarrollo Cobol/DB2

Base de datos I Facultad de Ingeniería. Escuela de computación.

6- Combinación de tablas

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

Tema: PROCEDIMIENTOS ALMACENADOS.

EXAMEN TEMAS 3, 4 y 5. CREACIÓN Y EXPLOTACIÓN DE UNA BASE DE DATOS

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008

6 - Recuperar algunos registros (where)

Índice. iii. Objetivos... 24

10 - Desencadenadores.

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004

OBJETIVOS METODOLOGÍA PROCEDIMIENTO 1.- Trabajo con el servidor de bases de datos Sybase

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

Práctica 3. Consultas SQL

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

* Size es el tamaño inicial y Filegrowth es el incremento * El size del Primary debe ser 3 veces mayor que el Log necesariamente

Curso SQL Nivel Avanzado 1. Miguel Jurado García

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

2- Intente crear una tabla llamada "clientes" UTILIZANDO el modo de Consulta, en el modo SQL :

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

Procedimientos almacenados con parametros de salida

Base de Datos SQL Server

mysql Departamento de Lenguajes y Computación Universidad de Almería mysql Contenidos

Procedimientos, Funciones, Trigger y Cursores en ORACLE

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala

Temario. Índices simples Árboles B Hashing

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

SENTENCIAS Y CONSULTAS EN SQL SERVER

8 SQL SERVER 2008 RA-MA

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

CURSO TRANSACT SQL MANUAL TÉCNICO CURSO TRANSACT SQL MANUAL TÉCNICO 1

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

Disparadores en ORACLE

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

Formato para prácticas de laboratorio

5.1 Procedimientos y Funciones Almacenados. 5.2 Disparadores (Triggers).

Operaciones con bases de

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos

Bases de Datos: Structured Query Language (SQL)

ADMINISTRACIÓN DE BASE DE DATOS

Bases de Datos Relacionales

CONSULTAS BASICAS EN SQL SERVER

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

Álvaro Herrera Modelamiento Avanzado de Datos con PostgreSQL

Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino

Disparadores en Oracle (Ejemplos Prácticos)

PRACTICA DE ADMINISTRACION DE BASES DE DATOS

Trabajos de Ampliación. Bases de datos NoSQL.

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

MANUAL BÁSICO DEL LENGUAJE SQL

Estándar de desarrollo de aplicaciones del Govern de les Illes Balears

Programación SQL. Lucio Salgado Diciembre 2008

Tema: Uso de sentencias SQL

Transcripción:

Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA Bases de Datos Distribuidas DURACIÓN (HORA) Transacciones y Disparadores 2 1. INTRODUCCIÓN Una transacción es un conjunto de operaciones Transact SQL que se ejecutan como un único bloque, es decir, si falla una operación Transact SQL fallan todas. Si una transacción tiene éxito, todas las modificaciones de los datos realizadas durante la transacción se confirman y se convierten en una parte permanente de la base de datos. Si una transacción encuentra errores y debe cancelarse o revertirse, se borran todas las modificaciones de los datos. 2. OBJETIVO (COMPETENCIA) El alumno asimilará los conceptos y procedimientos asociados a las transacciones para su comprensión y entendimiento, aplicando posteriormente el conocimiento adquirido en planteamientos y aplicación de transacciones. Formuló Lissethe G. Lamadrid López y estudiantes de lsc ciclo 2013-1 Revisó Josefina Mariscal Camacho Aprobó Autorizó David I. Rosas Almeida Nombre y Firma del Maestro Nombre y Firma del Responsable de Programa Educativo Nombre y Firma del Responsable de gestión de Calidad Nombre y Firma del Director / Representante de la Dirección Página 1 de 8 Revisión 1.

3. FUNDAMENTO Conceptos básicos Transacción Una transacción es una unidad de la ejecución de un programa. Puede consistir en varias operaciones de acceso a la base de datos. Está delimitada por constructoras como begintransaction y end-transaction. Trigger (disparador o desencadenador) Es un tipo de procedimiento almacenado asocia a un evento que se ejecuta cuando se intenta modificar los datos de una tabla. Se definen para una tabla específica y se crean para conservar la integridad referencial y la coherencia entre los datos entre distintas tablas. Si se intenta modificar (agregar, actualizar o eliminar) datos de una tabla en la que se definió un disparador para alguna de estas acciones (inserción, actualización y eliminación), el disparador se ejecuta (se dispara) en forma automática. Los disparadores se ejecutan después de la ejecución de una instrucción "insert", "update" o "delete" en la tabla en la que fueron definidos. Las restricciones se comprueban antes de la ejecución de una instrucción "insert", "update" o "delete". Por lo tanto, las restricciones se comprueban primero, si se infringe alguna restricción, el desencadenador no llega a ejecutarse. Los triggers se crean con la instrucción "create trigger". Esta instrucción especifica la tabla en la que se define el disparador, los eventos para los que se ejecuta y las instrucciones que contiene. Sintaxis básica: create triggre NOMBREDISPARADOR on NOMBRETABLA for EVENTO- insert, update o delete as SENTENCI 4. PROCEDIMIENTO (DESCRIPCIÓN) A) EQUIPO NECESARIO MATERIAL DE APOYO Equipo de cómputo SQL Server 2012 B) DESARROLLO DE LA PRÁCTICA Página 2 de 8 Revisión 1.

a)cree la base de datos proporcionada a continuacion y siga las indicaciones. CREATE DATABE BANCO USE BANCO CREATE TABLE CLIENTE (IDCLIENTE VARCHAR(5)PRIMARY KEY, APELLIDOS VARCHAR(30), NOMBRES VARCHAR(30)) CREATE TABLE CUENTA (IDCLIENTE VARCHAR(5), IDCUENTA VARCHAR(5)PRIMARY KEY, SALDO FLOAT, DIVISA VARCHAR(20)) CREATE TABLE MOVIMIENTO (IDCUENTA VARCHAR(5), IDMOVIMIENTO VARCHAR(5)PRIMARY KEY, TIPO VARCHAR(2), MONTO FLOAT, FECHA DATETIME) ALTER TABLE CUENTA ADD FOREIGN KEY(IDCLIENTE)REFERENCES CLIENTE ALTER TABLE MOVIMIENTO ADD FOREIGN KEY(IDCUENTA)REFERENCES CUENTA Consultas --1A --Consultar las Cuentas de los clientes cuyo Apellido empiece por A SELECT B.APELLIDOS + ',' + B.NOMBRES CLIENTE, A.IDCUENTA, A.SALDO FROM CUENTA A INNER JOIN CLIENTE B ON A.IDCLIENTE = B.IDCLIENTE WHERE B.APELLIDOS LIKE 'A%' --1B Consultar todo los Movimientos de las Cuentas en Divisa EURO del Cliente cuyos Apellidos es PEREZ SELECT A.IDCUENTA, C.FECHA, C.MONTO, TIPO = CE C.TIPO WHEN 'D' THEN' DEPOSITO' WHEN 'R' THEN 'RETIRO' WHEN 'T' THEN' TRANSFERENCIA' END Página 3 de 8 Revisión 1.

FROM CUENTA A INNER JOIN CLIENTE B ON A.IDCLIENTE = B.IDCLIENTE INNER JOIN MOVIMIENTO C ON A.IDCUENTA = C.IDCUENTA WHERE A.DIVISA = 'EUROS' AND B.APELLIDOS = 'PEREZ' ORDER BY C.FECHA DESC --1C Consultar todo los movimientos de las Cuentas del Cliente PEREZ en EUROS (Aunque tenga cuentas en otras divisas) Ordenados por el numero de Cuenta SELECT C.NOMBRES, C.APELLIDOS, CU.IDCUENTA, CU.SALDO, CU.DIVISA, M.IDMOVIMIENTO, M.MONTO, M.TIPO FROM CLIENTE C INNER JOIN CUENTA CU ON C.IDCLIENTE = CU.IDCLIENTE INNER JOIN MOVIMIENTO M ON CU.IDCUENTA = M.IDCUENTA WHERE C.APELLIDOS = 'PEREZ' ORDER BY CU.IDCUENTA --1D Consultar las Divisas que no tengan ninguna Cuenta Asociada SELECT B.IDCLIENTE, B.APELLIDOS, B.NOMBRES, A.IDCUENTA, A.DIVISA FROM CUENTA A INNER JOIN CLIENTE B ON A.IDCLIENTE = B.IDCLIENTE INNER JOIN MOVIMIENTO C ON A.IDCUENTA = A.IDCUENTA WHERE A.DIVISA = 'SIN CUENTA' --1E Consultar los Movimientos de Ingreso de PEREZ y los Movimientos de Traspaso de RODRIGUEZ SELECT A.IDCUENTA, C.FECHA, C.MONTO, C.TIPO FROM CUENTA A INNER JOIN CLIENTE B ON A.IDCLIENTE = B.IDCLIENTE INNER JOIN MOVIMIENTO C ON A.IDCUENTA = A.IDCUENTA WHERE C.TIPO = 'DEPOSITO' AND B.APELLIDOS = 'PEREZ' OR C.TIPO = 'TRANSACCIONES' AND B.APELLIDOS = 'RODRIGUEZ' ORDER BY C.FECHA DESC --1F CREAR UNA FUNCION QUE RETORNE SI UN CLIENTE ES MOROSO CREATE FUNCTION MOROSO(@FECHAPA DATETIME) RETURNS VARCHAR(20) BEGIN DECLARE @FECHACLIENTE DATETIME DECLARE @MENSAJE VARCHAR(20) SELECT @FECHACLIENTE = FECHA FROM MOVIMIENTO WHERE TIPO = 'DEPOSITO' IF MONTH (@FECHACLIENTE) < MONTH(@FECHAPA) SET @MENSAJE = 'EL CLIENTE ES MOROSO' RETURN @MENSAJE END SELECT dbo.moroso ('15/02/2011') Página 4 de 8 Revisión 1.

Creación de Objetos --2A--CREACION DE TABL CREATE DATABE EMPRESA USE EMPRESA CREATE TABLE EMPLEADOS (ID INT NOT NULL IDENTITY, DOCUMENTO VARCHAR(30) NOT NULL, APELLIDO VARCHAR(30) NOT NULL, NOMBRE VARCHAR(30) NOT NULL, SECCION VARCHAR(20) NOT NULL, SUELDO FLOAT NULL, FECHAINGRESO DATETIME NULL) CREATE TABLE CONTROLES (USUARIO VARCHAR(5), FECHA DATETIME) ------------------------------------------------------------------------- CREATE TABLE COPIA EMPLEADOS (ID INT NOT NULL, DOCUMENTO VARCHAR(30) NOT NULL, APELLIDO VARCHAR(30) NOT NULL, NOMBRE VARCHAR(30)NOT NULL, SECCION VARCHAR(20)NOT NULL, SUELDO FLOAT NULL, FECHAINGRESO DATETIME NULL) CREATE TRIGGER TRG_COPIAEMPLEADOS ON EMPLEADOS FOR INSERT BEGIN INSERT INTO COPIAEMPLEADOS SELECT * FROM INSERTED END --2B INGRESAR REGISTROS INSERT INTO EMPLEADOS VALUES ('22999000','CORDOVA','WLIMER','SISTEM',680,'24/10/2005') INSERT INTO EMPLEADOS VALUES ('22333444','ACOSTA','ANA','SECRETARIA',500,'05/05/2000') INSERTINTO EMPLEADOS VALUES ('22777888','CORDOVA','DANIELA','SECRETARIA',560,'25/08/2006') SELECT * FROM EMPLEADOS SELECT * FROM COPIAEMPLEADOS Página 5 de 8 Revisión 1.

Creación de Procedimientos Almacenados --3A Incrementar Sueldo de los Empleados con mas de 3 Años de Servicio a un 20% mas CREATE PROCEDURE USP_EMPLEADOS_AUMENTARSUELDO DECLARE @FECHA DATETIME DECLARE @DIF TINYINT SELECT @FECHA =FECHAINGRESO FROM EMPLEADOS SET @DIF = YEAR(GETDATE())-YEAR(@FECHA) IF MONTH(GETDATE()) < MONTH(@FECHA) SET @DIF = @DIF - 1 IF MONTH(GETDATE())= MONTH(@FECHA) AND DAY(GETDATE()) < DAY(@FECHA) SET @DIF = @DIF - 1 IF (@DIF >= 3) UPDATE EMPLEADOS SET SUELDO = (SUELDO + (SUELDO * 0.20)) --EJECUTAR SOLO UNA VEZ EXECUTE USP_EMPLEADOS_AUMENTARSUELDO --VERIFICANDO SELECT * FROM EMPLEADOS ------------------------------------------------------------------------- --3B Procedimiento que Permite Almacenar valores nulos en los Campos SUELDO Y FECHADEINGRESO CREATE PROCEDURE USP_EMPLEADOSINGRESAR @DOCUMENTO VARCHAR(30), @APELLIDO VARCHAR(30), @NOMBRE VARCHAR(30), @SECCION VARCHAR(20) BEGIN INSERT INTO EMPLEADOS VALUES (@DOCUMENTO,@APELLIDO,@NOMBRE,@SECCION,NULL,NULL) END EXECUTE USP_EMPLEADOSINGRESAR '22777889','DURAND','DANY','SECRETARIA' --VERIFICANDO SELECT * FROM EMPLEADOS ---------------------------------------------------------------------- --3C Procedimiento que Permite Realizar BACKUP a la Base de Datos EMPRESA CREATE PROCEDURE COPIADATABE BACKUP DATABE EMPRESA TODISK = 'F:\\BACKUP.bak' WITHINIT Página 6 de 8 Revisión 1.

EXECUTE COPIADATABE Creación de Triggers --4A -- DISPARADOR QUE REGISTRA EL USUARIO Y LA FECHA EN LA QUE SE REALIZA UN INSERT EN LA TABLA EMPLEADOS Y LOS ALMACENA EN LA TABLA CONTROLES CREATE TRIGGER TRG_CONTROLES ON EMPLEADOS FOR INSERT INSERT INTO CONTROLES VALUES (Suser_Name(),GETDATE()) INSERT INTO EMPLEADOS VALUES ('22777899','NZALES', 'LUIS','SECRETARIA',560,'25/08/2008') SELECT * FROM CONTROLES ------------------------------------------------------------------------- --4B DESENCADENADOR QUE DESCUENTA LA EXISTENCIA DE LA TABLA PRODUCTOS SEGUN EL PEDIDO CREATE DATABE ALMACEN USE ALMACEN CREATE TABLE PRODUCTOS (ID_PRODUCTO CHAR(8) PRIMARY KEY NOT NULL, NOMBREPRODUCTO VARCHAR(25)NOT NULL, EXISTENCIA INT NULL, PRECISO DECIMAL(10,2)NOT NULL, PRECIOVENTA DECIMAL (10,2)) CREATE TABLE PEDIDO ( ID_PEDIDO INT IDENTITY, ID_PRODUCTO CHAR(8) NOT NULL, CANTIDAD_PEDIDO INT CONSTRAINT PK_ID_PRODUCTO FOREIGN KEY(ID_PRODUCTO)REFERENCES PRODUCTOS(ID_PRODUCTO)) --DESENCADENADOR CREATE TRIGGER TRG_PEDIDO_ARTICULOS ON PEDIDO FOR INSERT UPDATE PRODUCTOS SET EXISTENCIA =EXISTENCIA -(SELECT CANTIDAD_PEDIDO FROM INSERTED ) WHERE ID_PRODUCTO=(SELECT ID_PRODUCTO FROM INSERTED) INSERT INTO PRODUCTOS VALUES('P001','FILTROS PANTALLA',5,10,12.5) INSERT INTO PRODUCTOS VALUES('P002','PARLATES',7,10,11.5) Página 7 de 8 Revisión 1.

INSERT INTO PRODUCTOS VALUES('P003','MAUSE',8,4.5,6) INSERT INTO PEDIDO VALUES('P003',5) --VERIFICANDO SELECT * FROM PRODUCTOS SELECT * FROM PEDIDO C) CÁLCULOS Y REPORTE 5. RESULTADOS Y CONCLUSIONES 6. ANEXOS 7. REFERENCI http://www.devjoker.com/contenidos/catss/292/transacciones-en-transact-sql.aspx http://cursos.aiu.edu/base%20de%20datos%20distribuidas/pdf/tema%204.pdf http://www.fdi.ucm.es/profesor/fernan/dbd/apuntestema07.pdf http://www.sqlserverya.com.ar/temarios/descripcion.php?cod=147&punto=141 Página 8 de 8 Revisión 1.