You are on page 1of 33

TECNOLÓGICO DE ESTUDIOS 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

APUNTES PARA LA ASIGNATURA DE TALLER BASE DE DATOS Realizado por M. en C. Ma. Dolores Sabido Montejo

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

UNIDAD I. GESTOR DE BASE DE DATOS

3

 Gestor de transacciones. así como las tecnologías de conectividad. la semántica de los datos y las restricciones. La gestión de los datos implica tanto la definición de las estructuras para el almacenamiento como la provisión de mecanismos para la manipulación de la información. Sus componentes son:  Gestor de autorización e integridad que comprueba que se cumplan las restricciones de integridad y autorización de los usuarios para acceder a los datos. 1. El gestor de almacenamiento es responsable de la interacción con el gestor de archivos. Su objetivo es proporcionar un entorno que sea conveniente y eficiente para proporcionar la recuperación y el almacenamiento de la información a las personas. gestiona la reserva de espacio de almacenamiento de disco. Los sistemas de base de datos se diseñan para almacenar grandes cantidades de información. En el se utilizan el modelo E-R.  Gestor de archivos. Sistema de Gestión de Base de Datos. • Esquema de la Base de datos: es el diseño general de la base de datos y en el se especifica un conjunto de definiciones que se expresan mediante un lenguaje de definición de datos (LDD) y un lenguaje de manipulación de datos (LMD). Un gestor de base de datos consiste en una colección de datos interrelacionados y una colección de programas para acceder a esos datos. La estructura de la base de datos está compuesta por: • Modelo de Datos: que es una colección de herramientas conceptuales para describir los datos y la relación entre ellos.1 Características de un Gestor. Además deben proporcionar la seguridad de la información almacenada en casos de caídas del sistema o intentos de acceso sin autorización. (SGBD) Este se encuentra compuesto por: • Gestor de Almacenamiento: es un modulo de programas que proporciona la interfaz entre los datos de bajo nivel y los programas de aplicación y consulta emitidos por el sistema. El estudiante identificara herramientas de software para diseñar y administrar bases de datos. 3 .Objetivo de la Unidad Didáctica. modelo relacional y el modelo orientado a objetos. que asegura que la base de datos quede en un estado consistente a pesar de los fallos del sistema y que las ejecuciones de transacciones concurrentes ocurran sin conflictos.

Una empresa desea tener el control de su almacén. 5. materiales. 4. También cuenta con herramientas que pueden ser mecánicas. herramientas. descripción de características y un precio. 3. es responsable de traer los datos del disco de almacenamiento a memoria principal y decidir que datos tratar en memoria caché. Cada producto tiene una descripción y un uso especifico que se puede utilizar para varios experimentos. El almacén cuenta con equipo el cual tiene un número de inventario. • Procesador de consultas. La información que tiene es: 1. y otros suministros de los cuales es necesario 3 . 6. Gestor de memoria intermedia.  Índices que proporcionan acceso rápido a elementos de datos que tienen valores particulares. un nombre. Que interpreta las instrucciones del LDD y registra las definiciones en el diccionario de datos. material de vidrio de laboratorio. Dentro de los materiales se encuentran reactivos químicos. un costo. Sus componentes son:  Interprete de LDD. una cantidad en existencia y una cantidad faltante. El gestor de almacenamiento implementa varias estructuras de datos como parte de la implementación física y son:  Archivos de datos. de software. etc.  Compilador del LMD. 2. material de la limpieza. Cada producto tiene una clave. Evaluación Diagnostica de Diseño de Arquitectura de Base de Datos. un nombre. El material de laboratorio se clasifica en equipo.  Diccionarios de datos que almacena metadatos acerca de la estructura de datos.

Cada uno de ellos tiene una clave. tablas a través del lenguaje de definición de datos (DDL). descripción. Realice el diseño lógico y físico incluyendo normalización y consulta. es la administración de usuarios.1 De creación de base de datos Los SGBD.2. precio y una partida presupuestal. Así se pueden crear bases de datos. privilegios y funciones. un nombre.2 Herramientas Una de las principales herramientas que existen dentro de los gestores de base de datos. que permiten la creación de la arquitectura de la base de datos. 3 . 1. unidad de medida.controlar las existencias y pedidos. de contraseñas de usuarios y el establecimiento de límites de recursos de la base de datos. 1. tienen en su estructura editores de textos.

