Академический Документы
Профессиональный Документы
Культура Документы
Introduccin.
El presente documento es una recopilacin de conceptos para la
materia de Bases de Datos II de la carrera de Tcnico Superior
Universitario en Informtica. Tiene el propsito de ayudar a todos
aquellos alumnos que toman la materia como autodidactas.
Transaccin A
Leer registro X
Calcular X=X-1000
Escribir registro X
-------------------------------------------------------
Transaccin B
------------------------------------------------Leer registro X
Calcular X=X*1.15
Escribir registro X
Atomicidad.
Las modificaciones a una base de datos deben garantizar la
consistencia. Para esto, cualquier transaccin debe realizarse de
manera completa y segura. En caso de no completarse la
transaccin, debe retroceder y dejar a la base de datos
consistente.
UNIDAD I.
RECUPERACIN Y ATOMICIDAD.
Definicin de Base de Datos.
Es un conjunto de archivos que permite almacenar informacin
referente a un universo especfico, acotado y ordenado.
Transaccin A
Objetivo.
El objetivo de un SMBD es proporcionar un ambiente adecuado,
simplificado y eficiente para administrar la informacin de la
base de datos.
Leer registro X
Calcular X=X-1000
Escribir registro X
Justificacin.
Uno de los objetos ms importantes de cualquier empresa es la
informacin. La informacin se almacena en una base de datos
para mantenerla ordenada y consultarla de manera rpida y
confiable. Por lo tanto, es necesario contar con un SMBD
eficiente, rpido y confiable.
Tipos de Fallas.
Existe una gran cantidad de situaciones que pueden dar origen a
una cada del sistema, algunas dependen directamente de la
persona encargada de administrar la base de datos y otras no. Las
fallas se pueden clasificar en: fallas del SMBD, fallas del Sistema
Operativo y fallas fsicas.
se detiene la transaccin
instruccin no se ejecuta
instruccin no se ejecuta
instruccin no se ejecuta
Activa.
Una transaccin entra en su estado activo cuando se ejecuta su
primera instruccin. Se considera una transaccin que puede
retroceder sin afectar a la base de datos.
Parcialmente cometida.
Una transaccin est en su estado parcialmente cometido cuando
ejecuta su primera operacin de escritura . Si no se ejecuta por
completo dejar inconsistente a la base de datos.
Cometida.
Una transaccin entra en su estado cometido cuando ejecuta su
ltima operacin de escritura . Si ocurre una cada del sistema
despus de sta, la base de datos no queda inconsistente.
Fallada.
Si una transaccin no puede completar una de sus instrucciones
de escritura
o de lectura
, entra en un estado fallado. Si
realiz una operacin de escritura, debe retroceder y restaurar los
valores de la base de datos que modific. Si no realiz ninguna
operacin de escritura, simplemente retrocede.
Abortada.
Cuando una transaccin ha fallado y ejecuta su ltima operacin para
restaurar los datos que modific , entra al estado abortado.
Fallas Fsicas.
Dentro de las fallas fsicas se incluyen todas aquellas fallas que
involucran al hardware, como la falta de energa elctrica, los
problemas mecnicos y los problemas de red.
El caso ms comn de la cada de sistemas es por falta de energa
elctrica. Para evitar este problema tan reincidente se recomienda
contar con un UPS (Unbreakeable Power System).
Otro causa comn por la que se presentan fallas en el sistema es
debido a problemas con los dispositivos mecnicos. Cuando
algn dispositivo de almacenamiento mecnico, de comunicacin
o de lectura/escritura externa (impresora o escner) ha fallado,
puede dar origen a una cada del sistema. Tambin cuando algn
cable de red o dispositivo de conexin sufre dao fsico, puede
generar una cada del sistema.
Tipos de Fallas.
Fallas del SMBD.
Lgico
Excepcin
Fallas del Sistema Operativo.
Error en el manejo de Archivos
Error de Controlador
Error de la Interfaz
Fallas Fsicas.
Energa Elctrica
Problema Mecnico
Problema con la Red
2.
4.
3.
5.
Contenido de la bitcora.
Para cumplir con su propsito la bitcora debe registrar en
memoria estable cada operacin antes de realizarla en la base de
datos. Cada registro de la bitcora se compone de cuatro datos: El
identificador de la transaccin, el registro/campo que se va a
modificar, el valor actual (anterior a la transaccin) y el valor
final (despus de la transaccin).
Actualizacin diferida.
Consiste en aplazar las operaciones de escritura y ejecutarlas al
mismo tiempo antes de terminar la transaccin con el propsito
de garantizar la atomicidad. Esto reduce la probabilidad de que
ocurra un fallo del sistema entre la primera y la ltima operacin
de escritura.
Doble paginacin.
La doble paginacin se utiliza para tener dos opciones para cada
registro de bitcora al momento de recuperarse de una cada del
sistema: retroceder o completar. Esto disminuye el tiempo de
recuperacin del sistema.
Actualizacin no diferida.
Consiste en ejecutar todas las operaciones de una transaccin de
manera secuencial, sin aplazamientos. Entre mayor sea el tiempo
que transcurra entre la primera y la ltima operacin de escritura
de una misma transaccin, mayor ser la probabilidad de que el
fallo ocurra entre ellas.
Puntos de verificacin.
El fallo del sistema puede ocurrir en cualquier momento de la
ejecucin de la transaccin, ya sea al leer o escribir en la base de
datos o en la bitcora. Si la cada del sistema se presenta cuando
se est escribiendo el registro en la bitcora, puede dejar a la
misma bitcora en estado inconsistente y generar errores.
3.
UNIDAD II.
SEGURIDAD E INTEGRIDAD.
1.
Problemas de Inconsistencia.
La inconsistencia es el estado de la informacin despus de sufrir
alteraciones no autorizadas por el propietario. Estas alteraciones
pueden ser intencionales o accidentales debidas a:
1.
2.
3.
4.
2.
3.
4.
1.
2.
3.
4.
Vista.
Una vista es una forma de proporcionar al usuario un modelo
personalizado de la base de datos. Una vista permite ocultar datos
que el usuario no tiene la necesidad de ver. Por ejemplo, en un
hospital el contador no necesita ver la parte clnica del expediente
y un doctor no tiene necesidad de ver la parte contable.
Niveles de Seguridad.
Para proteger una base de datos de alteraciones indebidas es
necesario adoptar medidas de seguridad en varios niveles: fsico,
humano, sistema operativo y SMBD.
Limitantes de integridad.
Las limitantes de integridad proporcionan un medio para asegurar
que las modificaciones a la base de datos realizadas por usuarios
autorizados no resulten en una estado de inconsistencia. Estas
consisten en limitantes de dominio, limitantes referenciales y
limitantes funcionales.
Limitantes de dominio.
Consisten en especificar el rango de valores permitidos para cada
campo. Estos valores de rango sern utilizado para validar que las
entradas de usuario sean consistentes.
Limitantes referenciales.
Consisten en validar las referencias en la base de datos. Esto es,
para cada registro que contiene una referencia a otro registro de
la base de datos realmente existan ambos, el registro que realiza
la referencia y el registro que la recibe.
Limitantes funcionales.
Consisten en determinar cuales son las relaciones no permitidas
dentro del esquema de la base de datos. De la misma manera, se
pueden especificar cules son las condiciones que siempre se
deben de cumplir en una base de datos.
4
Disparador.
Es un proceso que se activa automticamente cuando la base de
datos cumple con un conjunto de condiciones especfico
previamente definido. Por ejemplo, si en la base de datos de un
banco un cliente obtiene de alguna manera un saldo negativo, se
activa un disparador para agregarlo como un registro en la tabla
de deudores.
Confiabilidad.
Se dice que un Sistema Manejador de Bases de Datos (SMBD) es
confiable si produce resultados correctos. Es difcil definir si un
SMBD es confiable. Existen dos mtodos para verificar la
confiabilidad de un SMBD:
Cifrado de datos.
Es una tcnica que permite modificar la informacin para
ocultarla de la comprensin natural humana y proporcionar
seguridad al exponerla pblicamente.
1.
2.
Redundancia.
Una rplica o copia de la base de datos (o parte de ella) puede ser
til para la seguridad del sistema en varios casos:
JOTUJUVUP
XSEUTXSSAR
1.
2.
3.
1.
2.
UNIDAD III.
CONCURRENCIA.
Dependencia no comprometida.
Cuando una transaccin modifica un registro de la base de datos
y este registro es ledo por una segunda transaccin
inmediatamente despus, si la primera transaccin retrocede y
anula las modificaciones que realiz, la segunda operar con
datos incorrectos. Ejemplo:
Transaccin A
Leer registro X
Calcular X=X+100
Escribir registro X
------------------Retroceder
-------------------------------------
Modificacin perdida
Dependencia no comprometida
Anlisis inconsistente
Modificacin Perdida.
Cuando las operaciones de lectura escritura
transacciones se ejecutan de forma alternada y
modificaciones sobre un mismo registro de la base de
primera operacin no tiene ningn efecto ya que la
cancela a la primera. Ejemplo:
Transaccin A
Leer registro X
Calcular X=X+100
------------------Escribir registro X
-------------------------------------
t
t1
t2
t3
t4
t5
t6
Transaccin B
------------------------------------------------Leer registro X
----------------Calcular X=X-10
Escribir registro X
Bloqueo de compromiso.
Para solucionar este problema se utiliza la tcnica de
modificacin comprometida, que consiste en mantener un
bloqueo de tipo comprometido al registro que se liber del
bloqueo exclusivo hasta terminar la transaccin con xito o hasta
restaurar los datos modificados si la transaccin retrocedi.
de dos
realizan
datos, la
segunda
Anlisis Inconsistente.
Se presenta cuando una transaccin modifica un registro de la
base de datos que est siendo utilizado por otra transaccin.
Ambas transacciones termina, pero dejan a la base de datos en un
estado inconsistente. Ejemplo:
Transaccin B
--------------------------------Leer registro X
----------------Calcular X=X-10
Escribir registro X
Transaccin A
Leer registro X
Calcular Z=X
------------------------------------------------------Leer registro Y
Calcular Z=Z+Y
------------------------------------------------------Escribir registro Z
t
t1
t2
t3
t4
t5
t6
t7
t
t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
t11
Transaccin B
--------------------------------Leer registro Y
Calcular Y=Y-10
Escribir registro Y
--------------------------------Leer registro X
Calcular X=X+10
Escribir registro X
-----------------
Bloqueo compartido
Bloqueo exclusivo.
Bloqueo compartido.
Se utiliza para operaciones de slo lectura. Si no se realizarn
modificaciones al registro, este puede ser compartido con otras
transacciones.
BloqueoMutuo.
Conocido como DeadLock, se presenta en bases de datos
cuando dos o mas transacciones concurrentes entran en un estado
de espera simultneo, y cada transaccin espera la liberacin de
un bloqueo por parte de otra para poder continuar. Todas las
transacciones participantes quedan suspendidas por tiempo
indefinido.
Bloqueo exclusivo.
Se utiliza para operaciones de escritura. Cuando se accede al
registro para modificarlo, es necesario bloquearlo completamente
para evitar problemas de inconsistencia de los datos.
Transaccin B
Leer registro Y
Leer registro X
Calcular Q=Y+X
Escribir registro Q
t
t1
t2
t3
t4
t5
t6
Transaccin B
--------------------------------Bloquear registro Y
Leer registro Y
----------------Espera por X
UNIDAD IV.
BASES DE DATOS DISTRIBUIDAS.
1. Costo de la instalacin
2. Costo de comunicacin
3. Fiabilidad de la red
4. Disponibilidad de los datos
En base a estos puntos, un sistema distribuido se puede
configurar de distintas maneras.
Transaccin Global.
Se considera que una transaccin es global cuando requiere
acceder a mas de un sitio para obtener la informacin requerida
para su procesamiento.
Consideraciones de una BDD.
Es recomendable tomar en cuenta las siguientes consideraciones
antes de distribuir una base de datos. Estas consideraciones
pueden clasificarse como ventajas y desventajas. Entre las
ventajas de distribuir una base de datos se pueden mencionar:
Requisitos de un SMBDD.
Desde el punto de vista del diseo, un Sistema Manejador de
Bases de Datos Distribuidas es muy complejo por que debe
cumplir con los siguientes requisitos:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.