Organización aleatoria o indirecta

4,733 views

Published on

Organización aleatoria o indirecta

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,733
On SlideShare
0
From Embeds
0
Number of Embeds
255
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Organización aleatoria o indirecta

  1. 1. Organización aleatoria o indirecta, árboles b y árboles b+<br />Gestión de Base de Datos<br />
  2. 2. ¿Qué es un fichero?<br />Un fichero es un conjunto de bytes almacenados de forma organizada en un dispositivo de memoria secundaria.<br />La información de los ficheros se almacena en unidades llamadas registros, y estos se dividen en campos.<br />
  3. 3. Organización Aleatoria o indirecta<br />Son ficheros con organización relativa y clave alfanumérica, que hay que transformar para conseguir un valor numérico entero que facilite la correspondencia directa entre la clave y la dirección de memoria.<br />En este caso las claves no coinciden con la dirección física, que son las posiciones de cada registro.<br />
  4. 4. Para transformar dicha clave alfanumérica y obtener la dirección física usamos las siguientes fórmulas:<br />f(clave) = clave / 2 (división entera), tendremos que los registros con clave 500 y 501 intentarán ocupar la misma dirección física: la 250. Es responsabilidad del programador evitar estas colisiones.<br />Otras funciones hash, como la ya vista f(clave) = clave x 2, no producen colisiones, pero en cambio provocan que muchas direcciones físicas no sean utilizadas, con lo que se desaprovecha el espacio de almacenamiento.<br />
  5. 5. Ventajas<br />Acceso inmediato a los registros mediante su clave.<br />No es necesario ordenar el fichero.<br />Se pueden realizar operaciones de escritura y lectura a la vez.<br />Son muy rápidos en el tratamiento individual de registros.<br />Se pueden realizar accesos secuenciales.<br />
  6. 6. Inconvenientes<br />El fichero contiene gran cantidad de huecos o espacios.<br />El algoritmo para la conversión de las claves y el algoritmo necesario para el almacenamiento y tratamiento de sinónimos han de ser creados de modo que dejen el menor numero de huecos libres y se genere el menor numero de sinónimos.<br />
  7. 7. Inserción y lectura de registro<br />Para insertar el registro A usamos el siguiente algoritmo f(clave) = clave x 2 <br />50x2 = 100 <br />Que corresponde con la dirección de memoria 100.<br />
  8. 8. Al calcular la dirección de memoria puede ser que una clave diferente nos de cómo resultado la misma dirección de memoria, ese registro iría a la zona de overflow<br />
  9. 9. Borrado de registro<br />Para el borrado, borramos el registro y queda el hueco libre para poder poner un nuevo registro.<br />
  10. 10. Árboles B y Árboles B+<br />Descubiertos en 1972 por Bayer y McCreight, son el estándar hoy en día para la indexación de ficheros de datos.<br />Representan una colección de datos ordenados de manera que se permite una inserción y borradoeficientes de elementos.<br />Es un índice, multinivel, dinámico, con un límite máximo y mínimo en el número de claves pornodo.<br />
  11. 11. Árboles B<br />Los árboles B son índices multinivel que resuelven los problemas de la inserción y borrado de registros y se basan en dos reglas:<br />Permitir que los registros índice no estén llenos<br />No mover índices de un registro a otro cuando está lleno.<br />En su lugar, dividir en dos el registro. Cuando dos registros están muy vacíos, unirlos en uno solo cada registro de claves es un nodo del árbol B.<br />El número máximo de claves por nodo (m) constituye el orden del árbol B.<br />El número mínimo de claves permitidas en un nodo es normalmente la mitad del orden del árbol, con la excepción de la raiz 8.<br />
  12. 12. Ejemplo de Árbol B<br />
  13. 13. Árboles B+<br />Un árbol-B+ esunavariación de un árbol-B. En un árbol-B+, en contrasterespecto un árbol-B, toda la información se guarda en lashojas. Los nodosinternossólocontienen claves y punteros.<br />Todaslashojas se encuentran en el mismo, másbajonivel. Los nodoshoja se encuentranunidos entre sícomounalistaenlazadaparapermitirbúsquedasecuencial.<br />
  14. 14. El número máximo de claves en un registro es llamado el orden del árbol-B+.<br />El mínimo número de claves por registro es la mitad del máximo número de claves. Por ejemplo, si el orden de un árbol-B+ es n, cada nodo (exceptuando la raíz) debe tener entre n/2 y n claves.<br />El número de claves que pueden ser indexadas usando un árbol-B+ está en función del orden del árbol y su altura.<br />Para un árbol-B+ de orden n, con una altura h:<br />Número máximo de claves es: nh<br />Número mínimo de claves es: 2(n / 2)h- 1<br />
  15. 15. Ejemplo de Árbol B+<br />
  16. 16. Sergio soriano marchalJuan Antonio Membrives Polo<br />Realizado por: <br />

×