U D 1 Introduccion A Los SGBD
U D 1 Introduccion A Los SGBD
U D 1 Introduccion A Los SGBD
1. FICHEROS
También podemos ver un fichero desde el punto de vista de un Sistema Operativo, en este caso seria
simplemente un conjunto de bits/bytes que se identifican por un nombre.
En el desarrollo de esta unidad nos interesa más el fichero desde el primer punto de vista, que sería el punto de
vista de un Programador.
Un Registro es una estructura de datos formada por uno o más elementos llamados CAMPOS del registro.
Constituyen una unidad para un determinado proceso.
Cuando se necesita utilizar un archivo en un programa, se define el tipo de registro que lo formará y,
posteriormente, lo utiliza según las operaciones que tengamos disponibles en el lenguaje de programación utilizado.
......................................................................................................
UNIDAD 1 INTRODUCCIÓN A LOS SGBD
Aunque ya hemos mencionado estas características al intentar explicar ¿Qué es un fichero?, volvemos a
explicitarlas:
Residen en soportes externos, por lo que su existencia no está limitada al tiempo de ejecución del programa que lo
crea, sino que permanece cuando éste termina.
Tienen capacidad de almacenamiento ilimitada ya que, aunque un soporte tiene capacidad limitada, un archivo
puede distribuirse en varios soportes.
Permanentes.
Sus registros varían poco en el tiempo. También se conocen con el nombre de archivos maestros.
- De situación. Reflejan el estado o situación actual de una empresa o entidad. Estos archivos se actualizan
periódicamente para adaptarlos a una nueva situación. Son los “menos permanentes”.
- Históricos. Se obtienen de los anteriores cuando éstos dejan de utilizarse, y sirven para hacer estudios
futuros estadísticos o de consulta.
De movimientos.
En ellos se almacena temporalmente la información que se utiliza para actualizar los archivos de situación.
De maniobra.
Son archivos temporales creados durante la ejecución de un programa y borrados habitualmente al terminar el mismo.
Por ejemplo, archivos intermedios utilizados en procesos de ordenación.
- Abrir un fichero creado para poder utilizarlo. Cuando el archivo ya existe, debe abrirse para trabajar con él, bien
sea para consultarlo o para actualizarlo. OPEN.
- Leer un registro del fichero. Transfiere la información del registro actual al área de datos del programa que
UNIDAD 1 INTRODUCCIÓN A LOS SGBD
solicita la lectura.
- Escribir un registro en el fichero. Graba en el soporte de almacenamiento el contenido de un registro con los
datos especificados en el área de datos del programa. WRITE.
A su vez, la escritura de un fichero puede tener dos matices. Escribo para añadir un nuevo dato, o escribo para
modificar un dato que ya existe.
- Cerrar un fichero cuando ya no va a utilizarse. Esta operación es obligatoria antes de concluir un programa. Si
un archivo queda abierto, se corre el riesgo de perder información. CLOSE actualiza la situación real del archivo y
elimina de memoria la tabla mantenida por el sistema para agilizar las operaciones de acceso al archivo.
- Indexar un fichero. Es una operación de alto nivel que permite dar a un archivo organización indexada. El acceso
a los registros del archivo se hará a través de un archivo índice que estará ordenado por el campo que se indexó
(clave).
- Crear la estructura del archivo. CREATE, establece la estructura y posición del archivo en el dispositivo de
almacenamiento.
- Eliminar un fichero. Cuando un archivo deja de tener validez, es conveniente borrarlo del dispositivo de
almacenamiento para no desperdiciar espacio. DELETE.
- Editar un fichero. Permite modificar el contenido de un archivo. Se utiliza, sobre todo, en archivos de texto.
Por ORGANIZACIÓN de un fichero entendemos la forma de colocar los registros en el soporte de información.
Organización secuencial: Con este tipo de organización, los registros se almacenan uno detrás de otro, sin dejar
huecos y en el orden en que se van grabando. El único modo permitido de acceso a los registros es el secuencial.
Las ventajas de este método radican en que no desaprovechan espacio de almacenamiento y en la elevada eficiencia de
recuperación de registros cuando el porcentaje de consultados es suficientemente grande.
- Para acceder a un registro, hay que leer todos los que hay delante de él, que de media son la mitad de los
registros del archivo.
- No se puede insertar un registro en medio de otros dos, ya que sólo está permitido añadir registros al final del
UNIDAD 1 INTRODUCCIÓN A LOS SGBD
archivo, lo que supone que si el archivo está ordenado, hay que reordenarlo.
- Para actualizar un archivo es necesario un archivo de movimientos, trasladar el fichero maestro actualizado a uno
nuevo y, posteriormente, cambiar el nombre al nuevo por el del fichero maestro.
En la actualidad se utilizan poco los archivos con organización secuencial. Únicamente se aconseja esta organización para
archivos históricos y constantes. Un ejemplo de archivo con organización secuencial puede ser el de abonados a una
compañía telefónica, en el que se almacenan los datos que aparecen anualmente en las guías.
Para mejorar las prestaciones de la organización secuencial se pueden utilizar variantes de esta como las siguientes:
- Organización secuencial-encadenada: permite tener los registros ordenados según un orden lógico diferente
del orden físico en el que están grabados, gracias a la utilización de campos adicionales llamados punteros.
Organización relativa: en este tipo de ficheros los registros se graban en orden según el valor de uno de sus
campos llamado campo de ordenación, cuyos valores son distintos para cada registro.
La inserción de registros es costosa ya que puede implicar desplazamiento de registros para poder mantener el orden.
La eliminación de registros es menos costosa si se usan registros marcados y se reorganiza el fichero periódicamente.
Físicamente, la organización relativa es un conjunto de posiciones contiguas de memoria que tiene longitud fija. Cada
posición se denomina bloque. El número de bloques que forman el archivo está predeterminado inicialmente. Los bloques
están numerados de 1 a n (ó de 0 a n-1), siendo n el número de bloques del archivo. Cada bloque puede contener uno o
varios registros. Por tanto, el número total de registros que puede contener el archivo es el número de bloques multiplicado
por el número de registros que caben en cada bloque.
Organización Aleatoria o Dispersión: se elige un campo llamado campo de dispersión. Al valor del campo se le
aplica una función llamada función de aleatorización o de dispersión que, tomando como entrada dicho valor, devuelve
un número que será la dirección del bloque de disco en que se almacenará el registro.
Por otra parte las funciones de aleatorización o dispersión deben ser eficaces para distribuir los registros de manera
que se produzca el menor número de colisiones posible. Una colisión se produce cuando 2 claves distintas a las que
UNIDAD 1 INTRODUCCIÓN A LOS SGBD
se le aplica la función de aleatorización dan lugar a una misma dirección de localización y almacenamiento. En estos
casos hay que buscar alternativas de ubicación.
Organización indexada: La organización indexada nace para suplir las deficiencias de la secuencial (no hay acceso
directo a los registros) y de la relativa (se accede directamente a los registros sólo por un campo). En muchos casos
conviene recuperar la información accediendo por campos que no son clave. También puede ser necesario recuperar
los registros en una secuencia distinta a la que ocupan físicamente.
Se denomina archivo índice a un archivo que contiene dos campos: uno con los valores del campo por el que se desea
recuperar la información y otro con la dirección física (puntero) que ocupa el registro en el archivo de datos. El archivo
índice se mantiene ordenado por el campo de datos, facilitando la búsqueda. Su función es análoga al índice de un libro.
- Un archivo de datos puede tener asociados tantos índices como sea necesario.
- Puede utilizarse una combinación de campos para formar el campo de un índice; por ejemplo, Apellidos +
Nombre.
- Al actualizar el archivo de datos se debe reorganizar todos sus índices para mantener la coherencia.
- Los índices pueden ser varios niveles. En los índices de nivel mayor de uno se busca el primer elemento mayor o
igual que el deseado. Este procedimiento facilita el acceso a los registros, sin embargo, complica los algoritmos de
mantenimiento del índice.
A. ÍNDICE A.DATOS
Dentro de los archivos indexados, podemos hablar de varios tipos básicos de índices:
- Índices primarios
En ellos, tanto el índice como el área de datos están ordenados por el campo clave
- Índices de Agrupamiento
Se utilizan sobre campos no clave, esto es, sobre campos que no tienen un valor distinto para cada registro.
- Índices Secundarios
Pueden existir más de un índice secundario en un fichero, cada uno representaría una opción de ordenación
diferente.
Otro concepto que tendremos que tener en cuenta, asociado a los índices, es el de
Índice DENSO: cuando existe un registro de índice por cada uno de los registros principales del fichero
Índice NO DENSO: en caso contrario. Es decir, varios registros del archivo principal están agrupados en un bloque y se
corresponden con un solo registro del archivo índice.
U.D. 1 INTRODUCCIÓN A LOS SGBD
Organización invertida: Los sistemas de gestión de bases de datos utilizan accesos más complejos que los utilizados
en sistemas de archivos. Por ello, establecen organizaciones de archivos de alto nivel basadas en las anteriores. Una
organización de alto nivel es la invertida.
- De nombre. Contiene las claves por las que se desea acceder. Se almacenan en una columna los nombres
de las claves de acceso y en la otra un puntero con la dirección de la clave en el índice.
- De valor. Contiene todos los valores distintos de los campos clave y un puntero con un conjunto de valores
del archivo de datos que cumplen la condición de la clave.
A.DATOS