DISPARADOR Un disparador define una accin que la base de datos debe llevar a cabo cuando se produce algn suceso relacionado con la misma. Los disparadores (triggers) pueden utilizarse para completar la integridad referencial, tambin para imponer reglas de negocio complejas o para auditar cambios en los datos. El cdigo contenido en un disparador, denominado cuerpo del disparador, est formado por bloques PL/SQL. La ejecucin de disparadores es transparente al usuario. Para crear un disparador (trigger) en una tabla, el usuario con el que accedamos a Oracle deber ser propietario de la misma, teniendo as el privilegio ALTER para la tabla o ALTER ANY TABLE. Adems, dicho usuario, debe disponer del privilegio CREATE TRIGGER. Existen varios tipos de disparadores, dependiendo del tipo de transaccin de disparo y el nivel en el que se ejecuta el disparador (trigger):
TIPOS DE DISPARADORES 1.- Disparadores de nivel de fila: se ejecutan una vez para cada fila afectada por una instruccin DML. Los disparadores de nivel de fila se crean utilizando la clusula for each row en el comando create trigger. 2.- Disparadores de nivel de instruccin: se ejecutan una vez para cada instruccin DML. Por ejemplo, si una nica instruccin INSERT inserta 500 filas en una tabla un disparador de nivel de instruccin para dicha tabla slo se ejecutar una vez. Los disparadores de nivel de instruccin son el tipo predeterminado que se crea con el comando create trigger. 3.- Disparadores Before y After: puesto que los disparadores son ejecutados por sucesos, puede establecerse que se produzcan inmediatamente antes (before) o despus (after) de dichos sucesos. 4.- Disparadores Instead Of: puede utilizar INSTEAD OF para indicar a Oracle lo que tiene que hacer en lugar de realizar las acciones que invoca el disparador. Por ejemplo, podra usar un disparador INSTEAD OF en una vista para gestionar las inserciones en una tabla o para actualizar mltiples tablas que son parte de una vista. 5.- Disparadores de esquema: puede crear disparadores sobre operaciones en el nivel de esquema tales como create table, alter table, drop table, audit, rename, truncate y revoke.
Pgina 2 de 31
Puede incluso crear disparadores para impedir que los usuarios eliminen sus propias tablas. En su mayor parte, los disparadores de nivel de esquema proporcionan dos capacidades: impedir operaciones DDL y proporcionar una seguridad adicional que controle las operaciones DDL cuando esta se producen
2.1 A ELABORA APLICACIONES CON VISTAS (ACCESS) VISTA Para crear una vista de hoja de datos web de una tabla en una aplicacin de Access, haga clic en el nombre de la tabla y, despus, en Agregar vista (el botn con un signo ms que aparece junto a los nombres de vista). En el cuadro de dilogo Agregar vista nueva, establezca Tipo de vista en Hoja de datos.
CREACION DE VISTA Cuando se crea una vista de hoja de datos web, se abre en la vista Diseo, donde se pueden realizar las siguientes acciones: Establecer el origen del registro Dar un ttulo a la vista Agregar acciones automticas que pasan cuando la vista se abre y cuando alguien alterna entre registros usando la vista Agregar acciones personalizadas que pasan cuando alguien hace clic en un botn (de su eleccin) Establecer el origen de registro para la vista En la parte superior derecha del rea de diseo, haga clic en Datos para abrir el cuadro con el mismo nombre:
Pgina 3 de 31
Elija la tabla o consulta para la vista y, si lo desea, active la casilla Solo lectura para impedir que la gente cambie datos en esta vista. Cuando finalice con los cambios, cierre el cuadro de dilogo. DAR UN TTULO En la parte superior derecha del rea de diseo, haga clic en Formato para abrir el cuadro con el mismo nombre:
Elija si desea que la Barra de acciones est visible o escondida. En el cuadro Ttulo, escriba el texto que se va a mostrar cuando la hoja de datos se abra en una ventana del explorador. Cuando finalice con los cambios, cierre el cuadro de dilogo. AGREGAR ACCIONES AUTOMTICAS En la parte superior derecha del rea de diseo, haga clic en Acciones para abrir el cuadro con el mismo nombre:
Cada botn abre una macro en la vista Diseo. Haga clic en Al cargar para disear una macro que se ejecute cada vez que la hoja de datos se abra, o haga clic en Al activar
Pgina 4 de 31
registro para disear una macro que se ejecute siempre que alguien seleccione una fila distinta en la hoja de datos. Cuando finalice con los cambios, cierre el cuadro de dilogo.
AGREGAR ACCIONES PERSONALIZADAS En la parte superior central del rea de diseo, haga clic en Agregar accin personalizada (el botn con el signo ms que aparece junto a la Barra de acciones). La nueva accin se muestra como un botn con un icono de estrella.
Haga clic en el botn de accin personalizada y, despus, en el botn Datos que aparece. Access abrir el cuadro de dilogo Datos relativo a la accin personalizada:
ELIMINACION DE VISTAS
Pgina 5 de 31
Las consultas de eliminacin son consultas que eliminan de una tabla los registros que cumplen el criterio de bsqueda especificado. Para crear una consulta de eliminacin: Abrimos una nueva consulta en vista diseo. Aadimos la tabla de la que queremos borrar los registros. Hacemos clic en el botn Eliminar de la pestaa Diseo:
A partir de ese momento la cuadrcula cambia de aspecto, han desaparecido las filas Orden: y Mostrar: por carecer de sentido aqu y en su lugar tenemos la fila Eliminar: como puedes en el ejemplo que te ofrecemos a continuacin:
El Origen de la consulta puede ser una tabla, una consulta o una combinacin de tablas. Se utiliza una combinacin de tablas cuando necesitamos borrar registros de una tabla pero necesitamos la otra tabla para el criterio de bsqueda. En la cuadrcula QBE solamente ponemos el campo o campos que intervienen en los criterios de bsqueda y si el origen de la tabla tiene varias tablas, pondremos una columna para indicar de qu tabla queremos eliminar los registros. En este caso tambin debemos cambiar las propiedades de la consulta para que nos permita ejecutarla. Haciendo clic en el botn Hoja de propiedades de la pestaa Diseo, y cambiando la propiedad Registros nicos a S.
Pgina 6 de 31
En la fila Eliminar: podemos seleccionar dos opciones, la opcin Dnde indica un criterio de bsqueda, y la opcin Desde indica que queremos borrar los registros de la tabla especificada en esa columna. Por ejemplo:
Con esta consulta eliminamos los cursos (Desde la tabla Cursos) que tengan alumnos de Valencia (Dnde Poblacin = "Valencia"). Cuando el origen es una sola tabla la columna Desde no es necesaria.
Pgina 7 de 31
Si NO se indica un criterio de bsqueda, se borran TODOS los registros de la tabla.
Para ver los datos que se borrarn antes de realizar la eliminacin podemos hacer clic sobre el tipo de vista Hoja de datos de la pestaa Inicio. Para ejecutar la consulta hacer clic sobre el botn. Al ejecutar la consulta se realizar la eliminacin de los registros de la tabla aunque previamente nos avisa que va a eliminar tantas filas y nosotros podemos cancelar esa eliminacin. Una vez borrados, los registros no se pueden recuperar. Si la tabla donde borramos est relacionada con otras tablas se podrn borrar o no los registros siguiendo las reglas de integridad referencial definidas en esas relaciones. Si no puede borrar todas las filas que tena que borrar nos manda un mensaje avisndonos que no ha podido eliminar tantas filas por infringir esas reglas.
ELABORAR FORMULARIOS Y REPORTES (ACCESS) Los formularios sirven para definir pantallas generalmente para editar los registros de una tabla o consulta.
Para crear un formulario tenemos varas opciones. Podemos acceder a todas ellas desde la pestaa Crear:
Diseo del formulario abre un formulario en blanco en la vista diseo y tenemos que ir incorporando los distintos objetos que queremos aparezcan en l. Este mtodo no se suele utilizar ya que en la mayora de los casos es ms cmodo y rpido crear un autoformulario
Pgina 8 de 31
o utilizar el asistente y despus sobre el formulario creado modificar el diseo para ajustar el formulario a nuestras necesidades. En esta unidad veremos ms adelante cmo modificar el diseo de un formulario. Asistente para formularios utiliza un asistente que nos va guiando paso por paso en la creacin del formulario. Formulario consiste en crear automticamente un nuevo formulario que contiene todos los datos de la tabla o consulta seleccionada en el Panel de Exploracin. Grficos dinmicos abrir un formulario en blanco basado en la utilizacin de grficos dinmicos. Explicaremos a continuacin la forma de crear un formulario utilizando el asistente.
El asistente para formularios.
Para arrancar el asistente para formularios haz clic en la opcin Asistente para formularios que puedes ver en la imagen anterior. Aparece la primera ventana del asistente: En esta ventana nos pide introducir los campos a incluir en el formulario. Primero seleccionamos la tabla o consulta de donde coger los datos del cuadro Tablas/Consultas, este ser el origen del formulario. Si queremos sacar datos de varias tablas lo mejor ser crear una consulta para obtener esos datos y luego elegir como origen del formulario esa consulta. A continuacin seleccionamos los campos a incluir en el formulario haciendo clic sobre el campo y clic sobre el botn o simplemente doble clic sobre el campo. Si nos hemos equivocado de campo pulsamos el botn y el campo se quita de la lista de campos seleccionados. Podemos seleccionar todos los campos a la vez haciendo clic sobre el botn o deseleccionar todos los campos a la vez haciendo clic sobre el botn . Una vez seleccionada la distribucin que nos interesa pulsamos el botn Siguiente y aparece la siguiente pantalla:
Pgina 9 de 31
En esta pantalla elegimos la distribucin de los datos dentro del formulario. Seleccionando un formato aparece en el dibujo de la izquierda el aspecto que tendr el formulario con esa distribucin.
A continuacin pulsamos el botn Siguiente> y aparece la siguiente ventana El asistente para formularios (cont.).
Pgina 10 de 31
En esta pantalla elegimos el estilo que queremos dar al formulario, podemos elegir entre los estilos que tiene definidos Access. Seleccionando un estilo aparece en el dibujo de la izquierda el aspecto que tendr el formulario con ese estilo. Una vez seleccionado el estilo que nos interesa pulsamos el botn Siguiente y aparece la ltima pantalla del asistente para formularios:
Pgina 11 de 31
En esta ventana el asistente nos pregunta el ttulo del formulario, este ttulo tambin ser el nombre asignado al formulario. Antes de pulsar el botn Finalizar podemos elegir entre: Abrir el formulario para ver o introducir informacin en este caso veremos el resultado del formulario preparado para la edicin de registros, por ejemplo:
O bien: Modificar el diseo del formulario, si seleccionamos esta opcin aparecer la vista Diseo de formulario donde podremos modificar el aspecto del formulario, por ejemplo:
REPORTE INFORME
Los informes sirven para presentar los datos de una tabla o consulta generalmente para imprimirlos. La diferencia bsica con los formularios es que los datos que aparecen en el informe slo se pueden visualizar o imprimir (no se pueden modificar) y en los informes se puede agrupar ms facilmente la informacin y sacar totales por grupos.
Pgina 12 de 31
Para crear un informe podemos utilizar a seccin Informess que encontrars en la pestaa Crear:
Diseo de informe abre un informe en blanco en la vista diseo y tenemos que ir incorporando los distintos objetos que queremos aparezcan en l. Este mtodo no se suele utilizar ya que en la mayora de los casos es ms cmodo y rpido crear un autoinforme o utilizar el asistente y despus sobre el informe creado modificar el diseo para ajustar el informe a nuestras necesidades. En esta unidad veremos ms adelante cmo modificar el diseo de un informe. Asistente para informes utiliza un asistente que nos va guiando paso por paso en la creacin del informe. Informe consiste en crear automticamente un nuevo informe que contiene todos los datos de la tabla o consulta seleccionada en el Panel de Exploracin. Informe en blanco abre un informe en blanco en vista Presentacin. Explicaremos a continuacin la forma de crear un informe utilizando el asistente.
ASISTENTE PARA INFORMES
Para arrancar el asistente para informes haz clic en el botn Asistente para informes que puedes ver en la imagen anterior.
Aparece la primera ventana del asistente:
Pgina 13 de 31
En esta ventana nos pide introducir los campos a incluir en el informe. Primero seleccionamos la tabla o consulta de donde coger los datos del cuadro Tablas/Consultas este ser el origen del informe. Si queremos sacar datos de varias tablas lo mejor ser crear una consulta para obtener esos datos y luego elegir como origen del informe esa consulta. A continuacin seleccionamos los campos haciendo clic sobre el campo para seleccionarlo y clic sobre el botn o simplemente doble clic sobre el campo. Si nos hemos equivocado de campo pulsamos el botn y el campo se quita de la lista de campos seleccionados. Podemos seleccionar todos los campos a la vez haciendo clic sobre el botn o deseleccionar todos los campos a la vez haciendo clic sobre el botn . A continuacin pulsamos el boton Siguiente> y aparece la siguiente ventana El asistente para informes (cont).
En esta pantalla elegimos los niveles de agrupamiento dentro del informe. Podemos agrupar los registros que aparecen en el informe por varios conceptos y para cada concepto aadir una cabecera y pie de grupo, en el pie de grupo normalmente se visualizarn totales de ese grupo. Para aadir un nivel de agrupamiento, en la lista de la izquierda, hacer clic sobre el campo por el cual queremos agrupar y hacer clic sobre el botn (o directamente hacer doble clic sobre el campo). En la parte de la derecha aparece un dibujo que nos indica la estructura que tendr nuestro informe, en la zona central aparecen los campos que se visualizarn para cada registro, en
Pgina 14 de 31
nuestro ejemplo, encima aparece un grupo por poblacin, y encima un grupo por cdigo postal. Para quitar un nivel de agrupamiento, hacer clic sobre la cabecera correspondiente al grupo para seleccionarlo y pulsar el botn . Si queremos cambiar el orden de los grupos definidos utilizamos los botones , la flecha hacia arriba sube el grupo seleccionado un nivel, la flecha hacia abajo baja el grupo un nivel. Con el botn podemos refinar el agrupamiento. Haciendo clic en ese botn aparecer el siguiente cuadro de dilogo:
En este cuadro aparecen los distintos grupos que tenemos definidos, y por cada grupo tenemos el campo que define el grupo en Campos de grupo: y el cuadro Intervalos de agrupamiento:, desplegando el cuadro podemos indicar que utilice para agrupar el valor completo contenido en el campo o que utilice la primera letra, las dos primeras, etc... Despus de pulsar el botn Aceptar volvemos a la ventana anterior. Una vez tenemos los niveles de agrupamiento definidos hacemos clic en el botn Siguiente> y pasamos a la siguiente ventana
El asistente para informes (cont).
Pgina 15 de 31
En esta pantalla podemos elegir ordenar los registros por hasta cuatro campos de ordenacin. Seleccionamos el campo por el que queremos ordenar los registros que saldrn en el informe, y elegimos si queremos una ordenacin ascendente o descendente, para elegir una ordenacin descendente hacer clic sobre el botn Ascendente y pasar a ser Descendente. Podemos elegir un tipo de ordenacin diferente en los distintos campos de ordenacin. Para seguir con el asistente hacemos clic sobre el botn Siguiente> y aparece la siguiente ventana:
Pgina 16 de 31
En esta pantalla elegimos la distribucin de los datos dentro del informe. Seleccionando una distribucin aparece en el dibujo de la izquierda el aspecto que tendr el informe con esa distribucin. En el cuadro Orientacin podemos elegir entre impresin Vertical u Horizontal (apaisado). Con la opcin Ajustar el ancho del campo de forma que quepan todos los campos en una pgina, se supone que el asistente generar los campos tal como lo dice la opcin. A continuacin pulsamos el botn Siguiente> y aparece la siguiente ventana El asistente para informes (cont).
Pgina 17 de 31
En esta pantalla elegimos el estilo que queremos dar al informe, podemos elegir entre los estilos que tiene definidos Access. Seleccionando un estilo aparece en el dibujo de la izquierda el aspecto que tendr el informe con ese estilo. Una vez seleccionado el estilo que nos interesa pulsamos el botn Siguiente y aparece la ltima pantalla del asistente para informes:
Pgina 18 de 31
En esta ventana el asistente nos pregunta el ttulo del informe, este ttulo tambin ser el nombre asignado al informe. Antes de pulsar el botn Finalizar podemos elegir entre: Vista previa del informe en este caso veremos el resultado del informe preparado para la impresin o bien Modificar el diseo del informe, si seleccionamos esta opcin aparecer la ventana Diseo de informe donde podremos modificar el aspecto del informe.
Para practicar esas operaciones puedes realizar el Ejercicio paso a paso crear un informe con el asistente. Seleccin de datos Las consultas de seleccin se utilizan para indicar al motor de datos que devuelva informacin de las bases de datos, esta informacin es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto recordset. Este conjunto de registros es modificable. La sintaxis bsica de una consulta de seleccin es la siguiente: SELECT Campos FROM Tabla; En donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los mismos, por ejemplo: SELECT Nombre, Telfono FROM Clientes; Esta consulta devuelve un recordset con el campo nombre y telfono de la tabla clientes.
Pgina 19 de 31
3.1 A ADMINISTRA TRANSACCIONES TRANSACCIONES Una transaccin es una unidad de la ejecucin de un programa que accede y, posiblemente, actualiza varios elementos de datos. Se encuentra delimitada por instrucciones de inicio transaccin y fin transaccin (la transaccin consiste en todas las operaciones que se ejecutan entre inicio transaccin y fin transaccin). Cada transaccin debe tener las propiedades ACID.
Propiedad Descripcin Atomicidad La transaccin es realizada completamente o no realiza ninguna accin. No puede realizar solamente mitad o parte de la transaccin. Consistencia Solo son ejecutadas aquellas transacciones que no tiene conflicto con las reglas y directrices de integridad de la base de datos. Aislamiento Si hay dos o ms transacciones que en un mismo tiempo desean realizar cambio a una misma informacin, el sistema garantiza que cada transaccin ignora al resto de las transacciones es decir que cada una se maneja de forma independiente para no generar errores. Durabilidad Cuando una transaccin es exitosa los cambios hechos por la transaccin permanecen en el sistema y no se pueden deshacer aunque falle el sistema.
Pgina 20 de 31
Regularmente las transacciones comienzan con un BEGIN WORK y finalizan con un COMMIT/COMMIT WORK o ROLLBACK/ROLLBACK WORK.
PROTOCOLO DE BLOQUEO EN DOS FASES
Se divide en dos fases: la fase de bloqueo y de desbloqueo. Si se permite la conversin entre bloqueos, las conversiones de bloqueos de lectura a bloqueos de escritura son en la primera fase y las de bloqueos de escritura a lectura en la segunda.
Cualquier transaccin que despus de liberar un bloqueo adquiere otro siempre corre el riesgo de producir resultados incorrectos. Esto es, siempre es posible definir una segunda transaccin que pueda ejecutarse concurrentemente con la primera de manera tal que la ejecucin intercalada o concurrente de ambas no sea serializable y por ende no correcta.
Si todas las transacciones obedecen las siguientes reglas: a) Antes de operar sobre cualquier objeto la transaccin debe adquirir primero un bloqueo sobre ese objeto b) Despus de liberar un bloqueo la transaccin no adquiere ningn otro bloqueo Entonces, todas las ejecuciones intercaladas de esas transacciones son serializables.
Pgina 21 de 31
Su principal ventaja es que garantiza la seriabilidad, lo que no se consigue usando simplemente bloqueos. Como inconvenientes podemos citar: Bloquea los elementos que podran ser desbloqueados tras su uso ocupado hasta la segunda fase, impidiendo que otras transacciones que los necesiten los utilicen. Esto hace que el rendimiento de este protocolo se degrade conforme aumenta el grado de concurrencia; No permite todos los planes serializables posibles. La implementacin de este este bloqueo depende del programador, que puede no realizar su tarea convenientemente.
RECUPERACIN DE INFORMACIN MEDIANTE TRANSACCIONES Permite que un usuario recupere una parte especfica de los datos basados en criterios definidos por el usuario. Una recuperacin tradicional es realizada objeto por el objeto por la base de datos; las transacciones se dividen por la vista del usuario del proceso. Mientras la esta recuperacin parece la respuesta a todos sus problemas de recuperacin de base de datos, hay tiempos cuando no es posible o no aconsejable.
Pgina 22 de 31
Existen dos tipos de recuperacin: DESHAGA la recuperacin o REHAGA la recuperacin. Para DESHACER la recuperacin, el registro de base de datos es ledo para encontrar las modificaciones de datos que fueron aplicadas durante un margen de tiempo dado y: el ENCARTE es girado en BORRAR. La ACTUALIZACIN es girada para ACTUALIZAR al viejo valor en Efecto, una recuperacin DESHAR invierte modificaciones de base de datos usando SQL. DESHAGA la Recuperacin de Transaccin es la recuperacin de base de datos en lnea. Por supuesto, si es deseable conservarse la base de datos en lnea durante una Recuperacin de Transaccin depender en la naturaleza y la severidad del problema de base de datos.
El segundo tipo es es REHACER la recuperacin de transaccin. Ya que el proceso REHACER no genera las transacciones de problema, realizando una recuperacin y luego ejecutando REHACER SQL puede restaurar los datos a un estado corriente que no incluye las transacciones de problema. Una Recuperacin de Transaccin REHAR requiere una interrupcin para la recuperacin de HOYO. Rehaciendo transacciones en un ambiente donde la disponibilidad es crucial, la base de datos puede ser rebajada durante la recuperacin de HOYO y cuando hecho, la base de datos puede devuelto en lnea.
3.1 B MANEJO DE CONCURRENCIA CONCURRENCIA
El trmino concurrencia se refiere al hecho de que los DBMS (Sistemas de Administracin de Bases de Datos) permiten que muchas transacciones accedan a una misma base de datos a la vez. Como bien es sabido, en un sistema de stos se necesita algn tipo de mecanismo de control de concurrencia para asegurar que las transacciones concurrentes no interfieran entre s. El control de accesos concurrentes y especficamente de transacciones concurrentes es manejado por un mdulo del dbms llamado "scheduler". Es importante recordar que muchos de los datos de la base no se encuentran nada ms en disco, sino tambin en los buffers de memoria, de ah que el scheduler interacta con ellos y en su defecto solicita la lectura de los datos del disco.
Pgina 23 de 31
Es de suma importancia realizar la . recurrencia, ya que pueden surgir . problemas si las transacciones . concurrentes no se ejecutan de manera . controlada.
TCNICAS DE BLOQUEO
Unas de las principales tcnicas para controlar la controlar la ejecucin concurrente de las transacciones se base en el concepto de bloquea elementos de informacin un candado es una variable asociada a un elemento de informacin de la base de datos y describe el estado de ese elemento respecto a las posibles operaciones que se pueden aplicar a l.
En general hay un candado por cada elemento de informacin en la base datos usamos los candados como una forma de sincronizar el acceso a los elementos de la base de datos por parte de las transacciones concurrentes. La idea bsica es simple: cuando una transaccin deba asegurarse de que algn objeto en el que est interesada por lo general, una tupia de base de datos no cambiar de ninguna forma mientras lo est usando, adquiere un bloqueo sobre ese objeto el efecto del bloqueo es "inhibir todas las dems transacciones" en ese objeto y por lo tanto impedir que lo cambien por lo tanto la primera transaccin es capaz de realizar todo su procesamiento con el conocimiento certero de que el objeto en cuestin permanecer en un estado estable durante todo el tiempo que sta lo desee.
Pgina 24 de 31
Se exige que toda transaccin del sistema siga un conjunto de reglas llamado protocolo de bloqueo, que indica el momento en que una transaccin puede bloquear y desbloquear cada uno de los elementos de datos. Los protocolos de bloqueo restringen el nmero de planificaciones posibles.
TIPOS DE BLOQUEO
1. Compartido: Si una transaccin Ti obtiene un bloqueo en modo compartido (denotado por C) sobre el elemento Q, entonces Ti puede leer Q pero no lo puede escribir.
2. Exclusivo: Si una transaccin Ti obtiene un bloqueo en modo exclusivo (denotado por X) sobre el elemento Q, entonces Ti puede tanto leer como escribir Q.
Es necesario que toda transaccin solicite un bloqueo del modo apropiado sobre el elemento de datos Q dependiendo de los tipos de operaciones que se vayan a realizar sobre Q. La peticin se hace al gestor de control de concurrencia. La transaccin puede realizar la operacin slo despus de que el gestor de control de concurrencia conceda el bloqueo a la transaccin.
Si la transaccin A pone un bloqueo exclusivo (X) sobre la tupia t, entonces se rechazar una peticin de cualquier otra transaccin B para un bloqueo de cualquier tipo sobre la tupia t.
Si la transaccin A pone un bloqueo compartido (S) sobre la tupia t entonces: Se rechazar una peticin de cualquier otra transaccin B para un bloqueo X sobre t. Se otorgar una peticin de cualquier otra transaccin B para un bloqueo S sobre t (esto es ahora tambin B tendr un bloqueo S sobre i)
Pgina 25 de 31
SERIALIZABILIDAD CON EL BLOQUEO DE DOS FASES
En el protocolo de bloqueo de dos fases estricto cada subtransaccin debe informar a las otras subtransacciones de que ha requerido todos los bloqueos. Luego de que todas las transacciones completaron su fase 1 (de bloqueo) pueden continuar con las lecturas y escrituras para luego liberar los bloqueos (unlock). El problema de completar la fase 1 se conoce como problema de concordancia distribuida.
PROTOCOLO DE COMPROMISO DISTRIBUIDO
Una transaccin T que fue iniciada en un sitio S y dividida en varias subtransacciones ejecutndose en diferentes sitios. La subtransaccin del sitio S se denomina coordinador y las otras participantes. Cada subtransaccin Ti decide si cometer o abortar, y enva al coordinador un mensaje ready T o No T. El coordinador toma la decisin final en funcin de las votaciones de todos los participantes. Cuando se presentan fallas en la red, este protocolo puede llevar a estados de bloqueo, esto es, una subtransaccin en un sitio que no fall no puede cometer ni abortar hasta que se repare la falla en el sitio de origen.
Pgina 26 de 31
3.2 A CONFIFURA LOS CONTROLES DE ACCESO CREACIN, MODIFICACIN Y ELIMINACIN DE USUARIOS
Las nicas cuentas autorizadas a ejecutar los siguientes comandos son: apalacios, scamposd, mtapia, jmorales, hcastilloo, jcisternas. Deben ingresar va ssh al servidor hera.inf.ucv.cl y ejecutar los comandos tal cual se muestran aqu: Antes de crear una cuenta, deben pedirle el comprobante de matrcula al alumno(a). Si no lo tiene en su poder, deben pedirle que ingrese a su navegador acadmico y confirmar que est matriculado en esta Escuela.
Los comandos son: Verificar que el id de usuario no exista: id <napellido> Crear usuario: sudo smbldap-useradd -m <napellido>
Ingresar el nombre y apellido completo: sudo smbldap-userinfo <napellido>
Crear o cambiar la contrasea: sudo smbldap-passwd <napellido>
Borrar un usuario: sudo smbldap-userdel -r <napellido>
Pgina 27 de 31
Utiliza estos comandos con cuidado, especialmente el que permite borrar usuarios ya que tambin se borran sus archivos en la carpeta raz (/var/home/napellido). Crear SIEMPRE las cuentas con la primera letra del nombre y el primer apellido completo. Si el "napellido" ya existe, preguntar el segundo apellido y aadir la inicial al final ("napellidoa"). Ejemplos: fmoralesm, apalaciosc, scamposd. Las cuentas que no cumplan el formato anterior sern eliminadas.
Es obligatorio el comando "smbldap-userinfo" para almacenar el nombre completo del usuario.
DEFINCIN DE ROLES Y PERFILES Los roles son conjuntos de privilegios que puede tener garantizados una serie de privilegios tanto del sistema como sobre objetos, y a la vez puede tener garantizado otros roles.
Por defecto cuando creamos un usuario desde el Enterprise Manager se le asigna el permiso de Connect, lo que permite al usuario conectarse a la BD y crear sus propios objetos en su propio esquema. De otra manera, debemos asignarlos en forma manual.
Sintaxis para crear un Rol y asignarlo a un usuario: SQL> CREATE ROLE appl_dba;
Opcionalmente, se puede asignar una clave al Rol: SQL> SET ROLE appl_dba IDENTIFIED BY app_pwd;
Pgina 28 de 31
Para asignar este Rol a un usuario: SQL> GRANT appl_dba TO jperez;
Otro uso comn de los roles es asignarles privilegios a nivel de Objetos, por ejemplo en una Tabla de Facturas en donde slo queremos que se puedan hacer Querys e Inserts:
SQL> CREATE ROLE consulta;
SQL> GRANT SELECT, INSERT on analista.factura TO consulta;
PERFILES
Los perfiles permiten definir limitaciones de recursos. Por ejemplo podemos definir un perfil que limite el nmero de sesiones abiertas concurrentemente por un usuario cualquiera, y posteriormente aplicar este perfil a uno o ms usuarios concretos.
Pgina 29 de 31
ASIGNACIN DE PRIVILEGIOS A USUARIOS EN EL SISTEMA GESTOR DE BASES DE DATOS Son un tipo de software muy especfico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.
CREACIN, LECTURA, MODIFICACIN Y ELIMINACIN
Para crear una base se deben realizar dos ejercicios de diseo: un diseo lgico y uno fsico. El diseo lgico de una base de datos es un modelo abstracto de la base de datos desde una perspectiva de negocios, mientras que el diseo fsico muestra como la base de datos se ordena en realidad en los dispositivos de almacenamiento de acceso directo.
El diseo fsico de la base de datos es llevado a cabo por los especialistas en bases de datos, mientras que el diseo lgico requiere de una descripcin detallada de las necesidades de informacin del negocio de los negocios actuales usuarios finales de la base.
El proceso tambin identifica elementos redundantes y los agrupamientos de los elementos de datos que se requieren para programas de aplicaciones especficos. Los grupos de datos son organizados, refinados y agilizados hasta que una imagen lgica general de las relaciones entre todos los elementos en la base de datos surja.
Pgina 30 de 31
3.2 B RESPALDO DE DATOS TIPOS DE RESPALDOS La palabra "Backup" significa subir respaldo, siendo comn el uso de este trmino dentro del mbito informtico. El respaldo de informacin es la copia de los datos importantes de un dispositivo primario en uno varios dispositivo s secundarios, ello para que en caso de que el primer dispositivo sufra una avera electromecnica un error en su estructura lgica, sea posible contar con la mayor parte de la informacin necesaria para continuar con las actividadesrutinarias y evitar prdida generalizada de datos.
La importancia de tener un respaldo radica en que todos los dispositivos de almacenamiento masivo de informacin tienen la posibilidad de fallar, por lo tanto es necesario que se cuente con una copia de seguridad de la informacin importante, ya que la probabilidad de que 2 dispositivos fallen de manera simultnea es muy difcil.
TIPOS DE RESPALDO Respaldos completos El tipo de operacin ms bsico y completo. Como su propio nombre indica, copia la totalidad de los datos en otro juego de soportes, que puede consistir en cintas, discos, o en un DVD o CD. La ventaja principal de un respaldo completo es que en cada operacin es que se dispone de la totalidad de los datos en un nico juego de soportes. Esto permite restaurar los datos en un tiempo mnimo, lo cual se mide en trminos de objetivo de tiempo de recuperacin (RTO). No obstante, el inconveniente es que lleva ms tiempo realizarse que otros tipos. Respaldos incrementales Slo copia los datos que han variado desde la ltima operacin de respaldo de cualquier tipo. Se suele utilizar la hora y fecha de modificacin estampada en los archivos, comparndola con la hora y fecha del ltimo guardado. nicamente copia los datos a partir del ltimo respaldo de cualquier tipo, se puede ejecutar tantas veces como se desee, pues slo guarda los cambios ms recientes. Su principal ventaja es que copia una menor cantidad de datos que un guardado completo.
Pgina 31 de 31
Respaldos diferenciales Es similar a un respaldo incremental la primera vez que se lleva a cabo, pues copiar todos los datos que hayan cambiado desde el guardado anterior. Sin embargo, cada vez que se vuelva a ejecutar, seguir copiando todos los datos que hayan cambiado desde el anterior completo. Por lo tanto, en las operaciones subsiguientes almacenar ms datos que un respaldo incremental, aunque normalmente muchos menos completo. A partir de estos tres tipos de backup principales, se puede definir una estrategia propia para la proteccin de datos. Normalmente se utiliza uno de los enfoques siguientes: -Completo diario -Completo semanal + Diferencial diario -Completo semanal + Incremental diario
RESPALDOS MANUALES Y AUTOMATIZADOS
Manual El usuario copia directamente los archivos a respaldar por medio de comandos por medio del explorador de archivos de su respectivo sistema operativo.
Otra forma de realizar las copias de seguridad es por medio de una aplicacin que permita la creacin de la copia al momento y con los datos existentes hasta ese momento, regularmente los datos se almacenan en forma de archivos comprimidos para ahorrar espacio. Ejemplo Microsoft Copia de Seguridad.
Automtico Por medio de una aplicacin especializada, el usuario programa los archivos a guardar y este respaldo se va actualizando en tiempo real (simultneamente), conforme se van registrando cambios en los archivos. Ejemplo Computer Associates Survive IT.