Examen de Ficheros y bases de datos Convocatoria de septiembre II PARCIAL

Documentos relacionados
//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

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

Programación SQL. Lucio Salgado Diciembre 2008

Tema 1. Bases de datos activas

Procedimientos, Funciones, Trigger y Cursores en ORACLE

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL.

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

El Sistema Gestor de Base de Datos (DBMS)

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

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

Laboratorio Informix. Stored Procedures Triggers

Disparadores en Oracle (Ejemplos Prácticos)

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

Bases de Datos / Elementos de Bases de Datos Que es un Stored Procedure? Stored Procedures: Ventajas

Triggers en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

Bases de Datos / Elementos de Bases de Datos 2015

Oracle básico (IV): Programación en PL/SQL

Tema 1. Bases de datos activas

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

Estándares para la construcción de Sentencias SQL

Los disparadores pueden ser utilizados para cumplir con alguna de las siguientes tareas:

Sistemas Informáticos I Resumen

PL/SQL. DECLARE /* Parte Declarativa */ BEGIN /* Parte de Ejecución */ EXCEPTION /* Parte de Excepciones */ END;

Un ejemplo teórico de trigger podría ser éste:

Diseño de bases de datos

Examen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

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

Los paquetes tienen dos partes: una especificación y un cuerpo que están almacenados por separado en la base de datos.

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

1

Laboratorios de BASES DE DATOS. (I.T. Informática)

Sintaxis: CURSOR nombre_cursor[(param1 [IN] tipo1,... )] IS consulta ;

Introducción al SQL embebido

Uso de Disparadores. Miguel Angel Garduño Cordova Isaac Méndez Hernández

BASES DE DATOS AVANZADAS Transacciones en MYSQL

Disparadores en ORACLE

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento

Examen de Ficheros y bases de datos ( ) Convocatoria de febrero I PARCIAL

Pre-Taller Gestión de Privilegios de Usuarios 2. Manipulación de Vistas 3. Creación y manipulación de Triggers (Introducción al uso de PL/pgsql)

1. Introducción al PL/SQL 2. Conceptos Básicos de PL/SQL Estructura de Bloques Reglas y Convenciones del Lenguaje

Solución Ejercicio Prac. 3b (Esquema).

Tema: Disparadores Parte I.

la consulta de código cod_con necesita para su resolución la relación de nombre nom_rel al menos un número veces de veces.

ÍNDICE PRIMERA PARTE... 17

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

ÍNDICE INTRODUCCIÓN...13

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero

Transacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

CURSORES EN SQL SERVER

Programando con PL/SQL en una Base de Datos Oracle

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

Interacción con el Servidor Oracle8. Copyright Oracle Corporation, All rights reserved.

Para ver una copia completa de la licencia, acudir a la dirección

Otros objetos de Base de Datos

Administración Básica de Oracle9i.

Lic. Vladimir Cotaquispe Gutierrez PROGRAMACIÓN PL/SQL I - 1. Copyright 2008, Oracle. All rights reserved.

UNIDAD DE TRABAJO 3: PROGRAMACIÓN DE BASES DE DATOS TEMA 8: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN

Oracle Database: Programación con PL/SQL

Recuperación del Sistema

SQL EMBEBIDO FELIPE GARCÍA GÓMEZ

Lenguaje SQL en ABAP IV 1-19

Recuperación de Fallos del Sistema

Procesamiento de Consultas. Carlos A. Olarte BDII

PL/PGSQL. Extensión "procedural" de SQL

GESTORES GESTORES DE BASES DE DATOS

Formato para prácticas de laboratorio

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

PROCEDIMIENTOS ALMACENADOS

Enlaces relacionados:

TRIGGER LEONEL CADOSO ROMERO 1

Oracle 12c DISEÑO Y PROGRAMACIÓN

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Funciones y TriggersIntroducción, Ejemplos

Bibliografía Oracle Database Concepts - 10g Release 2 (10.2) (Octubre 2005)

Conceptos básicos de programación con PL/SQL

