CODIGOHTML=<font color="00000" size="15">Las bases de datos requieren de gran capacidad de espacio de almacenamiento. Debido a que la memoria principal de la computadora no puede almacenar esa cantidad de informacin, sta se almacena en discos haciendo lenta la transferencia de datos, siendo necesario que el Sistema de Base de Datos estructure los datos para minimizar la necesidad de movimientos entre el disco y la memoria principal.
Su objetivo es simplificar y facilitar el acceso a los datos. El gestor de almacenamiento es responsable del almacenamiento, recuperacin y actualizacin de los datos en la Base de Datos.
Entre las gestiones y almacenamiento que se deben hacer tenemos:
<img src="imagenes/UNIDAD2T2/componentes-sgbd.png" align="left">
<br>
<br><br>
<br><br>
<br><br>
<br><br>
<br><br>
<br><br>
<br><br>
<b>GESTOR DE AUTORIZACIONES E INTEGRIDAD</b>
Controla los permisos de cada usuario. Por l pasan todos los accesos a datos. 
Para su funcionamiento tambin necesita el gestor de almacenamiento, el gestor de archivos y el gestor de memoria intermedia. 
Hay 2 tipos de permisos de forma general:
<b>  Administrador de la Base de Datos:</b> Es la persona que tiene el control central sobre el sistema, tanto sobre los datos como sobre los programas que acceden a esos datos. Sus funciones son las siguientes:
   - Definiciones de los esquemas, tanto a nivel conceptual como a nivel fsico (que, gracias a la independencia de datos, no afectan a las aplicaciones).
   - Modificaciones oportunas al esquema.
   - Concesiones de permisos, autorizaciones. En este caso el trabajo con los permisos no es como los ficheros de tipo rwx sino del tiempo: consultar, actualizar, etc. En SQL la forma de realizarlo est estandarizada.
   - Definicin de restricciones de integridad. Tambin estandarizado en SQL.
   - Monitorizacin del sistema: en general, vigilar cmo va el sistema. Para monitorizarlo necesita herramientas que le permitan ver determinados parmetros, para ello o las realiza el administrador o las proporciona los SGBase de Datos.
<b>  Usuarios.</b>
Los hay de tres tipos:
   <i>- Programadores/Desarrolladores de aplicaciones:</i> Son los que desarrollan las aplicaciones, normalmente usando lenguajes de manejo de datos. Para ello, incorporansentencias SQL en el cdigo de un lenguaje de programacin (PHP, ASP, Java, C++).
   <i>- Usuarios avanzados:</i> Los que saben manejar las consultas.
   <i>- Usuarios normales:</i> Los que manejan las programaciones de aplicaciones.
