Está en la página 1de 2

FICHEROS

Meter en un disco duro un modelo relacional seria muy ineficiente es por ello que se organizan
logicamente como secuencias de registros, cada uno formado por varios valores en distintos
campos, cada uno de un tipo.
Para identificar u ordenar los registros se usan claves (externa como la posicion o primaria).
Los registros pueden tener longitud fija o variable(en este caso pueden variar cualquier cosa aunque
nos centramos en la longitud).
-Longitud fija
Se determina un valor para los registros y se divide el espacio para estos, en el caso de las
inserciones estas se meten donde el ultimo borrado o en la primera posicion libre.
-Longitud variable
Se usan slots o bloques, cada uno contiene el numero de registros, el espacio vacio y un
array cuyas entradas contienen la ubicación y e tamaño de cada registro. Los registros reales se
colocan en el espacio vacio empezando por el final, despus se añade la nueva entrada al array
situado a la izquierda. Los punteros a registros son a los bloques, al borrar se marca como borrado y
se desplazan todos los demas para que el espacio siga siendo contiguo.
-Tareas basicas
-Añadir -Borrar -Leer todo en cualquier orden
-Leer en un orden -Leer con un valor clave -Actualizar el actual
Factor de bloqueo: Numero de registros logicos por bloque fisico. No hay formula para calcular el
adecuado, se usan limites:
-Inferior, evita un numero excesivo de transferencias
-Superior, tamaño del buffer o tiempo para transmitir los datos
Organizacion de los registros en archivos:
-Monticulo: Se colocan donde haya espacio, no se ordenan
Factor de bloqueo alto favorece, eficiente para buscar un registro concreto
1ºFase: dividir el fichero 2ºFase: Merge
Se van colocando los punteros en base al orden
-Ordenados: Los registros se guardan según el valor de la clave, se enlazan con punteros y se
ordenan fisicamente, la reorganizacion es muy costosa N/B para todo
-Hash: Cada registro tiene asociado un hash calculado con una funcion de hash:
El numero de registro debe ser uniformemente y aleatoriamente distribuido, una
pequeña variacion en la clave debe generar grandes cambios, debe minimizar la
creacion de sinonimos.
Lo mas importante es que sea repetible, por ello para crearla se usan funciones como
mod , y escogemos siempre un numero primo para dividir. Para ello se usa el llamado
direccionamiento abierto:
-Prueba lineal: Si busca sinonimo avanzara a la siguiente posicion a la
posicion libre y en el final ira al principio, lo malo que si no hay huecos
cerca es una mierda, si el factor de carga es menor a 85 ta bien.
Lectura secuencial y merge, o realizar otra secuencial.
-Rehashing: Necesita dos funciones de hash, la primera es la presentada
anteriormente, y aplica la segunda sobre esta, solucionando el problema de la
primera que pretendia congestionar demasiadas zonas del fichero.
Sinonimos en la primera dan problemas, D > 0, no puede entrar en bucle
-Hash extensible: Se aumentara cuando sea necesario y se contraera
Indice
Se base en usar claves de busqueda para cada registro
Indice primario o con agrupacion, para especificar el campo de ordenacion
Indice sin agrupacion para epecificar cualquier campo
Indice denso, una entrada por cada valor de cada campo
. Indice escaso, no la tiene
Metricas
Tipos de accesos sopoirtados eficientemente
Tiempo de insercion
Tiempo de borrado
Coste de espacio
Arboles
Heterogeneos:
Nodos hoja apuntan a registro el resto apuntan a nodos que tienen debajo
Homogeneos:
Iguales pero los nodos no hoja tmb apuntan a registros
En heterogeneos se suele tardar mas
B:
Todos los nodos hoja estan a. mismo nivel, como mucho 2d valores, menos el nodo
raiz ninguno puede tener menos de d valores
Inserciones en hojas, si no hay espacio se redistribuye
Los borrados provocan redistribucion
B+:
Como los anteriores pero ahora tienen un puntero al nodo siguiente
Con los duplicados se meten en una lista a la que apunta el puntero y listo

SELECCION DE INDICES
Los mas faciles:
CC y CP
Bajo coste
No merece la pena crear muchos pero si uno para atributos usados frecuentemente

También podría gustarte