Una base de datos es una colección de gran cantidad de datos relacionados. En el caso de RDBMS (Sistema de gestión de bases de datos relacionales), los datos se almacenan en forma de relaciones o tablas. Como usuario normal, vemos los datos almacenados en tablas, pero en realidad esta gran cantidad de datos se almacena en forma de archivos en la memoria física.
Un archivo es una colección de registros relacionados almacenados en el almacenamiento secundario, como discos magnéticos en formato binario. Hay varias estrategias para mapear registros de archivos en bloques de disco:
1. Asignación distribuida:
en la asignación distribuida, el registro de un archivo se almacena dentro del bloque, incluso si solo se puede almacenar parcialmente y, por lo tanto, el registro se distribuye en dos bloques, lo que le da el nombre de asignación distribuida .
- Ventajas: Sin desperdicio de memoria (sin fragmentación interna).
- Desventajas: El registro que se ha extendido, al acceder a él se nos pediría acceder a dos bloques y el tiempo de búsqueda de un bloque es mayor que el tiempo de búsqueda de un registro dentro de un bloque ya que la cantidad de bloques en el disco es demasiado grande.
2. Mapeo sin expansión:
en el mapeo sin expansión, a diferencia de la estrategia expandida, el registro de un archivo se almacena dentro del bloque solo si se puede almacenar completamente dentro de él.
- Ventajas: El tiempo de acceso a un registro es menor. Esto se debe a que en el mapeo distribuido, para acceder al registro distribuido, se nos solicitó acceder a dos bloques y, como sabemos, el tiempo de acceso de un bloque es mucho mayor que el de un registro. Pero en el mapeo no expandido, para un solo registro necesitamos acceder a un solo bloque cada vez y, por lo tanto, es más rápido.
- Desventajas: El desperdicio de memoria es mayor (fragmentación interna).