FILEGROWTH=20%) LOG ON (NAME=EjemploLog... en SQL.\BD\ejemplo. Cuando se agrega un archivo de datos o un archivo de registro. SIZE=10MB.. tablas. Su sentencia es: CREATE DATABASE ejemplo ONPRIMARY (NAME=practica_1. 3 . columnas. También contiene todos los objetos no asignados a grupos de archivos del usuario. la primera en la cual mediante el analizador de consultas utilizando la sentencia: Create database nombre de la bd La otra forma es especificando el nombre de la base de datos. el primer archivo enumerado en la instrucción es el archivo principal. El tamaño especificado para el archivo de datos principal debe ser. FILENAME= 'c:\Archivos de programa\.mdf'. que es el valor predeterminado. La extensión de nombre de archivo recomendada para los archivos de datos principales es . Size: Este parámetro especifica el tamaño de los archivos de datos o de registro. vistas y secuencias.ldf'. tales como tablas o diagramas de la misma. Microsoft SQL 2005 tiene dos formas de crear una base de datos. como el tamaño del archivo principal de la base de datos model. ALTER y DROP.\. tales como esquemas. FILENAME='c:\Archivos de programa\. el archivo crece hasta que el disco esté lleno. Si no se especifica el tamaño. Puede especificar los tamaños en megabytes (MB). al menos.mdf. El grupo de archivos principal contiene todas las tablas del sistema de la base de datos. el valor predeterminado es 1 MB. MAXSIZE=5MB. El tamaño mínimo es de 512 KB.También es utilizado para alterar o borrar objetos. FILEGROWTH=1MB) COLLATE SQL_Latin1_General_Cp1_CI_ASCREATE Donde: Primary: Es el parámetro que especifica los archivos del grupo de archivos principal. Este parámetro especifica el tamaño máximo hasta el que puede crecer el archivo. Maxsize. tanto para los archivos de datos como para los archivos de registro. SIZE=3MB. MAXSIZE=15MB. Puede especificar el tamaño en megabytes (valor predeterminado) o en kilobytes. establecer el tamaño y la ubicación de los archivos que se crearán para la base de datos. o en kilobytes (KB). Como ejemplo.. Filename: Este parámetro especifica el nombre del archivo del sistema operativo y la ruta de acceso al archivo. son las instrucciones o comandos CREATE.\. Si no se especifica la palabra clave PRIMARY.\BD\ejemplo. 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 ruta acceso de archivoSO debe especificar una carpeta del servidor en el que está instalado SQL Server. Todas las bases de datos tienen un archivo de datos principal.

2 De administración de BD El SGBD. una tabla o en la base en sí. El valor se puede especificar en megabytes (el valor predeterminado). La intercalación incluye las reglas que gobiernan el uso de caracteres de un lenguaje o un alfabeto. el cual es un área de almacenamiento que efectúa el cambio de todos los cambios realizados en la base de datos. 3 . envía una modificación de datos. Este parámetro especifica la intercalación predeterminada para la base de datos. En SQL Server 2005. realiza un proceso de punto de comprobación en la cual escribe en el disco todas las transacciones completadas y que se realizaron exitosamente. d) Finalmente. El tamaño especificado se redondea al múltiplo de 64 KB más próximo. las páginas de datos afectadas se cargan en la caché del disco. Para que SQL Server realice el registro. configuración de opciones de la base de datos. el proceso es: (ver figura 1) a) La aplicación. ubicación de la misma así como de sus tablas. el valor predeterminado es el 10 por ciento y el valor mínimo es 64 KB (una extensión). a través de diferentes herramientas. Dentro de la administración del SGBD. en ella se determina el nombre. graba las transacciones en un registro de transacciones. 1. permite administrar la base de datos. entre ellas se encuentran: Administración del SGBD. en kilobytes o como porcentaje (%). ya sea en un registro. c) Cada instrucción de modificación de datos se graba en el registro mientras se ejecuta y se escribe en el disco antes de hacer la modificación en la base de datos. tamaño. b) Cuando la modificación se ejecuta. Collation. la creación de tipos de archivo y el control de ellos y la administración de las bases de datos. El valor de FILEGROWTH de un archivo no puede sobrepasar el valor de MAXSIZE. Un valor de 0 indica que no hay crecimiento. La finalidad de este registro es mantener la coherencia e integridad de la base de datos y facilitar así su recuperación. la gestión de transacciones. Este parámetro especifica el incremento de crecimiento del archivo.FileGrowth. Si no se especifica FILEGROWTH. se encuentra la definición de la base de datos. En cuanto a la definición de la base de datos. debido a que SQL Server utiliza la técnica de transacción con registro de preescritura. la cual puede ser el lenguaje huésped donde fue desarrollado el sistema con conexión a la base de datos. cada vez que se verifica un marcador de transacción que recupera automáticamente una vez que encuentra los puntos de inicio y fin de la misma.2.

El valor predeterminado es OFF y los cursores permanecen abiertos. de recuperación y opciones de SQL. Es local al lote. El valor predeterminado es ON. 3 . se puede configurar de acuerdo a diversas opciones que se tienen. El valor predeterminado es ON. cuenta con 4 opciones las cuales son: opciones automáticas. procedimiento almacenado o desencadenador en el que se creó el cursor. Actualiza automáticamente las estadísticas desfasadas necesarias para la optimización de consultas.1 Configuración de Opciones de la Base de Datos Una vez que la BD se encuentra definida. Registro de transacciones con proceso de comprobación y escritura de la misma. CURSOR_DEFAULT_LOCAL limita el ámbito del cursor. Cierra automáticamente los cursores abiertos cuando se confirma una transacción. siendo sus características las siguientes: opción de base de datos Opción de base de datos Descripción Crea automáticamente las estadísticas que faltan que son necesarias para la optimización de consultas. CURSOR_DEFAULT_GLOBAL es el valor predeterminado.Figura 1. opciones de cursor. el ámbito del cursor es global respecto a la conexión AUTO_CREATE_STATISTICS Opciones automáticas AUTO_UPDATE_STATISTICS CURSOR_CLOSE_ON_COMMIT Opciones de cursor CURSOR_DEFAULT LOCAL | GLOBAL 1 Fuente Manual de Certificación en Microsoft Server SQL. En el caso de SQL Server 2005.

MULTI_USER es la opción predeterminada. Si está activada. Estos archivos pueden encontrarse 3 . Define la base de datos como de sólo 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. MULTI_USER permite que todos los usuarios con los permisos adecuados se conecten a la base de datos. Todas las demás conexiones se interrumpen. SIMPLE recupera la base de datos sólo hasta la última copia de seguridad completa de la base de datos o hasta la última copia de seguridad diferencial. Permite a SQL Server detectar operaciones de E/S incompletas causadas por cortes de energía u otros apagones del sistema.RECOVERY FULL | BULK_LOGGED | SIMPLE recuperación TORN_PAGE_DETECTION ANSI_NULL_DEFAULT ANSI_NULLS Opciones de SQL READ_ONLY | READ_WRITE SINGLE_USER | RESTRICTED_USER | MULTI_USER FULL proporciona recuperabilidad completa ante errores del medio. 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. SINGLE_USER permite que los usuarios se conecten a la base de datos de uno en uno. es el valor predeterminado. pero tiene un riesgo mayor de exposición. SQL Server 2000 toma como valor predeterminado NOT NULL. todas las comparaciones con un valor nulo se evalúan como NULL (desconocido). Creación de Tipos de Archivos 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. Si está desactivada. todas las comparaciones de valores no Unicode con un valor nulo se evalúan como verdaderas (TRUE) si ambos valores son NULL. Permite al usuario controlar la capacidad de asignación predeterminada de valores NULL de la base de datos. la opción de base de datos ANSI_NULLS es OFF. BULK_LOGGED utiliza menos espacio de registro porque el registro es mínimo. RESTRICTED_USER permite que sólo los miembros de la función fija de base de datos db_owner y de las funciones fijas de servidor dbcreator y sysadmin se conecten a la base de datos. De manera predeterminada. El valor predeterminado es ON.

