SUPERIORES DE ECATEPEC
APUNTES PARA LA
ASIGNATURA DE TALLER DE
BASE DE DATOS.
Febrero 2011.
División de la
Licenciatura en Informática
Av. Tecnológico Esq. Av. Hank González Col. Valle de Anáhuac C.P. 55210 Ecatepec de Morelos, Edo. de México
3
Tecnológico de Estudios Superiores de Ecatepec
Dirección Académica
Licenciatura en Informática
Realizado
por
3
Contenido
Licenciatura en Informática....................................................................................................1
Contenido................................................................................................................................3
UNIDAD I. GESTOR DE BASE DE DATOS......................................................................3
1.1 Características de un Gestor..........................................................................................4
Sistema de Gestión de Base de Datos. (SGBD)..................................................................4
Evaluación Diagnostica de Diseño de Arquitectura de Base de Datos..............................5
1.2 Herramientas.................................................................................................................6
1.2.1 De creación de base de datos..................................................................................6
1.2.2 De administración de BD.......................................................................................8
1.2.3 De edición para crear esquemas y consultas de BD ............................................15
1.2.4 De control, monitoreo y estadísticas de acceso a BD..........................................15
1.2.5 Utilerías diversas..................................................................................................16
1.3 Instalación y Configuración del entorno operativo....................................................16
2. Administración de la BD..................................................................................................16
2.1 Creación de BD...........................................................................................................16
2.1.1 Creación de la estructura de BD..........................................................................16
2.1.2 Creación de dominios definidos por el DBA.......................................................16
2.1.3 Definir esquemas generales de la BD (tablas, atributos, llaves primarias y llaves
heredadas).....................................................................................................................16
2.1.4 Creación de vistas de BD.....................................................................................16
..............................................................................................................................................16
Regla de integridad de entidades ......................................................................................20
Regla de integridad referencial ........................................................................................20
Creación de una Contraseña de Usuario para Acceso en SQL Server..........................24
Administración de Permisos.........................................................................................24
2.4 Definición de esquemas de recuperación....................................................................25
2.4.1 Diseño y creación de la bitácora..........................................................................25
Concepto ......................................................................................................................25
2.4.2 Recuperación a partir de la bitácora.....................................................................25
2.4.3 Respaldar la BD...................................................................................................26
2.4.4 Recuperar la BD...................................................................................................31
3
Objetivo de la Unidad Didáctica.
3
Gestor de memoria intermedia, es responsable de traer los datos del disco
de almacenamiento a memoria principal y decidir que datos tratar en
memoria caché.
Una empresa desea tener el control de su almacén. La información que tiene es:
1. Cada producto tiene una clave, un nombre, un costo, una cantidad en existencia y
una cantidad faltante.
2. Cada producto tiene una descripción y un uso especifico que se puede utilizar para
varios experimentos.
3. El almacén cuenta con equipo el cual tiene un número de inventario, un nombre,
descripción de características y un precio.
4. El material de laboratorio se clasifica en equipo, materiales, herramientas.
5. También cuenta con herramientas que pueden ser mecánicas, de software, etc.
6. Dentro de los materiales se encuentran reactivos químicos, material de vidrio de
laboratorio, material de la limpieza, y otros suministros de los cuales es necesario
3
controlar las existencias y pedidos. Cada uno de ellos tiene una clave, un nombre,
unidad de medida, descripción, precio y una partida presupuestal.
1.2 Herramientas
Una de las principales herramientas que existen dentro de los gestores de base de
datos, es la administración de usuarios, privilegios y funciones, de contraseñas de
usuarios y el establecimiento de límites de recursos de la base de datos.
3
También es utilizado para alterar o borrar objetos, tales como esquemas, tablas,
columnas, vistas y secuencias. Como ejemplo, en SQL, son las instrucciones o
comandos CREATE, ALTER y DROP.
Microsoft SQL 2005 tiene dos formas de crear una base de datos, la primera en la cual
mediante el analizador de consultas utilizando la sentencia:
Create database nombre de la bd
Donde:
Primary: Es el parámetro que especifica los archivos del grupo de archivos principal.
El grupo de archivos principal contiene todas las tablas del sistema de la base de
datos. También contiene todos los objetos no asignados a grupos de archivos del
usuario. Todas las bases de datos tienen un archivo de datos principal. El archivo de
datos principal es el punto de inicio de la base de datos y señala a los demás archivos
de la base de datos. La extensión de nombre de archivo recomendada para los
archivos de datos principales es .mdf. Si no se especifica la palabra clave PRIMARY,
el primer archivo enumerado en la instrucción es el archivo principal.
Filename: Este parámetro especifica el nombre del archivo del sistema operativo y la
ruta de acceso al archivo. La ruta acceso de archivoSO debe especificar una carpeta
del servidor en el que está instalado SQL Server.
Maxsize. Este parámetro especifica el tamaño máximo hasta el que puede crecer el
archivo. Puede especificar el tamaño en megabytes (valor predeterminado) o en
kilobytes. Si no se especifica el tamaño, el archivo crece hasta que el disco esté lleno.
3
FileGrowth. Este parámetro especifica el incremento de crecimiento del archivo. El
valor de FILEGROWTH de un archivo no puede sobrepasar el valor de MAXSIZE. Un
valor de 0 indica que no hay crecimiento. El valor se puede especificar en megabytes
(el valor predeterminado), en kilobytes o como porcentaje (%). Si no se especifica
FILEGROWTH, el valor predeterminado es el 10 por ciento y el valor mínimo es 64 KB
(una extensión). El tamaño especificado se redondea al múltiplo de 64 KB más
próximo.
1.2.2 De administración de BD
3
Figura 1. Registro de transacciones con proceso de comprobación y escritura de la misma.1
1
Fuente Manual de Certificación en Microsoft Server SQL.
3
FULL proporciona recuperabilidad
completa ante errores del medio; es el
valor predeterminado. BULK_LOGGED
utiliza menos espacio de registro porque
el registro es mínimo, pero tiene un riesgo
RECOVERY FULL | mayor de exposición. SIMPLE recupera la
BULK_LOGGED | SIMPLE base de datos sólo hasta la última copia
de seguridad completa de la base de
datos o hasta la última copia de seguridad
recuperación diferencial.
Permite a SQL Server detectar
operaciones de E/S incompletas
TORN_PAGE_DETECTION causadas por cortes de energía u otros
apagones del sistema. El valor
predeterminado es ON.
Permite al usuario controlar la capacidad
de asignación predeterminada de valores
ANSI_NULL_DEFAULT NULL de la base de datos. SQL Server
2000 toma como valor predeterminado
NOT NULL.
Si está activada, todas las comparaciones
con un valor nulo se evalúan como NULL
(desconocido). Si está desactivada, todas
las comparaciones de valores no Unicode
ANSI_NULLS con un valor nulo se evalúan como
verdaderas (TRUE) si ambos valores son
NULL. De manera predeterminada, la
opción de base de datos ANSI_NULLS es
OFF.
READ_ONLY | READ_WRITE Define la base de datos como de sólo
Opciones de SQL lectura (se utiliza para establecer la
seguridad en las bases de datos de ayuda
a la toma de decisiones) o devuelve la
base de datos a operaciones de lectura y
escritura.
SINGLE_USER permite que los usuarios
se conecten a la base de datos de uno en
uno. Todas las demás conexiones se
interrumpen. RESTRICTED_USER
permite que sólo los miembros de la
SINGLE_USER | función fija de base de datos db_owner y
RESTRICTED_USER | de las funciones fijas de servidor
MULTI_USER dbcreator y sysadmin se conecten a la
base de datos. MULTI_USER permite que
todos los usuarios con los permisos
adecuados se conecten a la base de
datos. MULTI_USER es la opción
predeterminada.
Uno de los mayores problemas en las bases de datos son su crecimiento y la cantidad de
consultas que se generan en una o varias bases de datos o tablas, los SGBD permiten
separar las tablas o archivos para que el administrador pueda controlar aquellas de mayor
acceso a través de la creación de grupos de archivos. Estos archivos pueden encontrarse
3
en discos duros diferentes y sin embargo el SGBD permite el acceso a cada uno de ellos
como si estuviesen en un solo disco o en un solo archivo.
Es importante mencionar que para que se encuentren en diferentes discos se debe
establecer la configuración de hardware que permita dicha manipulación. Los grupos de
archivos son colecciones de archivos con un nombre. Así por ejemplo en la figura 2, se
puede observar que existen en el disco C:\ varios objetos de nombre sysobjects y
archivos de tablas con el nombre de producto, clientes, etc. Mientras que en el D:\ existe
el archivo historial1, historial2.
Un grupo de archivo son todos ellos tanto los que se encuentran en el disco C:\ como los
del disco D:\, solo que se encuentran separados debido a que los archivos historial1 y 2
son muy consultados situación por la que el administrador decidió separarlos.
Otra de sus ventajas, es que el administrador del SGBD puede hacer respaldo y
recuperación de toda la base de datos o solo del grupo de archivos que le interesa.
Existen diferentes tipos de archivos, siendo estos:
• El grupo de archivos principal, que contiene las tablas del sistema en el archivo de
datos principal, esto es, las bases datos del sistema y las creadas por el usuario
como primary.
• Los grupos de archivos definidos por el usuario, que son los grupos de archivos
que se especifican mediante la palabra clave FILEGROUP.
Otras de las funciones que tiene el SGBD al respecto, es la información que proporciona
de los grupos de archivos, a través de sentencias las cuales son:
FILE_NAME, FILE_ID, FILE_PROPERTY, FILEGROUP_NAME, FILEGROUP_ID y
FILEGROUP_PROPERTY.
2
Ídem.
3
Existen también procedimientos almacenados del sistema los cuales ofrecen una ayuda
sobre el mismo tema, los principales son:
• sp_helpfilegroup [grupoDeArchivos]
Devuelve los nombres y los atributos de los grupos de archivos asociados con la base de
datos actual.
Los archivos de datos pueden modificarse de acuerdo a su crecimiento, esto es, pueden
incrementarse sus capacidades, disminuirse o pueden eliminarse cuando no son
necesarias. Para incrementarlas puede desarrollarse de dos maneras: la automática la
cual se establece desde su definición y manualmente. Esta última es a través de las
siguientes sintaxis, recuerde que el crecimiento puede estar dado por Mb o Kb.
ALTER DATABASE baseDeDatos
{ ADD FILE < filespec > [ ,...n ] [ TO FILEGROUP nombreGrupoDeArchivos ]
| ADD LOG FILE < filespec > [ ,...n ]
| REMOVE FILE nombreArchivoLógico [ WITH DELETE ]
| ADD FILEGROUP nombreGrupoDeArchivos | REMOVE FILEGROUP
nombreGrupoDeArchivos | MODIFY FILE < filespec >
| MODIFY NAME = nuevoNombreBaseDatos
| MODIFY FILEGROUP nombreGrupoDeArchivos {propiedadGrupoDeArchivos
| NAME = nuevoNombreGrupoDeArchivos }
| SET < optionspec > [ ,...n ] [ WITH < termination > ]
| COLLATE < nombreIntercalación >
3
NOTRUNCATE Hace que SQL Server mantenga el
espacio liberado en los archivos de la
base de datos. La acción
predeterminada es pasar el espacio
liberado de los archivos al sistema
operativo.
TRUNCATEONLY Hace que el espacio no utilizado en
los archivos de datos pase al sistema
operativo y reduce el archivo hasta la
última extensión asignada, con lo que
disminuye el tamaño del archivo sin
mover ningún dato. No se vuelven a
asignar filas a páginas no asignadas.
Cuando se utiliza esta opción, SQL
Server omite porcentajeDestino.
Opción Descripción
tamañoDestino Especifica el tamaño deseado
para el archivo de datos, en
megabytes, expresado como
número entero. Si no se
especifica, DBCC SHRINKFILE
reduce el tamaño tanto como
sea posible.
EMPTYFILE Migra todos los datos desde el
archivo especificado a otros
archivos del mismo grupo de
archivos. SQL Server ya no
permite colocar datos en los
archivos en los que se ha
utilizado la opción
EMPTY_FILE. Utilice esta
opción para eliminar el archivo
mediante la instrucción ALTER
DATABASE.
Para eliminar una base de datos, en el analizador de consulta o new query se introduce la
siguiente sintaxis:
Drop database <nombre de la base de datos>
Si lo que se desea eliminar es la tabla, la sintaxis es:
Drop table <nombre de la tabla>.
3
• La base de datos se encuentre abierta por un usuario ya sea que este realizando
una operación de lectura o escritura.
• Se encuentre publicada una de sus tablas como parte de la duplicación de SQL
Server.
• Ninguna de las bases de datos del sistema, estas son: model, master, tempdb y
Existen diferentes tipos de usuarios dentro de las bases de datos, desde los que son
simples usuarios de inserción y consultas de datos hasta los que desarrollan funciones
de administración dentro de ella. Microsoft SQL 2005 permite la autenticación de
usuarios tanto de tipo operativo como de funciones y administradores. Entre las
funciones se encuentran: administrador, creador y alterar bases de datos,
administrador de archivo de disco, etc. Ver figura 3.
Asimismo el usuario puede definir las funciones sobre las bases de datos creadas por
él, además de los permisos que se le otorgan y que puede otorgar en ellas y que se
presentan más adelante.
Administración de Servicios.
3
• Mensajes de alerta, cuando existe problemas de conexión con el servidor.
Existen diferentes modelos de datos, tal como jerárquico, red, entidad relación, orientado a
objeto, etc. Los SGBD en su mayoría están basados en el modelo relacional. Cada uno de
ellos se caracteriza por tener diferentes formas en su esquema, así por ejemplo el
jerárquico tiene una estructura de árbol, la cual en su esquema lo establece por círculos
relacionados con líneas que unen un circulo o estructura de datos con la otra.(Ver figura ).
Un esquema esta conformado por instancias las cuales son como un conjunto de datos
que conforman una entidad u objeto en el cual se advierten sus características de estos
datos, como son: tamaño, valores que puede tomar y que representa gráfica y
simbólicamente cosas inmateriales.
El esquema general se conforma de tres modelos: conceptual, el cual establece las
restricciones del problema real, su representación es a través de reglas de negocios o
supuestos; el modelo lógico el cual establece las relaciones entre una entidad u objeto y
otra, además de definir los atributos o instancias que pertenecen a cada entidad y,
finalmente el modelo interno o físico que establece la forma de almacenamiento de la
base de datos. En estos dos últimos modelos se basan los SGBD.
Por otra parte, los SGBD permiten la edición de las tablas y relaciones existentes en un
esquema de BD a través de editores de texto conocidos como analizadores de consultas
(new query), en los cuales utilizando LMD y LDD, se pueden crear bases de datos, tablas,
campos, modificar, eliminar, insertar y realizar operaciones de consultas tales como
proyecciones, producto cartesiano, etc. Además permiten definir procedimientos
almacenados así como desencadenadores.
El analizador de consulta también permite ver los resultados de las consultas en formato
de cuadricula o de texto. Entre las utilerías que ofrece se encuentran: permite crear un
plan de ejecución, esto es, analiza la compilación de la sentencia e identifica los errores.
Otra de las funciones del analizador de consulta es realizar gráficamente las relaciones
entre una tabla y otra. (Ver figura).
2. Administración de la BD
2.1 Creación de BD
Las bases de datos son estructuras que contienen un conjunto de archivos los cuales son
presentados al usuario como tablas. Cada tabla está compuesta por campos y registros,
llamados estos tuplas. Los campos tienen dominios los cuales constan de un nombre y un
tipo de dato.
3
En la arquitectura de tres niveles de una base de datos, se describe una vista externa
como la estructura de la base de datos tal y como la ve un usuario en particular. En el
modelo relacional, el término `vista' tiene un significado un tanto diferente. En lugar de ser
todo el esquema externo de un usuario, una vista es una relación virtual, una relación que
en realidad no existe como tal. Una vista se puede construir realizando operaciones como
las del álgebra relacional: restricciones, proyecciones, concatenaciones, etc. a partir de
las relaciones base de la base de datos. Las relaciones base son aquellas que forman
parte directa de la base de datos, las que se encuentran almacenadas físicamente. Un
esquema externo puede tener tanto relaciones base como vistas derivadas de las
relaciones base de la base de datos.
Una vista es el resultado dinámico de una o varias operaciones relacionales realizadas
sobre las relaciones base. Una vista es una relación virtual que se produce cuando un
usuario la consulta. Al usuario le parece que la vista es una relación que existe y la puede
manipular como si se tratara de una relación base, pero la vista no está almacenada
físicamente. El contenido de una vista está definido como una consulta sobre una o varias
relaciones base. Cualquier operación que se realice sobre la vista se traduce
automáticamente a operaciones sobre las relaciones de las que se deriva. Las vistas son
dinámicas porque los cambios que se realizan sobre las tablas base que afectan a una
vista se reflejan inmediatamente sobre ella. Cuando un usuario realiza un cambio sobre la
vista (no todo tipo de cambios están permitidos), este cambio se realiza sobre las
relaciones de las que se deriva.
Las vistas son útiles por varias razones:
Se puede utilizar una vista para ofrecer un esquema externo a un usuario de modo que
éste lo encuentre `familiar'. Por ejemplo:
• Un usuario puede necesitar los datos de los directores junto con los de las
oficinas. Esta vista se crea haciendo una concatenación de las relaciones
PLANTILLA y OFICINA, y proyectando sobre los atributos que se desee mantener.
• Otro usuario puede que necesite ver los datos de los empleados sin ver el salario.
Para este usuario se realiza una proyección para crear una vista sin el atributo
salario.
• Los atributos se pueden renombrar, de modo que cada usuario los vea del modo
en que esté acostumbrado. También se puede cambiar el orden en que se
visualizan las columnas.
• Un miembro de la plantilla puede querer ver sólo los datos de aquellos inmuebles
que tiene asignados. En este caso, se debe hacer una restricción para que sólo
se vea el subconjunto horizontal deseado de la relación INMUEBLE.
3
Como se ve, las vistas proporcionan independencia de datos a nivel lógico, que también
se da cuando se reorganiza el nivel conceptual. Si se añade un atributo a una relación, los
usuarios no se percatan de su existencia si sus vistas no lo incluyen. Si una relación
existente se reorganiza o se divide en varias relaciones, se pueden crear vistas para que
los usuarios la sigan viendo como al principio.
Cuando se actualiza una relación base, el cambio se refleja automáticamente en todas las
vistas que la referencian. Del mismo modo, si se actualiza una vista, las relaciones base
de las que se deriva deberían reflejar el cambio. Sin embargo, hay algunas restricciones
respecto a los tipos de modificaciones que se pueden realizar sobre las vistas. A
continuación, se resumen las condiciones bajo las cuales la mayoría de los sistemas
determinan si se permite realizar una actualización:
Tipos de vistas
Vistas Estándar.
• La combinación de datos de una o más tablas mediante una vista estándar permite
satisfacer la mayor parte de las ventajas de utilizar vistas. Éstas incluyen centrarse
en datos específicos y simplificar la manipulación de datos. Estas ventajas se
describen pormenorizadamente en Escenarios de utilización de vistas.
• Vistas indizadas
•
• Una vista indizada es una vista que se ha materializado. Esto significa que se ha
calculado y almacenado. Se puede indizar una vista creando un índice agrupado
único en ella. Las vistas indizadas mejoran de forma considerable el rendimiento de
algunos tipos de consultas. Las vistas indizadas funcionan mejor para consultas que
agregan muchas filas. No son adecuadas para conjuntos de datos subyacentes que
se actualizan frecuentemente. Para obtener más información, vea Diseñar vistas
indizadas.
3
• Una vista con particiones junta datos horizontales con particiones de un conjunto de
tablas miembro en uno o más servidores. Esto hace que los datos aparezcan como
si fueran de una tabla. Una vista que junta tablas miembro en la misma instancia de
SQL Server es una vista con particiones local.
• Cuando una vista junta datos de tablas de servidores, es una vista con particiones
distribuida. Las vistas con particiones distribuidas se usan para implementar una
federación de servidores de bases de datos. Una federación es un grupo de
servidores que se administran independientemente, pero que colaboran para
compartir la carga de proceso de un sistema. Formar una federación de servidores
de base de datos mediante la partición de datos es el mecanismo que permite
ampliar horizontalmente un conjunto de servidores para admitir los requisitos de
procesamiento de sitios Web de varios niveles y de gran tamaño.
3
2.2 Definición de esquemas de integridad
Por definición, una clave primaria es un identificador irreducible que se utiliza para
identificar de modo único las tuplas. Que es irreducible significa que ningún subconjunto
de la clave primaria sirve para identificar las tuplas de modo único. Si se permite que parte
de la clave primaria sea nula, se está diciendo que no todos sus atributos son necesarios
para distinguir las tuplas, con lo que se contradice la irreducibilidad.
Nótese que esta regla sólo se aplica a las relaciones base y a las claves primarias, no a
las claves alternativas.
3
La regla de integridad referencial se enmarca en términos de estados de la base de datos:
indica lo que es un estado ilegal, pero no dice cómo puede evitarse. La cuestión es ¿qué
hacer si estando en un estado legal, llega una petición para realizar una operación que
conduce a un estado ilegal? Existen dos opciones: rechazar la operación, o bien aceptar
la operación y realizar operaciones adicionales compensatorias que conduzcan a un
estado legal.
Por lo tanto, para cada clave ajena de la base de datos habrá que contestar a tres
preguntas:
• Regla de los nulos: ¿Tiene sentido que la clave ajena acepte nulos?
• Regla de borrado: ¿Qué ocurre si se intenta borrar la tupla referenciada por la
clave ajena?
o Restringir: no se permite borrar la tupla referenciada.
o Propagar: se borra la tupla referenciada y se propaga el borrado a las
tuplas que la referencian mediante la clave ajena.
o Anular: se borra la tupla referenciada y las tuplas que la referenciaban
ponen a nulo la clave ajena (sólo si acepta nulos).
• Regla de modificación: ¿Qué ocurre si se intenta modificar el valor de la clave
primaria de la tupla referenciada por la clave ajena?
o Restringir: no se permite modificar el valor de la clave primaria de la tupla
referenciada.
o Propagar: se modifica el valor de la clave primaria de la tupla referenciada
y se propaga la modificación a las tuplas que la referencian mediante la
clave ajena.
o Anular: se modifica la tupla referenciada y las tuplas que la referenciaban
ponen a nulo la clave ajena (sólo si acepta nulos).
3
Desencadenadores INSTEAD OF
Restricciones
Su estructura:
CREATE TRIGGER nombre_desencadenador
On tabla o vista
Tipo_Desencadenador lista_comando
As
Sentencias_SQL
Su sintaxis es:
CREATE PROCEDURE nombre_proce
[lista de parametors]
AS
Sentencias_procedimiento
3
Los procedimientos almacenados pueden llamar a otros procedimientos en
anidamiento. Como limite su pueden llamar hasta 32 niveles de profundidad
anidados. Existen diferentes tipos de procedimientos almacenados, entre ellos:
• Procedimiento con parámetro de entrada. Este procedimiento
almacenado reciben un parámetro de entrada, que se asigna a una
variable, su estructura es:
@nombre_parametro tipo_dato [=valor_defecto] [OUTPUT]
Donde Nombre_parametro declara @, como una variable local, como
máximo puede recibir 2100 parámetros por procedimiento almacenado;
Valor_defecto es el valor que utilizará el procedimiento almacenado
• Procedimiento almacenado con valor por defecto. En este se declara e
inicializa la variable local del procedimiento, su estructura es:
CREATE PROCEDURE valor_def
@apellido_cli varchar(15)='Martinez'
AS
SELECT id_cliente, Apellidop FROM clientes
WHERE Apellidop=@apellido_cli
EXECUTE valor_def
• Procedimiento Almacenado con un Parámetro de Salida. Este
procedimiento al contrario del primero, lo que ofrece es un parámetro de
salida a monitor, su sintaxis es:
USE Almacen
GO
IF EXISTS (SELECT name FROM sysobjects
WHERE name='proc_salida' AND type='P')
DROP PROCEDURE proc_salida
GO
3
• Sistema de base de datos. Quien otorga privilegios y autorizaciones a usuarios.
• Sistema Operativo. Quien otorga acceso o inicio de sesión.
• Red, el cual puede ser por hardware como tarjetas de encriptamiento y software
con programas o algoritmos de encriptamiento.
• Físico. Políticas de acceso físico al área.
• Humano. Selección de personal adecuado.
Todo usuario que intente conectarse a la base de datos, debe hacerlo con un nombre de
usuario y una contraseña, que autentique que esta autorizado para usar la cuenta. En
algunos SGBD la contraseña y nombre de usuarios pueden contener de 1 a 128
caracteres y pueden incluir letras, símbolos y números. No pueden contener el carácter
barra diagonal inversa (\).
Administración de Permisos.
3
Además de los permisos existen las autorizaciones las cuales son:
• Autorización de lecturas.
• Autorización de inserción.
• Autorización de actualización (permite la modificación de los datos pero no su
borrado).
• Autorización de borrado.
• Actualización de índices.
• Actualización de recursos (creación de nuevas relaciones)
• Alteración (añadir o eliminar atributos de las relaciones).
• Eliminación (borrado de relaciones).
Herramientas de Control, Monitoreo y Acceso a la base de datos.
En cuanto a seguridad:
Concepto
3
2.4.3 Respaldar la BD
Sistema de Recuperación.
En un sistema pueden producirse varios tipos de fallos, cada uno debe tratarse de forma
diferente. Existen diferentes tipos, entre los más importantes:
Para determinar como el sistema debe recuperarse de los fallos, es necesario identificar
los modos de fallos de los dispositivos de almacenamiento. Estos utilizan algoritmos de
recuperación los cuales constan de dos partes:
• Acciones llevadas a cabo durante el procesamiento normal de transacciones
para asegurar que existe información suficiente para permitir la recuperación
frente a fallos, y
• Acciones llevadas a cabo después de ocurrir un fallo para restablecer el
contenido de la base de datos a un estado que asegure la consistencia de la
base de datos, la atomicidad de la transacción y la durabilidad.
3
• En el esquema de modificación diferida, durante la ejecución de una transacción,
se difieren todas las operaciones de escribir hasta que la transacción se
compromete parcialmente, momento en el que se utiliza la información del registro
histórico asociada con la transacción para ejecutar las escrituras.
• Con la técnica de modificación inmediata, todas las modificaciones se aplican
directamente sobre la base de datos. Si ocurre una caída se utiliza la información
del registro histórico para conducir a la base de datos a un estado estable previo.
• Puede usarse la técnica de los puntos de revisión para reducir la sobrecarga que
conlleva la búsqueda en el registro histórico y rehacer las transacciones.
Es la estructura más utilizada para guardar las modificaciones de la base de datos. Se
define como una secuencia de registros que mantiene un registro de todas las
actividades de actualización de la base de datos. Existen varios tipos de registros del
registro histórico, como por ejemplo el registro de actualización del registro histórico, el
cual contiene los campos de identificador de la transacción , que es un identificador
único de la transacción que realiza la operación de escribir; un identificador del
elemento de datos, que identifica al elemento que se escribe,; el valor anterior que es
el valor que tenia el elemento de datos ante de la escritura; y el valor nuevo que es el
valor que tiene el elemento después de la escritura.
Dentro de este esquema se localizan dos técnicas de modificación: la diferida y la
inmediata. La técnica de la modificación diferida garantiza la atomicidad de las
transacciones mediante el almacenamiento de todas las modificaciones de la base de
datos en el registro histórico, pero retardando la ejecución de todas las operaciones de
escribir hasta que la transacción se encuentra parcialmente comprometida., esto es
hasta que se realiza la última operación de la transacción.
Cuando una transacción se compromete parcialmente, la información del registro
histórico asociada a esa transacción se utiliza para la ejecución de las escrituras
diferidas, si el sistema cae antes de que la transacción se complete su ejecución o si
la transacción es abortada, la información del registro histórico simplemente se ignora.
La técnica de modificación inmediata permite la salida de las modificaciones de la
base de datos a la propia base de datos mientras que la transacción esta todavía en
estado activo. En caso de una caída o de un fallo en la transacción, el sistema debe
utilizar el campo para el valor anterior de los registros del registro histórico, para
restaurar los elementos de datos modificados a los valores que tuvieron antes de
comenzar la transacción.
Paginación en la Sombra.
3
Cuando el sistema sufre una caída, este se recupera de la tabla de paginación en la
sombra, copiándose esta en la memoria RAM para continuar ejecutando
transacciones activas. (Ver figura 1)
3
Figura 1. Técnica de Recuperación de Paginación en la Sombra
COPIA DE
PRINCIPAL RED SEGURIDAD
Registros del
registro
histórico
3
2.4.4 Recuperar la BD
Las copias de seguridad de base de datos son una parte fundamental en la creación de
esta estrategia, sin una estrategia de copias de seguridad efectiva podríamos
encontrarnos en una situación en que tengamos una base de datos corrupta pero no las
suficientes copias de seguridad para restaurarlo.
Para evitar perderlo todo en una falla siga las siguientes recomendaciones:
• Realice copias de seguridad con frecuencia (esto depende del uso de la base de
datos).
• Mantenga copias de seguridad completas fuera del sitio.
• Realice comprobaciones de consistencia con cierta frecuencia.
• Administre sus copias de seguridad con efectividad.
MODELOS DE RECUPERACION
3
Completa: El más completo, si falla el disco duro; le permite recuperarse hasta el
momento justo de falla o en cualquier momento del tiempo. Para poder lograr esto todas
las operaciones se registran lo que hace que el registro crezca demasiado ya que las
operaciones masivas también se registran. Esta es una característica muy poderosa
cuando se tiene una base de datos 24*7, nos permite asegurar que se pierda la menor
cantidad de modificaciones posible.
Todos estos modelos tienen ventajas y desventajas, determinar cuál es el mejor depende
de sus requerimientos individuales. Por ejemplo, una base de datos que tenga muchas
transacciones y necesite recuperarse completamente lo más pronto posible se
beneficiaría con el modelo de recuperación completa, Una base de datos que haya tenido
muchas actualizaciones masivas y no necesite recuperar las transacciones individuales
de los usuarios podría utilizar el modelo de registro masivo, y por último el modelo simple
se utiliza para aplicaciones que no sean cruciales o para aplicaciones en desarrollo.
3
• Archivo y grupo de archivos: Nos permite realizar una copia de seguridad de
una porción de la base de datos a la vez. Esta se debe de usar cuando la
base de datos es muy extensa, también se deben realizar copia del registro de
transacción para poder recuperarse.
Existen dos formas de realizar la copia de la base de datos, por medio del Enterprise
Manager o del Query Analizar.