Uso de Jobs en Oracle. Establecer los lineamientos necesarios para el manejo de tareas programadas jobs en la Base de Datos Oracle.

DISPARADORES EN SQL SINTAXIS GENERAL DE UN DISPARADOR EN SQL:2003

Curso Querying Microsoft SQL Server 2014 (20461)

Se crean para conservar la integridad referencial y la coherencia entre los datos entre distintas tablas.

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

Guía de uso del programa AVR-Studio

Haga clic para PostgreS cambiar el estilo

FIREBIRD: SQL PROCEDIMENTAL (PSQL)

Gestión de nóminas diciembre 2011

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

TRAZABILIDAD DE ACCESOS A FICHEROS DE ALTO NIVEL DE SEGURIDAD

UNIDAD 3 ASPECTOS ASOCIADOS CON BASES DE DATOS. Diseno Físico de Bases de Datos Objetivo. 2.2 Visión General del Procesamiento de Consultas

BASES DE DATOS 2º CURSO E.U.I. / F.I. Práctica 4: Estudio del SGBD ORACLE8 1 Gestión de transacciones 22 DE MAYO DE 2000

Ingeniero Técnico en Informática de Sistemas &DUiFWHU Troncal

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

Introducción al lenguaje PL/SQL

T ema 2. S is tem as ges tores de bas es de datos

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

SQL Server SQL, Transact SQL Diseño y creación de una base de datos (con ejercicios prácticos corregidos)

Resumen de las clases 6 y 9 de junio

Ampliación de Bases de Datos Práctica 1: El lenguaje PL/SQL de Oracle Sesión 1: Introducción al PL/SQL

Transcripción:

Eamen de Ficheros y bases de datos Convocatoria de septiembre II PARCIAL EJERCICIO 1 (2,5 puntos) a) Citar y eplicar brevemente las cuatro propiedades fundamentales de las transacciones. ATOMICIDAD: Dada una transacción o todas las operaciones se realizan o ninguna. Obliga a completar la transacción. Se encarga de cumplirla el método de recuperación. (ROLLBACK) CONSISTENCIA: Una vez ejecutada la transacción se debe conservar la consistencia. Estado consistente de la Base de Datos: Cuando los datos que hay cumplen las restricciones. Se encargan de cumplirla los CHECKS, TRIGGERS, etc definidos sobre la Base de Datos por sus programadores. AISLAMIENTO entre transacciones: Garantiza que una transacción en curso no permite acceso a sus transacciones antes de que termine. Lo evita el control de concurrencia. DURABILIDAD: Permanencia de los datos después de haber terminado una transacción con éito. Se encarga de ello el método de recuperación. b) Cuando es secuenciable una planificación? Si eiste otro P secuencial, que es equivalente a P. Esto es que todo par de operaciones en conflicto se ejecutan en el mismo orden en ambos P y P. c) Dada la siguiente planificación, se pide contestar estos apartados: 1) Asumiendo que la lectura (L) eige un bloqueo y la escritura (E) un desbloqueo, aplicar el test de secuencialidad al plan para determinar si es secuenciable. T1 1 -> 7 4 -> 8 T2 6 -> 7 2 -> 4 2 -> 8 7 -> 9 T3 T4 No es secuenciable porque tiene un ciclo entre T1 y T2. 2) La planificación sería secuenciable si solo tuviera las operaciones que afectan a Y? Por qué? - Sí, porque el ciclo desaparece. 1 2 T1 T2 T3 T4 E(Y)

3 4 5 6 7 8 9 L(Y) E(X) E(Y) EJERCICIO 2 (2,5 puntos) Se pide hacer un esquema (con todos los detalles) del archivo de datos y del índice para un archivo de registros de longitud fija con un índice secundario denso, teniendo en cuenta que: El índice denso tiene una organización de correspondencia directa (hash) con N = 3. Factor de bloqueo, tanto de índices como de datos, igual a 3. El archivo primario y desbordamiento es el mismo fichero con asignación de bloques enlazada e indicación del espacio libre con mapas de bits en cada bloque, tanto en archivo de índice como de datos. Los registros con igual valor de la clave aparecen consecutivos en el fichero de datos. En la tabla se indica la función hash y el bloque donde se encuentra el registro de datos (con repeticiones) con esa clave: Claves h(ki) Bloque k1 0 b1 k2 2 b3 k3 1 b1 k3 1 b1 k4 2 b2 k5 1 b2 k6 2 b3 k7 2 b3 k8 2 b2 k8 2?