historial2. 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. a través de sentencias las cuales son: FILE_NAME. Así por ejemplo en la figura 2. FILEGROUP_NAME.2 Otras de las funciones que tiene el SGBD al respecto. que contiene las tablas del sistema en el archivo de datos principal.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. Mientras que en el D:\ existe el archivo historial1. es la información que proporciona de los grupos de archivos. se puede observar que existen en el disco C:\ varios objetos de nombre sysobjects y archivos de tablas con el nombre de producto. Grupo de archivos. 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 importante mencionar que para que se encuentren en diferentes discos se debe establecer la configuración de hardware que permita dicha manipulación. Figura 2. Los grupos de archivos son colecciones de archivos con un nombre. Un grupo de archivo son todos ellos tanto los que se encuentran en el disco C:\ como los del disco D:\. 2 Ídem. esto es. siendo estos: • • El grupo de archivos principal. FILE_PROPERTY. FILE_ID. clientes. FILEGROUP_ID y FILEGROUP_PROPERTY. Existen diferentes tipos de archivos. que son los grupos de archivos que se especifican mediante la palabra clave FILEGROUP. 3 . Los grupos de archivos definidos por el usuario. las bases datos del sistema y las creadas por el usuario como primary. etc.

. Utilice este procedimiento almacenado de sistema para determinar los nombres de los archivos que va a agregar o quitar del servidor. DBCC SHRINKDATABASE (baseDeDatos [.. para ello utiliza la sentencia SHRINKDATABASE. SQL Server intenta reducir los archivos de registro truncados tanto como sea posible... siendo su sintaxis. hasta alcanzar el tamaño de destino... pueden incrementarse sus capacidades.Existen también procedimientos almacenados del sistema los cuales ofrecen una ayuda sobre el mismo tema. Los archivos de datos pueden modificarse de acuerdo a su crecimiento. ALTER DATABASE baseDeDatos { ADD FILE < filespec > [ . • Administración del crecimiento de los archivos de datos y los registros. {NOTRUNCATE | TRUNCATEONLY}]) La siguiente tabla describe las opciones de DBCC SHRINKDATABASE.n ] [ WITH < termination > ] | COLLATE < nombreIntercalación > Asimismo esta sintaxis permite adicionar archivos secundarios. Esta última es a través de las siguientes sintaxis.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 > [ . sp_helpfilegroup [grupoDeArchivos] Devuelve los nombres y los atributos de los grupos de archivos asociados con la base de datos actual. Los archivos de registro se restablecen cuando el registro se trunca.. el procedimiento es el siguiente: SQL Server reduce los archivos de registro mediante una operación de reducción diferida y lo hace como si todos los archivos de registro fueran uno solo.. Para la reducción de la base de datos o archivos. los principales son: • sp_helpfile [[@filename =] 'nombre'] Devuelve los nombres físicos y los atributos de los archivos asociados con la base de datos actual.n ] [ TO FILEGROUP nombreGrupoDeArchivos ] | ADD LOG FILE < filespec > [ . recuerde que el crecimiento puede estar dado por Mb o Kb.. Para incrementarlas puede desarrollarse de dos maneras: la automática la cual se establece desde su definición y manualmente. esto es. 3 . disminuirse o pueden eliminarse cuando no son necesarias. porcentajeDestino] [. Opción porcentajeDestino Descripción Especifica el porcentaje de espacio libre que quedará en el archivo de la base de datos una vez que SQL Server haya reducido la base de datos.

la sintaxis es: Drop table <nombre de la tabla>. No se vuelven a asignar filas a páginas no asignadas. DBCC SHRINKFILE reduce el tamaño tanto como sea posible. Existen restricciones para eliminar una base de datos. SQL Server omite porcentajeDestino. 3 . Para reducir una base de datos la sintaxis es la siguiente: DBCC SHRINKFILE ({archivo | IdArchivo } [. Utilice esta opción para eliminar el archivo mediante la instrucción ALTER DATABASE. 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. EMPTYFILE Para eliminar una base de datos. en megabytes. 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. La acción predeterminada es pasar el espacio liberado de los archivos al sistema operativo. siendo estas: • no se puede eliminar cuando esta en proceso de restauración. expresado como número entero.NOTRUNCATE TRUNCATEONLY Hace que SQL Server mantenga el espacio liberado en los archivos de la base de datos. tamañoDestino] [. Opción tamañoDestino Descripción Especifica el tamaño deseado para el archivo de datos. { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}]) La siguiente tabla describe las opciones de DBCC SHRINKFILE. Cuando se utiliza esta opción. SQL Server ya no permite colocar datos en los archivos en los que se ha utilizado la opción EMPTY_FILE. Migra todos los datos desde el archivo especificado a otros archivos del mismo grupo de archivos. Si no se especifica. con lo que disminuye el tamaño del archivo sin mover ningún dato.

• • • 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. Microsoft SQL 2005 permite la autenticación de usuarios tanto de tipo operativo como de funciones y administradores. administrador de archivo de disco. Asimismo el usuario puede definir las funciones sobre las bases de datos creadas por él. Funciones y permisos en SQL 2005. Administración de Servicios. 3 . tempdb y Administración de cuentas usuarios. estas son: model. Ninguna de las bases de datos del sistema. cuando el servidor se encuentra activo y funcionando correctamente. además de los permisos que se le otorgan y que puede otorgar en ellas y que se presentan más adelante. etc. cuando el servidor desea pararse sin apagarse. creador y alterar bases de datos. Existen diferentes tipos de usuarios dentro de las bases de datos. es aquel que permite configurar los servicios que proporciona el servidor a las bases de datos. este permite detenerlo cuando no se encuentre en uso. desde los que son simples usuarios de inserción y consultas de datos hasta los que desarrollan funciones de administración dentro de ella. Ver figura 3. Entre las funciones se encuentran: administrador. • Pausa. así los principales son: • Stop o parar. Figura 3. • Ejecución. El administrador de servicios. master.

3 De edición para crear esquemas y consultas de BD Existen diferentes modelos de datos. producto cartesiano.2. cuando existe problemas de conexión con el servidor. el modelo lógico el cual establece las relaciones entre una entidad u objeto y otra. El analizador de consulta también permite ver los resultados de las consultas en formato de cuadricula o de texto. (Ver figura). en realidad se refiere a la capacidad de auditoria que tiene el SGBD. valores que puede tomar y que representa gráfica y simbólicamente cosas inmateriales. ya sea a un individuo o a un grupo de usuarios. sino además la de otorgar/denegar inicios de sesión. 1. México. Pearson Educación. entre ellas las establecidas por el Departamento de Seguridad de los Estados Unidos. tablas. la cual en su nivel C2 establece las técnicas y métodos para capturar las conexiones de los usuarios. Además permiten definir procedimientos almacenados así como desencadenadores. etc. finalmente el modelo interno o físico que establece la forma de almacenamiento de la base de datos. Cada uno de ellos se caracteriza por tener diferentes formas en su esquema. campos. como son: tamaño. En estos dos últimos modelos se basan los SGBD. 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). las operaciones que realiza. El esquema general se conforma de tres modelos: conceptual.2. La auditoria C2 es la capacidad de capturar todos los eventos que pueden comprometer la seguridad del sistema computacional. Otra de las funciones del analizador de consulta es realizar gráficamente las relaciones entre una tabla y otra. Una auditoria. 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. se pueden crear bases de datos. Existen diversas metodologías de auditoria. etc. modificar. red. además de definir los atributos o instancias que pertenecen a cada entidad y. orientado a objeto. monitoreo y estadísticas de acceso a BD Cuando se habla de control.(Ver figura ). Por otra parte. R. analiza la compilación de la sentencia e identifica los errores. (2002) Desarrollo de bases de datos en Microsoft SQL Server 2000. es el seguimiento de los accesos de los usuarios. 3 Tomado de: Hawtorne. en los cuales utilizando LMD y LDD. monitoreo y estadísticas de acceso a bases de datos. los recursos usados. entidad relación. Los SGBD en su mayoría están basados en el modelo relacional. 3 . así por ejemplo el jerárquico tiene una estructura de árbol. esto es.4 De control. tal como jerárquico. su representación es a través de reglas de negocios o supuestos.• Mensajes de alerta. 1. eliminar. 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. crear nuevas cuentas/funciones de usuario.3 En ella se incluyen los siguientes puntos: • Restringir u otorgar el acceso a una base de datos o servidor. etc. Entre las utilerías que ofrece se encuentran: permite crear un plan de ejecución. etc. el cual establece las restricciones del problema real. insertar y realizar operaciones de consultas tales como proyecciones.

normalmente se utiliza el modelo entidad relación o el modelo pata de cuervo (crow foot). atributos. En el caso del nivel físico es el almacenamiento como archivo que los SGBD conjuntamente con el subsistema de gestión de archivos del sistema operativo y en el que al usuario se le presenta como una tabla de dos dimensiones. 2. 2. así como emisión de reportes o informes de las actividades desarrolladas en la base de datos. llamados estos tuplas. estos trabajos pueden ser: respaldo de la base de datos.1. Administración de la BD 2. 1.1.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.4 Creación de vistas de BD 3 . El conceptual es aquel que responde al problema del mundo real de la empresa u organización. 1.1.3 Definir esquemas generales de la BD (tablas.1 Creación de la estructura de BD La estructura de la base de datos consta de tres niveles: el conceptual.1.• • Debe tener la capacidad de identificar en forma única a un usuario en el sistema. Cada tabla está compuesta por campos y registros.2 Creación de dominios definidos por el DBA 2. Los campos tienen dominios los cuales constan de un nombre y un tipo de dato. Los administradores deben ser los únicos que pueden otorgar/denegar el acceso a los recursos en la instancia.3 Instalación y Configuración del entorno operativo. 2. el lógico y el físico o de visión externa. llaves primarias y llaves heredadas) 2. El nivel lógico es aquel que establece la relación entidades y atributos. desarrollo de procedimientos almacenados y disparadores. programas de mantenimiento que de igual forma pueden ser manuales o automatizados.2.5 Utilerías diversas Dentro de las utilerías que proporciona un SGBD se encuentra la implementación de trabajos los cuales pueden ser manuales o automáticos.

de modo que los mismos datos pueden ser vistos con formatos distintos por distintos usuarios. Se puede utilizar una vista para ofrecer un esquema externo a un usuario de modo que éste lo encuentre `familiar'. una vista es una relación virtual. 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. En este caso. que el SGBD traducirá en las operaciones equivalentes sobre la concatenación. El contenido de una vista está definido como una consulta sobre una o varias relaciones base. Por ejemplo: • • • • Un usuario puede necesitar los datos de los directores junto con los de las oficinas. Cuando un usuario realiza un cambio sobre la vista (no todo tipo de cambios están permitidos). Cualquier operación que se realice sobre la vista se traduce automáticamente a operaciones sobre las relaciones de las que se deriva. Un miembro de la plantilla puede querer ver sólo los datos de aquellos inmuebles que tiene asignados. El usuario puede hacer restricciones y proyecciones sobre la vista. Los atributos se pueden renombrar. una relación que en realidad no existe como tal. pero la vista no está almacenada físicamente. Una vista es una relación virtual que se produce cuando un usuario la consulta. ocultando partes de la base de datos a ciertos usuarios. Para este usuario se realiza una proyección para crear una vista sin el atributo salario. se debe hacer una restricción para que sólo se vea el subconjunto horizontal deseado de la relación INMUEBLE. de modo que cada usuario los vea del modo en que esté acostumbrado.En la arquitectura de tres niveles de una base de datos. este cambio se realiza sobre las relaciones de las que se deriva. se describe una vista externa como la estructura de la base de datos tal y como la ve un usuario en particular. Una vista se puede construir realizando operaciones como las del álgebra relacional: restricciones. el término `vista' tiene un significado un tanto diferente. El usuario no sabrá que existen aquellos atributos que se han omitido al definir una vista. Permiten que los usuarios accedan a los datos en el formato que ellos desean o necesitan. Las relaciones base son aquellas que forman parte directa de la base de datos. También se puede cambiar el orden en que se visualizan las columnas. y proyectando sobre los atributos que se desee mantener. Por ejemplo. En lugar de ser todo el esquema externo de un usuario. 3 . En el modelo relacional. las que se encuentran almacenadas físicamente. a partir de las relaciones base de la base de datos. concatenaciones. proyecciones. se puede definir una vista como la concatenación de dos relaciones. Una vista es el resultado dinámico de una o varias operaciones relacionales realizadas sobre las relaciones base. Un esquema externo puede tener tanto relaciones base como vistas derivadas de las relaciones base de la base de datos. Esta vista se crea haciendo una concatenación de las relaciones PLANTILLA y OFICINA. Otro usuario puede que necesite ver los datos de los empleados sin ver el salario. etc. Las vistas son útiles por varias razones: • • • Proporcionan un poderoso mecanismo de seguridad. 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. Se pueden simplificar operaciones sobre las relaciones base que son complejas.

Para obtener más información. se pueden crear vistas para que los usuarios la sigan viendo como al principio. No se permiten las actualizaciones de vistas que se definen sobre varias relaciones base. Sin embargo. se resumen las condiciones bajo las cuales la mayoría de los sistemas determinan si se permite realizar una actualización: • • • Se permiten las actualizaciones de vistas que se definen mediante una consulta simple sobre una sola relación base y que contienen la clave primaria de la relación base. A continuación. No son adecuadas para conjuntos de datos subyacentes que se actualizan frecuentemente. Se puede indizar una vista creando un índice agrupado único en ella. las vistas proporcionan independencia de datos a nivel lógico. si se actualiza una vista. No se permiten las actualizaciones de vistas definidas con operaciones de agrupamiento ( GROUPBY). Esto significa que se ha calculado y almacenado. el cambio se refleja automáticamente en todas las vistas que la referencian. que también se da cuando se reorganiza el nivel conceptual. • • Vistas con particiones 3 . los usuarios no se percatan de su existencia si sus vistas no lo incluyen. vea Diseñar vistas indizadas. Las vistas indizadas mejoran de forma considerable el rendimiento de algunos tipos de consultas. Éstas incluyen centrarse en datos específicos y simplificar la manipulación de datos.Como se ve. Tipos de vistas Vistas Estándar. • • • Vistas indizadas Una vista indizada es una vista que se ha materializado. Si una relación existente se reorganiza o se divide en varias relaciones. Las vistas indizadas funcionan mejor para consultas que agregan muchas filas. las relaciones base de las que se deriva deberían reflejar el cambio. Si se añade un atributo a una relación. Del mismo modo. Estas ventajas se describen pormenorizadamente en Escenarios de utilización de vistas. Cuando se actualiza una relación base. hay algunas restricciones respecto a los tipos de modificaciones que se pueden realizar sobre las vistas. • 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.

Name = N'Bikes') AND i.ProductInventory i ON p. • • • • • • • • • • • • Copiar CREATE VIEW vBikes AS SELECT DISTINCT p. La vista filtra todos los campos de la tabla Product salvo Name y sólo devuelve los nombres de las bicicletas completas en lugar de los componentes de bicicleta. Una federación es un grupo de servidores que se administran independientemente.ProductID = i.ProductCategory pc ON (ps.Product p JOIN Production. • • • • Para centrarse en datos específicos Las vistas permiten a los usuarios centrarse en datos de su interés y en tareas específicas de las que son responsables. que permiten a los usuarios obtener acceso a los datos por medio de la vista. También pueden utilizarse para copiar datos entre Microsoft SQL Server 2005 a fin de mejorar el rendimiento y crear particiones de los datos. • Las vistas suelen utilizarse para centrar.ProductSubCategoryID JOIN Production.ProductSubcategoryID = ps.• Una vista con particiones junta datos horizontales con particiones de un conjunto de tablas miembro en uno o más servidores. Los datos innecesarios o sensibles pueden quedar fuera de la vista. 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. Las vistas pueden emplearse como mecanismos de seguridad.Quantity > 0 3 .ProductID JOIN Production. simplificar y personalizar la percepción de la base de datos para cada usuario. pero no les conceden el permiso de obtener acceso directo a las tablas base subyacentes de la vista. Una vista que junta tablas miembro en la misma instancia de SQL Server es una vista con particiones local.ProductCategoryID AND pc. Las vistas con particiones distribuidas se usan para implementar una federación de servidores de bases de datos. Las vistas pueden utilizarse para proporcionar una interfaz compatible con versiones anteriores con el fin de emular una tabla que existía pero cuyo esquema ha cambiado.[Name] FROM Production.ProductSubCategory ps ON p. pero que colaboran para compartir la carga de proceso de un sistema. una vista vBikes en la base de datos de ejemplo AdventureWorks permitiría a un usuario ver las existencias de bicicletas disponibles actualmente. • Cuando una vista junta datos de tablas de servidores.ProductCategoryID = pc. Por ejemplo. Esto hace que los datos aparezcan como si fueran de una tabla. es una vista con particiones distribuida.

Para preservar la consistencia y corrección de los datos almacenados un SGBD. Estas también se conocen como restricciones de dominio. Regla de integridad referencial La segunda regla de integridad se aplica a las claves ajenas: si en una relación hay alguna clave ajena. • Los cambios pueden ser aplicados parcialmente. ejemplo cuando se especifica que no puede contener un registro valores nulos. Existen diferentes tipos de restricciones de seguridad. deben ser completamente nulos. 3 . 2. Estas restringen los valores que pueden ser insertados o creados mediante actualización de la base de datos. Que es irreducible significa que ningún subconjunto de la clave primaria sirve para identificar las tuplas de modo único.1 Validar y verificar integridad de entidad e integridad referencial Regla de integridad de entidades La primera regla de integridad se aplica a las claves primarias de las relaciones base: ninguno de los atributos que componen la clave primaria puede ser nulo. Cuando los contenidos de una base de datos se modifican. tales como un pedido que especifica un producto no existente.2 Definición de esquemas de integridad Se refiere a la corrección y completitud de los datos en una base de datos. la integridad de los datos almacenados puede perderse por las siguientes causas: • Pueden añadirse datos no validos a la base de datos. la clave primaria verifica que cada fila solo puede contener uno y solo un valor. • Integridad referencial: una clave secundaria enlaza la fila de otra tabla en una relación clave foránea/clave primaria. no a las claves alternativas. Si se permite que parte de la clave primaria sea nula. o bien. se está diciendo que no todos sus atributos son necesarios para distinguir las tuplas. sus valores deben coincidir con valores de la clave primaria a la que hace referencia. siendo estas: • Datos requeridos. • Chequeo de validez: cada columna un dominio especifico.2. Nótese que esta regla sólo se aplica a las relaciones base y a las claves primarias. • Consistencia. impone restricciones de integridad de datos. • Pueden modificarse datos existentes tomando un valor incorrecto. con lo que se contradice la irreducibilidad. • Los cambios en la base de datos pueden perderse debido a un error del sistema o a un fallo. Por definición. una clave primaria es un identificador irreducible que se utiliza para identificar de modo único las tuplas. • Integridad de entidad.2.

La regla de integridad referencial se enmarca en términos de estados de la base de datos: indica lo que es un estado ilegal. 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.  Una BD más robusta  Se utilizan para forzar reglas de negocios. 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 Propagar: se borra la tupla referenciada y se propaga el borrado a las tuplas que la referencian mediante la clave ajena. 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. ejemplo la del primary key. 3 . llega una petición para realizar una operación que conduce a un estado ilegal? Existen dos opciones: rechazar la operación.  Se pueden crear para los comandos INSERT. UPDATE o DELETE. o Anular: se modifica la tupla referenciada y las tuplas que la referenciaban ponen a nulo la clave ajena (sólo si acepta nulos).  Puede tener múltiples desencadenadores para cada uno de los tres comandos  Un desencadenador puede aplicar cualquier combinación de los tres comandos. UPDATE y DELETE. o bien aceptar la operación y realizar operaciones adicionales compensatorias que conduzcan a un estado legal. pero no dice cómo puede evitarse. Por lo tanto. o Anular: se borra la tupla referenciada y las tuplas que la referenciaban ponen a nulo la clave ajena (sólo si acepta nulos).2.2 Creación de disparadores E s un procedimiento almacenado que se ejecuta automáticamente cuando se modifica una fila utilizando los comandos INSERT.  Solo pueden crearse para tablas pero no para vistas.  Este se invoca después que se procese la restricción de nivel mas bajo. La cuestión es ¿qué hacer si estando en un estado legal. Sus ventajas son:  SQL Server lo invoca automáticamente. 2. Los tipos de desencadenadores son:  AFTER Se llaman después de ejecutar el comando para el que se ha declarado.

ejemplo: Sp_rename permite cambiar el nombre del objeto de la BD. Sp_renamedb proporciona el método para cambiar el nombre a la BD También existen los procedimientos definidos por el usuario. Sus ventajas: Son objetos de BD.2.  Se pueden crear tanto para tablas como para vistas. alter o drop una BD. Su sintaxis es: CREATE PROCEDURE nombre_proce [lista de parametors] AS Sentencias_procedimiento 3 . lo que permite ejecuciones rápidas. residen en un archivo y se trasladan al archivo si desmonta o replica la BD. Es un objeto asociado a la base de datos en la que se crea. permiten pasar datos al procedimiento para manejarlos y recibir datos y un código de resolución desde el procedimiento. UPDATE o DELETE. comienzan con los caracteres sp. los cuales son el objetivo de esta práctica. pero solo puede crearse uno para cada acción sobre la tabla o vista. Se ejecutan de forma optimizada.3 Creación de procedimientos almacenados L os procedimientos almacenados son lotes de sentencias en Transact-SQL.Desencadenadores INSTEAD OF  Se pueden definir para los comandos INSERT. almacenados en el servidor. Se crean utilizando la sentencia CREATE PROCEDURE.  No se puede restaurar la BD o archivo de transacciones mediante desencadenador Su estructura:  CREATE TRIGGER nombre_desencadenador  On tabla o vista  Tipo_Desencadenador lista_comando  As  Sentencias_SQL 2.  Son incompatibles con la referencia en cascada Restricciones  No puede utilizar el create. Existen dos tipos de procedimientos almacenados: Procedimientos del sistema: los cuales son procedimientos almacenados de sistemas que se guardan en la BD Master.

La seguridad de la base de datos se refiere a la protección frente accesos malintencionados. entre ellos: • Procedimiento con parámetro de entrada.  La destrucción no autorizada de los datos. Apellidop FROM clientes WHERE Apellidop=@apellido_cli EXECUTE valor_def • Procedimiento Almacenado con un Parámetro de Salida.3 Seguridad. Las violaciones a la seguridad son:  La lectura no autorizada de los datos (robo de información). Para proteger la base de datos se adoptan medidas de seguridad en varios niveles: Definición de esquemas de seguridad 3 . En este se declara e inicializa la variable local del procedimiento. Este procedimiento al contrario del primero. que se asigna a una variable. su estructura es: @nombre_parametro tipo_dato [=valor_defecto] [OUTPUT] Donde Nombre_parametro declara @.Los procedimientos almacenados pueden llamar a otros procedimientos en anidamiento. como máximo puede recibir 2100 parámetros por procedimiento almacenado. su sintaxis es: USE Almacen GO IF EXISTS (SELECT name FROM sysobjects WHERE name='proc_salida' AND type='P') DROP PROCEDURE proc_salida GO CREATE PROCEDURE proc_salida @varsalida char(6)OUTPUT AS SET @varsalida='hola' //Sintaxis para ejecutar el procedimiento// DECLARE @misalida char(6) EXECUTE proc_salida @misalida OUTPUT SELECT @misalida 2. Existen diferentes tipos de procedimientos almacenados. Valor_defecto es el valor que utilizará el procedimiento almacenado • Procedimiento almacenado con valor por defecto. como una variable local. su estructura es: CREATE PROCEDURE valor_def @apellido_cli varchar(15)='Martinez' AS SELECT id_cliente. Este procedimiento almacenado reciben un parámetro de entrada. Como limite su pueden llamar hasta 32 niveles de profundidad anidados. lo que ofrece es un parámetro de salida a monitor.  La modificación no autorizada de los datos.

) se denomina propietario del objeto de la base de datos. procedimientos almacenados. No pueden contener el carácter barra diagonal inversa (\). Los permisos son para: • Crear base de datos. 2. Quien otorga acceso o inicio de sesión. • Crear procedimientos.3. Selección de personal adecuado.1 Creación de usuarios de la BD Creación de una Contraseña de Usuario para Acceso en SQL Server Se expande un grupo de servidores y luego un servidor. debe hacerlo con un nombre de usuario y una contraseña. vistas. • Realización de respaldo de la base de datos. símbolos y números. Físico. índices. Este o el administrador debe conceder el permiso(s) para crear otros objetos o poderlos utilizar. pero debe concederlos explícitamente a los demás usuarios para que tengan acceso al mismo. los cuales son administradores de la base de datos.• • • • • Sistema de base de datos. Un usuario que crea una base de datos (tablas. que autentique que esta autorizado para usar la cuenta. Todo usuario que intente conectarse a la base de datos. La administración de permisos incluye la concesión o revocación de los derechos de usuario para trabajar con datos o un elemento en la base de datos (permisos de instrucción) y para utilizar los permisos concedidos a las funciones. operador de respaldo. El creador de la base de datos tiene implícitamente todos los permisos sobre el. etc. • Crear restricciones. Sistema Operativo. 3 . Se pueden crear diferentes usuarios. usuarios invitados y usuarios propietarios. • Crear tablas. En algunos SGBD la contraseña y nombre de usuarios pueden contener de 1 a 128 caracteres y pueden incluir letras. Red. Quien otorga privilegios y autorizaciones a usuarios. administradores de acceso y seguridad. se oprime la opción inicio de sesión y luego nuevo inicio de sesión. el cual puede ser por hardware como tarjetas de encriptamiento y software con programas o algoritmos de encriptamiento. Políticas de acceso físico al área. A continuación se busca la carpeta de seguridad. Humano.2 Asignación de privilegios sobre los objetos de información Administración de Permisos. se otorgan permisos implícitos. 2. • Crear vistas.3. se da clic en el botón derecho del Mouse.

4. el registro es cronológico. En cuanto a seguridad: • • • • • • 2. Monitoreo y Acceso a la base de datos. Herramientas de Control.4. De E/S de los archivos de la base de datos. • Eliminación (borrado de relaciones). Devuelve el número de identificación de usuario.2 Recuperación a partir de la bitácora 3 . • Actualización de recursos (creación de nuevas relaciones) • Alteración (añadir o eliminar atributos de las relaciones). Tiempo en milisegundos (/basado en la resolución del temporizador del sistema) que la CPU ha estado funcionando desde que se inicio el SGBD. El SGBD devuelve información estadística acerca de los siguientes accesos: • • • Numero de conexiones o intentos de conexión desde la última vez que se inicio el SGBD.1 Diseño y creación de la bitácora Concepto Al igual que navegación. Autorización de actualización (permite la modificación de los datos pero no su borrado).Además de los permisos existen las autorizaciones las cuales son: • • • Autorización de lecturas.4 Devuelve la información de los sucesos trazados. • Autorización de borrado. 2. Indica si el usuario actual es miembro del grupo. Numero de accesos del usuario con fecha y hora Definición de esquemas de recuperación 2. • Actualización de índices. el documento donde se registran los acontecimientos e incidentes de una travesía. sucesivo. el concepto de bitácora proviene de la náutica: representa el diario de un barco. Autorización de inserción. Devuelve información acerca si el usuario tiene acceso a la base de datos específica. Devuelve el login o identificador de seguridad que corresponde al usuario.

• Sistemas avanzados como ARIES. La variante más sencilla y rápida de un RAID es el disco con imagen. es necesario identificar los modos de fallos de los dispositivos de almacenamiento. • Almacenamiento estable. La recuperación se realiza desde los medios de almacenamiento en que se ha respaldado la base de datos. este se encuentra en un estado no deseado como un interbloqueo por lo que la transacción no puede continuar con su ejecución normal. entre los más importantes: • Fallo de Transacciones. Sus características son: 3 .  Error del sistema. Fallo de disco.4. el cual debe estar guardado en almacenamiento estable.3 Respaldar la BD Sistema de Recuperación. 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. cada uno debe tratarse de forma diferente. entre ellas: • Recuperación basada en registros históricos. En los esquemas basados en registros históricos. • • Para determinar como el sistema debe recuperarse de los fallos. y actualizar esa información de manera controlada para asegurar que un fallo durante un transferencia de datos no dañara la información. En un sistema pueden producirse varios tipos de fallos. tiene como objetivo el replicar la información necesaria en varios medios de almacenamiento no volátil con modos de fallos independientes. Un mal funcionamiento de hardware y software. Puede ser por dos motivos:  Error lógico. • Almacenamiento no volátil. Estos son: • Almacenamiento volátil. la atomicidad de la transacción y la durabilidad. • Paginación en la sombra. Para replicar la información existe la técnica de sistemas RAID (disposición redundante de discos independientes) que garantizan que el fallo de un solo disco no conduce a la perdida de los datos. como una entrada de datos sea incorrecta y esto lo ocasione. Caída del sistema. bloques de disco dañado.2. que guarda dos copias de cada bloque en distintos discos. En los sistemas de base de datos los discos se utilizan fundamentalmente para el almacenamiento y para copias de seguridad de datos. Existen dos esquemas de recuperación de datos. 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 implementación del almacenamiento estable. debido a que una condición interna. todas las modificaciones se escriben en un registro histórico. Existen diferentes tipos. La información que reside en almacenamiento estable nunca se pierde por lo que es útil para el respaldo de datos.

Se utiliza una tabla de páginas quien muestra el orden lógico de cada entrada la cual contiene un puntero en cada una de ellas. Su técnica consiste en: se divide la base de datos en un número determinado de bloques de longitud fija a los que se les denomina páginas. La paginación en la sombra es una técnica de recuperación alternativa a las basadas en registros históricos. 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. el sistema debe utilizar el campo para el valor anterior de los registros del registro histórico. y el valor nuevo que es el valor que tiene el elemento después de la escritura. • Con la técnica de modificación inmediata. 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. Dentro de este esquema se localizan dos técnicas de modificación: la diferida y la inmediata. se difieren todas las operaciones de escribir hasta que la transacción se compromete parcialmente. que identifica al elemento que se escribe. momento en el que se utiliza la información del registro histórico asociada con la transacción para ejecutar las escrituras. la operación de escritura en una transacción se realiza en la tabla de pagina actual cuando la transacción se compromete o termina la tabla de pagina actual se convierte en tabla de paginación en la sombra. la información del registro histórico simplemente se ignora. Estas dos paginas son iguales cuando inicia la transacción. la cual es almacenada en un medio no volátil o estable mientras que la tabla de pagina actual se encuentra almacenada en la RAM. Paginación en la Sombra. esto es hasta que se realiza la última operación de la transacción. si el sistema cae antes de que la transacción se complete su ejecución o si la transacción es abortada. pero retardando la ejecución de todas las operaciones de escribir hasta que la transacción se encuentra parcialmente comprometida. el valor anterior que es el valor que tenia el elemento de datos ante de la escritura. 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. durante la ejecución de una transacción.. Se define como una secuencia de registros que mantiene un registro de todas las actividades de actualización de la base de datos.. el cual contiene los campos de identificador de la transacción . todas las modificaciones se aplican directamente sobre la base de datos. para restaurar los elementos de datos modificados a los valores que tuvieron antes de comenzar la transacción. 3 . Cuando una transacción se compromete parcialmente. un identificador del elemento de datos. Es la estructura más utilizada para guardar las modificaciones de la base de datos. que es un identificador único de la transacción que realiza la operación de escribir. como por ejemplo el registro de actualización del registro histórico. la información del registro histórico asociada a esa transacción se utiliza para la ejecución de las escrituras diferidas. mientras dura la transacción no se altera el contenido de la tabla de paginación en la sombra. En caso de una caída o de un fallo en la transacción.• En el esquema de modificación diferida. Existen varios tipos de registros del registro histórico. Entonces se generan dos tablas de páginas durante la vida de una transacción: la tabla de páginas actual y la tabla de páginas en la sombra. • 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.

(Ver figura 1) 3 .Cuando el sistema sufre una caída. copiándose esta en la memoria RAM para continuar ejecutando transacciones activas. este se recupera de la tabla de paginación en la sombra.

Figura 1. el sitio remoto secundario asume el procesamiento utilizando para la recuperación copia de los datos del sitio principal y los registros del registro histórico recibidos del sitio principal. Cuando falla el sitio principal. El esquema procesa páginas continuamente y no necesita procesar todas las páginas en el momento de un punto de revisión. Usa números de secuencia del registro histórico (NSR) para implementar varias optimizaciones que reducen el tiempo de recuperación. Usa tablas de paginas desfasadas para minimizar las operaciones rehacer innecesarias durante la recuperación. terremotos. etc. Se puede tener una disponibilidad elevada realizando procesamiento de transacciones en un solo sitio denominado sitio principal. Técnica de Recuperación de Paginación en la Sombra Técnica de Recuperación Aries. Es necesario sistemas de procesamiento que ofrezcan disponibilidad a pesar de los desastres ambientales. Estos sistemas son vulnerables frente a desastres naturales como el fuego. pero tener un sitio remoto copia de seguridad denominado sitio secundario. Soporta varias características para proporcionar mayor concurrencia. Sistemas Remotos de Copias de Seguridad. Los sistemas tradicionales de procesamiento de transacciones son sistemas centralizados o sistemas cliente-servidor. reducir la sobrecarga del registro histórico y permitir operaciones deshacer lógicas. La técnica de recuperación ARIES representa a los métodos actuales de recuperación. inundaciones. (Ver figura 2) 3 .

Es necesario que el sitio secundario detecte los fallos del sitio principal. 3 . Se deben mantener varios enlaces de comunicación para evitar la falta entre ellos de comunicación.Para diseñar un sitio secundario se deben considerar los siguientes aspectos: • Detección de fallos. • Transferencia de control. • Tiempo de compromiso. Arquitectura de los Sistemas Remotos de Copias de Seguridad. PRINCIPAL RED COPIA DE SEGURIDAD Registros del registro histórico Figura 2. • Tiempo de recuperación.

4 Recuperar la BD Creación de una estrategia de copia de seguridad de base de datos Las copias de seguridad de base de datos son una parte fundamental en la creación de esta estrategia. 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). Realice comprobaciones de consistencia con cierta frecuencia. Fallo en disco duro.4. Administre sus copias de seguridad con efectividad. Los tipos de fallas que podrían ocurrir. entre ellas: • • • Datos inválidos del usuario. MODELOS DE RECUPERACION SQL Server 2005 soporta tres modelos de recuperación: 3 . 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. Falla en el servidor. Uso de registros de transacciones en la copia de seguridad y en la restauración. Un registro de transacciones es utilizada internamente por SQL Server para llevar el registro de las actualizaciones. El registro de transacciones junto con la copia de seguridad de la base de datos pueden ser utilizadas para restaurar una base de datos y devolverla a un estado consistente.2. inserciones y eliminaciones que ocurren en las bases de datos. Mantenga copias de seguridad completas fuera del sitio.

