1
Estructuras de almacenamiento y métodos de acceso
Objetivos
Conocer diferentes técnicas para colocar los registros de un fichero en el disco
Entender la teoría y aplicación de las técnicas de dispersión (hashing) interna y externa
Conocer cómo usar dispersión para facilitar la expansión dinámica de ficheros
Comprender la teoría y aplicación de los índices primarios, secundarios y de agrupamiento
Distinguir entre índices densos y no densos
Identificar y comprender las ventajas e inconvenientes de cada técnica de organización de ficheros
2
Contenidos
1. Conceptos generales de organización de ficheros
2. Organización primaria
1. Ficheros no ordenados
2. Ficheros ordenados
3. Ficheros mixtos
4. Ficheros dispersos
5. Árboles B y otras estructuras de datos
3. Organización secundaria
1. Índices ordenados de un solo nivel
2. Índices de múltiples niveles
4. Ficheros mixtos en Oracle
5. Ficheros dispersos en Oracle
6. Especificación de índices en SQL y Oracle
Estructuras de almacenamiento y métodos de acceso
3
Los datos de una BD están almacenados en un medio de almacenamiento en el ordenador:
Almacenamiento secundario de disco magnético
Estudiaremos técnicas de almacenamiento en disco
Formas de organizar ficheros de datos en el disco
Para conseguir acceso a BD con rendimiento aceptable
Cada técnica tiene ventajas/inconvenientes, conocidas por
Diseñadores y ABDs
Implementadores de SGBD
Una aplicación, en cierto momento, sólo necesita acceder a una porción de la BD. Deberá…
Localizarla en disco
Copiarla a la memoria principal
Procesarla
Reescribirla en disco (si se modificó)
Conceptos generales de organización de ficheros
4
Datos en disco organizados en ficheros de registros
Registro
Colección de valores de datos relacionados entre sí
Cada valor (1 o más bytes) corresponde a un campo
Cada campo tiene asociado un tipo de datos
Definición de Tipo de Registro: { (nombre-campo,tipo-datos) }
Conceptos generales de organización de ficheros
Registros, tipos de registro y bloques
5
Los registros son almacenados en disco de forma que, cuando se necesiten, su recuperación sea eficiente
Transferencia de datos entre memoria principal y disco en unidades de bloque
Un disco magnético está estructurado en pistas y sectores
División de pista en bloques (páginas) por el SO al formatear el disco
Si se necesita información contenida en cierto bloque…
Se pasa al dispositivo hardware de E/S del disco:
Dirección hardware del bloque
Dirección de un búfer (memoria intermedia)
Lectura: copia el bloque del disco al búfer
Escritura: copia el bloque del búfer al disco
Conceptos generales de organización de ficheros
Registros, tipos de registro y bloques
6
Registros, tipos de registro y bloques (y 2)
Tiempo(localización&transferencia) >Tiempo(procesamiento CPU)
La solución…
estructurar los ficheros para minimizar el nº de transferencias de bloques necesarias para localizar y transferir datos del disco a memoria principal
Conceptos generales de organización de ficheros
Búsqueda + Retardo Rotacional+ Transferencia
?Cuello de botella
7
Fichero
Secuencia de registros con igual estructura
Fichero mixto
Contiene registros de diferente tipo
Aumenta la eficiencia de operaciones de reunión
Fichero de registros de longitud fija
Fichero de registros de longitud variable, debido a…
Registros del mismo tipo pero con algún campo .
de longitud variable,
multivalorado,
opcional
Fichero mixto
Ficheros, registros de longitud fija y variable
Conceptos generales de organización de ficheros
8
Los registros se asignan a bloques de disco
tamaño(bloque) = B bytes
Si B > tamaño(registro) ? varios registros por bloque
Fichero con registros de longitud fija R
Si B ? R ? factor de bloques fbl = ? B / R ? registros
Espacio desocupado = B – ( fbl * R ) bytes
Organización extendida: aprovechar este espacio almacenando ahí (una parte de) otro registro (y el resto en otro bloque)
Organización no extendida: no se permite que un registro esté almacenado en varios bloques
Grabación de registros en bloques, registros extendidos y no extendidos
Conceptos generales de organización de ficheros
9
Fichero con registros de longitud variable
Cada bloque contiene un nº distinto de registros
fbl = número medio de registros por bloque
Es posible estimar el nº de bloques necesarios para contener r registros:
?r / fbl? bloques
Puede utilizarse organización extendida o no extendida:
Organización extendida si el tamaño medio de los registros es grande, pues se reduce el espacio desperdiciado por bloque
Grabación de registros en bloques, registros extendidos y no extendidos (y 2)
Conceptos generales de organización de ficheros
10
Contiene datos necesarios para que los programas puedan acceder a los registros del fichero
Incluye información
para determinar la dirección en disco de los bloques y
descripción de formato de los registros
Fichero con registros no extendidos y de longitud fija:
longitud y orden de campos
Fichero con registros de longitud variable:
caracteres separadores entre campos
marcas de tipo de campo (si campos opcionales)
marcas de tipo de registro (si fichero mixto)
Descriptor de fichero (cabecera)
Conceptos generales de organización de ficheros
11
Operaciones de obtención de datos
Localizar ciertos registros para examinar y procesar su contenido
Operaciones de actualización
Insertar, eliminar o modificar registros
Suele ser necesaria una selección previa con base en una condición de búsqueda
Si varios registros la satisfacen, se localiza el primero de ellos
Registro Actual:
El localizado más recientemente en el búfer (memoria intermedia)
Operaciones con ficheros
Conceptos generales de organización de ficheros
12
Operaciones sobre un solo registro
Buscar (Localizar)
Leer (Obtener)
Buscar Siguiente
Eliminar
Modificar
Insertar
Operaciones sobre un conjunto de registros
Lectura Ordenada
Buscar Todos
Reorganizar
Operaciones para Abrir y Cerrar ficheros
Operaciones con ficheros (y 2)
Conceptos generales de organización de ficheros
Página siguiente |