<b>GESTOR DE TRANSACCIONES</b>
Una de los objetivos de usar una base de datos es el de garantizar la atomicidad de un conjunto de operaciones. La atomicidad es la garanta que nos da el sistema de que, ante la ejecucin de una serie de operaciones, englobadas en lo que llamamos una transaccin, o bien se ejecutan todas las operaciones, o bien no se efecta ninguna.  
En otras palabras, el conjunto de operaciones se ejecuta en su totalidad o no se ejecuta en absoluto, no dejando ningn efecto sobre el sistema. Una vez empezada una transaccin, por tanto, esta puede acabar con una confirmacin que la hace definitiva (Commit) o pueden ser canceladas en su totalidad (Rollback)
La atomicidad nos facilita mantener la consistencia de los datos. Decimos que una base de datos es consistente si se garantiza que siempre se verifican unas determinadas condiciones, definidas por nosotros, y que expresaremos en forma de reglas. Las condiciones deben cumplirse obligatoriamente antes y despus de la transaccin (pero pueden incumpliese transitoriamente dentro de la misma).
Por ejemplo, consideremos una transaccin de fondos desde la cuenta A a la cuenta B. Definimos una regla de consistencia que establezca que la suma de los saldos de A y B debe ser constante. Esta regla debe cumplirse antes y despus de la transaccin, aunque si es posible que durante la transaccin se produzcan inconsistencias. 
Otra caracterstica destacable de una transaccin es su durabilidad. Esta garantiza que, en el instante en el que se finaliza la transaccin, esta perdura. Incluso en el caso de fallo en el sistema, este deber ser capaz de recuperarse y recordar todas la transacciones que hayan sido completadas.
Finalmente, un sistema de transacciones debe garantizar el aislamiento. El aislamiento es la garanta de que los cambios hechos dentro de cualquier transaccin son invisibles al resto los usuarios, mientras esta no haya concluido. As se garantiza que el resto de usuarios no observen los cambios intermedios. 
El gestor de transacciones es la parte del gestor de base de datos que se asegura de mantener la atomicidad, durabilidad y aislamiento de las transacciones. Si no hay ningn error, al acabar la transaccin esta se da por definitiva. Si se produce un error durante la transaccin, el sistema debe restaurar la base de datos al estado en que estaba justo antes de que empezara la transaccin. Este proceso se denomina recuperacin de fallos.
Estas cuatros caractersticas de los sistemas gestores de bases de datos se suelen resumir con el acrnimo ACID, que corresponde con las iniciales en ingls de Atomicidad (Atomicity), Consistencia (Consistency), Aislamiento (Isolation) y Durabilidad (Durability).
<b>GESTOR DE ARCHIVOS</b>
Cumple en esencia las mismas funciones del Administrador de Archivos de un Sistema Operativo:
<li>Dar servicio de acceso a los datos de estos archivos.
Definir una organizacin de tales archivos.
Esconder los aspectos fsicos de stos.</li>
Ejemplo: Una aplicacin puede ver un archivo, como una secuencia ordenada de registros, pero tal archivo puede estar disperso en diferentes discos o particiones.
Algunos Sistema Administrador de Base de Datos proveen toda la funcionalidad de un Administrador de Archivos y esconden al Sistema Operativo, los detalles de las Bases de Datos, haciendo que ste, vea un conjunto de tablas como un nico gran archivo. Por otro lado, existen pseudo-sistemas de Administracin de Base de Datos que dejan toda esta tarea al Sistema Operativo.
<b>GESTOR DE MEMORIA INTERMEDIA</b>
Es el responsable de traer los datos del disco de almacenamiento a memoria principal y decidir que datos traer a memoria cach.
Los programas de aplicacin solicitan bloques al gestor. Si el bloque est en memoria intermedia lo devuelve, sino, descarta algn otro bloque, que debe ser escrito en disco si ha sido modificado. Operacines similares a la gestin de memoria virtual o memoria cach que desarrolla:
<li> <i>Estrategia de sustitucin:</i> generalmente LRU (menos recientemente utilizado, Least Recently Used). 
<i>Bloques clavados (pinned):</i> se impide su salida. Importante para la recuperacin de cadas. 
<i>Salida forzada de bloques:</i> se fuerza su salida. Importante para la recuperacin de cadas.</li>
<b>ARCHIVOS DE DATOS</b>
Un archivo es un grupo de datos estructurados que son almacenados en algn medio y pueden ser usados por las aplicaciones.
La forma en que una computadora organiza, da nombre, almacena y manipula los archivos se denomina sistema de archivos y suele depender del medio de almacenamiento (disco duro, disco ptico, entre otros).
<b>DICCIONARIO DE DATOS</b>
Un diccionario de datos es un conjunto de metadatos que contiene las caractersticas lgicas de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripcin, alias, contenido y organizacin.
Estos diccionarios se desarrollan durante el anlisis de flujo de datos y ayuda a los analistas que participan en la determinacin de los requerimientos del sistema, su contenido tambin se emplea durante el diseo del proyecto.
Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la informacin, se desarrolla durante el anlisis de flujo de datos y auxilia a los analistas que participan en la determinacin de los requerimientos del sistema, su contenido tambin se emplea durante el diseo.
En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos de todo el sistema. Los elementos ms importantes son flujos de datos, almacenes de datos y procesos. El diccionario de datos guarda los detalles y descripcin de todos estos elementos.
<b>NDICES</b>
Proporcionan acceso rpido a elementos de datos que tienen valores particulares.
<b>DATOS ESTADSTICOS</b>
Almacenan informacin estadstica sobre los datos en la base de datos.
El procesador de consultas usa esta informacin para seleccionar las formas eficientes para ejecutar una consulta.</font>