DELETE). 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. stored procedure) • Base de datos diferencial: solo copia las modificaciones que se le hallan hecho a la base de datos (DML. UPDATE. Todos estos modelos tienen ventajas y desventajas. le permite recuperarse hasta el momento justo de falla o en cualquier momento del tiempo. No obstante. Esta es una característica muy poderosa cuando se tiene una base de datos 24*7. ocupa el menor espacio en disco. nos permite asegurar que se pierda la menor cantidad de modificaciones posible. también se puede especificar que porciones de la base de datos incluiremos en las copias de seguridad: • Base de datos completa: es copia incluye todos los objetos de la base de datos (tables. 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. pero no le permite recuperarse hasta cualquier momento del tiempo. 3 . • Registro de transacciones: Copia el registro de transacciones. este modelo no nos permite recuperar hasta cualquier momento en el tiempo ni hasta el momento de falla. pero también lo expone a mayores pérdidas de datos.Completa: El más completo. Registro masivo: es una copia de seguridad completa. 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. si falla el disco duro. y es la que ocupa menos recurso del sistema. views. puede recuperarse con el modelo de copia masiva. y por último el modelo simple se utiliza para aplicaciones que no sean cruciales o para aplicaciones en desarrollo. como se tienen todas las transacciones se pueden rehacer todo el trabajo que los usuarios haya hecho. Por ejemplo. B. TIPOS DE COPIAS DE SEGURIDAD Aunque. DDL) desde la última copia de seguridad completa. si falla el disco duro. todas las transacciones de los usuarios (INSERT. se puede especificar el modelo de recuperación deseado. Simple: Es la más sencilla de todas. determinar cuál es el mejor depende de sus requerimientos individuales. A.

• Archivo y grupo de archivos: Nos permite realizar una copia de seguridad de una porción de la base de datos a la vez. 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. 3 . por medio del Enterprise Manager o del Query Analizar. Esta se debe de usar cuando la base de datos es muy extensa.