EJERCICIO 3 (2,5 puntos) Dado el siguiente esquema relacional: Pilotos(NumDNI, CodCiudad, Dirección, Edad, NumTarjeta) Ciudades(CodCiudad, Nombre, País, Tamaño) Tarjetas(NumTarjeta, Modelo, Compañía, Consumo) Se supone que las tablas están ya creadas con sus datos. a) Se pide crear un procedimiento con el siguiente tratamiento: - Definir el cursor adecuado para los siguientes pasos. - Abrir un cursor con nombre Cursor3 que contenga el NumDNI y NumTarjeta para todos los pilotos de España. - Usando el Cursor3 se desea cambiar el modelo de tarjeta a alumno. - Debe incluir una ecepción para tratar errores inesperados. ---- no está probado CATE OR PLACE PROCEDU P AS TNumt Pilotos.NumTarjeta%TYPE; TDNI Pilotos.NumDNI%TYPE; Cursor cursor3 is Select NumDNI, NumTarjeta From Pilotos, Ciudades Where Pilotos.CodCiudad = Ciudades.CodCiudad and Ciudades.Pais = 'España'; Begin Open cursor3 Loop fetch cursor3 into TDNI,TNumt; eit when cursor3%notfound; update Tarjetas set modelo = 'alumno' where NumTarjeta = Tnumt; endloop; close cursor3; EXCEPTION WHEN OTHERS THEN Tcoderror:= SQLCODE; Tteterror:= SUBSTR(SQLERRM,1, 100); DBMS_output.put_line('--> ERROR desconocido '); END P; b) Escribir las instrucciones que van al comienzo de un disparador para que se active cada vez que se modifique una fila de tarjeta y cuando se cambia el atributo Modelo al valor alumno. create or replace TRIGGER XXXX after update of modelo on tarjeta for each row when new.modelo = alumno

EJERCICIO 4 (2,5 puntos) Dado el siguiente esquema relacional: (titulo,año) (DNIActor,titulo,sueldo) (DNIcritico,titulo) y la siguiente consulta: SELECT titulo FROM,, WHE.año>=1971 AND.año<=1980 AND.titulo=.titulo AND (.DNIActor= 111 OR.DNIActor= 222 ) AND.sueldo>10000 AND.titulo=. AND.DNIcritico= 333 ; Donde el número de filas seleccionadas al ejecutar las condiciones para cada tabla son: el de menor que el de y éste menor que el de. Se pide optimizar de forma heurística la consulta. Para ello aplicar el algoritmo basado en reglas de equivalencia para obtener el árbol optimizado. 1) Construyo el árbol. Sitúo a la izquierda las ramas más largas. Me baso en >> como dice el enunciado. (.AÑO>=1971)^(.AÑO<=1980)^(.=.)^ (.DNIActor= 111 v.dniactor= 222 )^(.SUELDO>10000)^ (.=.)^(.DNIITICO= 333 )

2) y 3) Bajo las selecciones y ejecuto las mas selectivas primero..=..=..sueldo>1000 ^ (.DNIACTOR= 111 v.dniactor= 222 ).AÑO>=1971 ^.AÑO<=1980.DNICritico= 333

4) Cambio selecciones y productos cartesianos por productos naturales..=..=..sueldo=10000^.dniactor= 111 v.dniactor= 222.AÑO>=1971 ^.AÑO<=1980.DNIITICO= 333 5) Bajo las proyecciones en el árbol..=....=..sueldo=10000^.dniactor= 111 v.dniactor= 222...AÑO>=1971 ^.AÑO<=1980.DNIITICO= 333