Organización de los archivos en bases de datos

Post on 03-Jul-2015

7.957 views 0 download

Transcript of Organización de los archivos en bases de datos

Miguel Orquera

Los archivos se organizan lógicamente como

secuencias de registros y se guardan en bloques.

En las bases de datos relacionales, las filas de diferentes tablas tienen tamaños diferentes.

Los archivos pueden almacenar registros de longitud fija o variable.

Organización de los archivos

Create table cuenta

( nroCuenta char(10),

nombreSucursal char(22),

saldo decimal(12,2)

)

Cada registro de esa tabla ocupará 40 bytes, por lo que es muy fácil su implementación en un archivo.

Registros de longitud fija

Registros de longitud fija

Es difícil borrar registros, se debe mover a todos los siguientes para cubrir el vacío.

Registros de longitud fija

Esta solución es mejor que a anterior para cubrir los espacio vacíos, pero se desordenan los registros.

Registros de longitud fija con lista de espacio libre

Se asigna un espacio como cabecera del archivo, allí se guarda entre otras cosas la dirección del primer registro borrado, éste espacio guarda un puntero al segundo registro borrado, etc. Se genera una lista de registros libres, que se utiliza para las inserciones.

Surgen por varias causas:

Almacenamiento de varios tipos de registros en un mismo archivo.

Registros con tipos de datos de longitud variable.

Registros que permiten campos repetidos, como arreglos.

Registros de longitud variable

Bloques con ranuras: se organizan así los bloques de datos para guardar registros de longitud variable.

Registros de longitud variable

TamañoUbicación

Las tablas son un conjunto de registros. En cambio,

la organización de los registros en archivos se puede dar de varias maneras:

Archivos en montículo: se puede colocar un registro en cualquier parte de un archivo donde haya espacio. Hay un archivo por cada tabla.

Como archivos secuenciales.

Organización hash de archivos (Se explicará en el capítulo de índices)

Agrupar varias tablas en un archivo.

Organización de los registros en archivos

Están ordenados en base a una clave de búsqueda que es uno o

mas atributos de una tabla. Los registros se vinculan con punteros en el orden de la clave

de búsqueda. Los registros se guardan físicamente en el orden de la clave de

búsqueda. Resulta difícil mantener el orden físico cuando hay muchas

inserciones o borrados. Se puede gestionar los registros borrados mediante cadenas de

punteros. En una inserción, si el bloque en donde se debe insertar está

lleno, se ubica en un nuevo bloque de desborde. Para volver a ser eficiente un archivo secuencial debe

reorganizarse luego de muchas modificaciones.

Organización de archivos secuenciales

Organización de archivos secuenciales

En DBMS modernas, el sistema operativo ve a la BD

como un archivo de gran tamaño, y deja que el mismo DBMS gestione ese archivo.

La DBMS organiza a las tablas de la manera que mas le convenga dentro de ese gran archivo, almacenando registros de dos o mas tablas en un mismo bloque si lo considera necesario.

Agrupación de varias tablas en un archivo

Agrupación de varias tablas en un archivo

Agrupación de varias tablas en un archivo

CONSULTA:Select número_cuenta, nombre_cliente, calle_cliente, ciudad_clientefrom impositor i, cliente cwhere i.nombre_cliente=c.nombre_cliente

Almacenamiento del catálogo del sistema

Agrupación de varias tablas en un archivo

CONSULTA: select * from cliente