SlideShare una empresa de Scribd logo
INDEXACIÓN DE 
ARCHIVOS SIMPLE 
David Fernández Puentes
Búsqueda y ordenación 
eficiente 
 Índice (Puede existir más de uno por fichero) : 
 Estructura de datos en memoria, que permite el 
acceso a la información almacenada en un 
archivo a partir de un determinado orden. 
 Se mantiene en memoria: 
 Un dato identificador. 
 Dirección física/lógica del registro en el fichero que 
hace referencia a la información completa. 
 Se almacena en una dupla (<clave>,<dirección>), 
permitiendo el acceso único a la dirección. 
 Normalmente se usa un vector ordenado, pero por 
eficiencia sería mejor una estructura de tipo árbol ABB
Índice Simple o primario 
 Guarda únicamente una primary key, 
indentificando de forma única a un registro 
 El índice Guarda campo clave y dirección 
física de fichero. 
 El fichero Guarda registros sin orden 
establecido 
Clave Dir. fich. 
Ana 0 
Beatriz 170 
Miguel 68 
Pablo 34 
Dir. Fis. 
fich 
Clave Resto de campos 
0 Ana Sánchez Romero|20|Jaén 
34 Pablo Moreno Jiménez|18|Almería 
68 Miguel Cano Ruano|32|Huelva 
170 Beatriz Gómez Solano|25|Granada 
F. Índice F. Datos
Operaciones de mantenimiento de 
un archivo indexado 
 Tareas para el manejo de un índice: 
 Crear un nuevo índice a partir de un fichero de 
datos. 
 Cargar un índice ya existente en memoria desde 
un fichero de índice. 
 Reescribir el fichero e índice al final. 
 Añadir registros al fichero de datos. 
 Eliminar registros del fichero de datos. 
 Modificar registros del fichero.
Pasos para crear un índice 
 Recorrer el fichero de datos 
secuencialmente e ir extrayendo de cada 
registro el campo clave. 
 Crear la dupla <clave, dir_fichero>, siendo 
dir_fichero la dirección física del fichero donde 
se encuentra el registro con dicha clave. 
 Insertar dicha dupla en el índice en memoria. 
 Guardar el índice en fichero para mantener 
la integridad del sistema. 
 Se hace un recorrido secuencial del índice y 
se guarda la dupla <clave, dir_fichero> en el 
fichero de índices.
Cargar el índice en 
memoria/Guardar el índice a 
fichero 
 Cargar el índice a memoria: Recorrer el 
fichero de índices secuencialmente con las 
duplas <clave, dir_fichero>, e 
insertarlos directamente en el índice en 
memoria. 
 Guardar el índice en disco: salvar el índice de 
memoria al fichero de índices antes de 
terminar la aplicación. 
 El fichero de datos siempre permanece 
actualizado pero el de índices puede no 
estarlo. Para salvar este problema puede 
marcarse el fichero índice con alguna etiqueta
Añadir un nuevo registro al 
fichero. 
 Implica añadir una nueva entrada al índice: 
 Se extrae la clave del registro a insertar. 
 Se busca una posición válida para insertar el 
registro en el fichero de datos y se inserta en 
dicha posición. 
 Se inserta la dupla <clave, dir_fichero> en el 
índice en memoria.
Eliminar un registro de 
fichero. 
 Implica eliminar la entrada correspondiente en 
el índice. 
 Se busca la clave del dato a borrar en el índice, 
para conocer su localización en el fichero. 
 Se utilizará un método de borrado u otro según 
las características. 
 Se elimina en memoria la dupla <clave, 
dir_fichero> del índice.
Actualizar un registro de 
fichero. 
 Implica 2 situaciones diferentes: 
 Si cambia el valor del campo clave  cambia su 
posición. 
 La actualización no cambia al campo clave  no 
se modifica el índice.
Implementación. Clase para 
gestionar un índice simple

Más contenido relacionado

La actualidad más candente

Indizacion y operaciones
Indizacion y operacionesIndizacion y operaciones
Indizacion y operacionesfavi_hola
 
Archivo Secuencial-Indexado
Archivo Secuencial-IndexadoArchivo Secuencial-Indexado
Archivo Secuencial-Indexado
luismy_martinez
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
Alvaro Enrique Ruano
 
Herencia informatica
Herencia informaticaHerencia informatica
Herencia informatica
Edsel Barbosa González
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datosIsabel
 
Archivos secuenciales indexados
Archivos secuenciales indexadosArchivos secuenciales indexados
Archivos secuenciales indexados
aabnercardona12
 
14 Skip Lists
14 Skip Lists14 Skip Lists
14 Skip Lists
Andres Mendez-Vazquez
 
INYECCION SQL(SEGURIDAD DE LA INFORMACION)
INYECCION SQL(SEGURIDAD DE LA INFORMACION)INYECCION SQL(SEGURIDAD DE LA INFORMACION)
INYECCION SQL(SEGURIDAD DE LA INFORMACION)
toshko86
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
Julises Garín Catalán
 
Archivos secuenciales
Archivos secuencialesArchivos secuenciales
Archivos secuencialessekt07
 
Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexados
jennifergu17
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: Lista
Emerson Garay
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion BusquedaAngie Suarez
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binariosdaniel9026
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!romo91
 
Archivo secuencial-indexado
Archivo secuencial-indexadoArchivo secuencial-indexado
Archivo secuencial-indexado
Aleizapata
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++EdsonRc
 

La actualidad más candente (20)

Indizacion y operaciones
Indizacion y operacionesIndizacion y operaciones
Indizacion y operaciones
 
Archivo Secuencial-Indexado
Archivo Secuencial-IndexadoArchivo Secuencial-Indexado
Archivo Secuencial-Indexado
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Herencia informatica
Herencia informaticaHerencia informatica
Herencia informatica
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datos
 
Archivos secuenciales indexados
Archivos secuenciales indexadosArchivos secuenciales indexados
Archivos secuenciales indexados
 
14 Skip Lists
14 Skip Lists14 Skip Lists
14 Skip Lists
 
INYECCION SQL(SEGURIDAD DE LA INFORMACION)
INYECCION SQL(SEGURIDAD DE LA INFORMACION)INYECCION SQL(SEGURIDAD DE LA INFORMACION)
INYECCION SQL(SEGURIDAD DE LA INFORMACION)
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
Archivos secuenciales
Archivos secuencialesArchivos secuenciales
Archivos secuenciales
 
Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexados
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: Lista
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion Busqueda
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!
 
Indices 1
Indices 1Indices 1
Indices 1
 
Archivo secuencial-indexado
Archivo secuencial-indexadoArchivo secuencial-indexado
Archivo secuencial-indexado
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++
 

Destacado

HTML5 El API de geolocalizacion
HTML5 El API de geolocalizacionHTML5 El API de geolocalizacion
HTML5 El API de geolocalizacion
Francisco Javier Arce Anguiano
 
Introdución al modelo Cocomo
Introdución al modelo CocomoIntrodución al modelo Cocomo
Introdución al modelo Cocomo
David Fernández Puentes
 
Postagilismo- Una breve explicación
Postagilismo- Una breve explicaciónPostagilismo- Una breve explicación
Postagilismo- Una breve explicación
David Fernández Puentes
 
Creando un servicio SOAP en Java con NetBeans
Creando un servicio SOAP en Java con NetBeansCreando un servicio SOAP en Java con NetBeans
Creando un servicio SOAP en Java con NetBeans
David Fernández Puentes
 
Base De Datos Moviles
Base De Datos MovilesBase De Datos Moviles
Base De Datos Movilesguest8d7627
 
Interfaces gráficas de usuario
Interfaces gráficas de usuarioInterfaces gráficas de usuario
Interfaces gráficas de usuario
David Fernández Puentes
 
Geolocalizacion y salud
Geolocalizacion y saludGeolocalizacion y salud
Geolocalizacion y salud
Gersón Beltran
 
Presentación realidad aumentada
Presentación realidad aumentadaPresentación realidad aumentada
Presentación realidad aumentada
David Fernández Puentes
 

Destacado (9)

HTML5 El API de geolocalizacion
HTML5 El API de geolocalizacionHTML5 El API de geolocalizacion
HTML5 El API de geolocalizacion
 
Introdución al modelo Cocomo
Introdución al modelo CocomoIntrodución al modelo Cocomo
Introdución al modelo Cocomo
 
Presentacion geolocalización
Presentacion geolocalización Presentacion geolocalización
Presentacion geolocalización
 
Postagilismo- Una breve explicación
Postagilismo- Una breve explicaciónPostagilismo- Una breve explicación
Postagilismo- Una breve explicación
 
Creando un servicio SOAP en Java con NetBeans
Creando un servicio SOAP en Java con NetBeansCreando un servicio SOAP en Java con NetBeans
Creando un servicio SOAP en Java con NetBeans
 
Base De Datos Moviles
Base De Datos MovilesBase De Datos Moviles
Base De Datos Moviles
 
Interfaces gráficas de usuario
Interfaces gráficas de usuarioInterfaces gráficas de usuario
Interfaces gráficas de usuario
 
Geolocalizacion y salud
Geolocalizacion y saludGeolocalizacion y salud
Geolocalizacion y salud
 
Presentación realidad aumentada
Presentación realidad aumentadaPresentación realidad aumentada
Presentación realidad aumentada
 

Similar a Indexación de archivos simple

Archivos
ArchivosArchivos
Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexados
Tony Estuardo Rojas
 
Archvios Indexados
Archvios IndexadosArchvios Indexados
Archvios Indexados
Ana Reyes
 
Indexamiento
IndexamientoIndexamiento
Indexamientofavi_hola
 
Segunda Parte del Material de la Unidad I
Segunda Parte del Material de la Unidad ISegunda Parte del Material de la Unidad I
Segunda Parte del Material de la Unidad I
Ennys Vivas
 
Base de datos pres..
Base de datos pres..Base de datos pres..
Base de datos pres..chovialbi
 
Archivos Y Procesamiento
Archivos Y ProcesamientoArchivos Y Procesamiento
Archivos Y Procesamientojorgeabustillo
 
Archivos secuenciales indexados drasly
Archivos secuenciales indexados   draslyArchivos secuenciales indexados   drasly
Archivos secuenciales indexados drasly
Drasly Adalí Rafael Esquivel
 
DISEÑO DE ARCHIVOS Y USO DE DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIO
DISEÑO DE ARCHIVOS Y USO DE DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIODISEÑO DE ARCHIVOS Y USO DE DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIO
DISEÑO DE ARCHIVOS Y USO DE DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIO
Wilmer Villamizar Santos
 
indizacion
indizacionindizacion
indizacionCogu09
 
Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901
Diego Maury Orcue
 
Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901
Diego Maury Orcue
 
Plantilla con-normas-icontec 901 recreada
Plantilla con-normas-icontec 901 recreadaPlantilla con-normas-icontec 901 recreada
Plantilla con-normas-icontec 901 recreada
Diego Maury Orcue
 
Presentacion de base de datos
Presentacion de base de datosPresentacion de base de datos
Presentacion de base de datosdetorres05
 
Ficheros en los lenguajes de programación
Ficheros en los lenguajes de programaciónFicheros en los lenguajes de programación
Ficheros en los lenguajes de programaciónYawood
 
Ficheros en los lenguajes de programación
Ficheros en los lenguajes de programaciónFicheros en los lenguajes de programación
Ficheros en los lenguajes de programaciónYawood
 
Conceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de DatosConceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de Datos
Carlos Rafael Luna Vargas
 
Teoria ACCESS
Teoria ACCESSTeoria ACCESS
Teoria ACCESS
Joana Ruiz Gutierrez
 

Similar a Indexación de archivos simple (20)

Archivos
ArchivosArchivos
Archivos
 
Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexados
 
Archvios Indexados
Archvios IndexadosArchvios Indexados
Archvios Indexados
 
Indexamiento
IndexamientoIndexamiento
Indexamiento
 
Segunda Parte del Material de la Unidad I
Segunda Parte del Material de la Unidad ISegunda Parte del Material de la Unidad I
Segunda Parte del Material de la Unidad I
 
Temario
Temario Temario
Temario
 
Base de datos pres..
Base de datos pres..Base de datos pres..
Base de datos pres..
 
Independencia de datos
Independencia de datosIndependencia de datos
Independencia de datos
 
Archivos Y Procesamiento
Archivos Y ProcesamientoArchivos Y Procesamiento
Archivos Y Procesamiento
 
Archivos secuenciales indexados drasly
Archivos secuenciales indexados   draslyArchivos secuenciales indexados   drasly
Archivos secuenciales indexados drasly
 
DISEÑO DE ARCHIVOS Y USO DE DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIO
DISEÑO DE ARCHIVOS Y USO DE DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIODISEÑO DE ARCHIVOS Y USO DE DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIO
DISEÑO DE ARCHIVOS Y USO DE DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIO
 
indizacion
indizacionindizacion
indizacion
 
Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901
 
Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901
 
Plantilla con-normas-icontec 901 recreada
Plantilla con-normas-icontec 901 recreadaPlantilla con-normas-icontec 901 recreada
Plantilla con-normas-icontec 901 recreada
 
Presentacion de base de datos
Presentacion de base de datosPresentacion de base de datos
Presentacion de base de datos
 
Ficheros en los lenguajes de programación
Ficheros en los lenguajes de programaciónFicheros en los lenguajes de programación
Ficheros en los lenguajes de programación
 
Ficheros en los lenguajes de programación
Ficheros en los lenguajes de programaciónFicheros en los lenguajes de programación
Ficheros en los lenguajes de programación
 
Conceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de DatosConceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de Datos
 
Teoria ACCESS
Teoria ACCESSTeoria ACCESS
Teoria ACCESS
 

Último

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
JhenryHuisa1
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
AlanL15
 

Último (6)

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
 

Indexación de archivos simple

  • 1. INDEXACIÓN DE ARCHIVOS SIMPLE David Fernández Puentes
  • 2. Búsqueda y ordenación eficiente  Índice (Puede existir más de uno por fichero) :  Estructura de datos en memoria, que permite el acceso a la información almacenada en un archivo a partir de un determinado orden.  Se mantiene en memoria:  Un dato identificador.  Dirección física/lógica del registro en el fichero que hace referencia a la información completa.  Se almacena en una dupla (<clave>,<dirección>), permitiendo el acceso único a la dirección.  Normalmente se usa un vector ordenado, pero por eficiencia sería mejor una estructura de tipo árbol ABB
  • 3. Índice Simple o primario  Guarda únicamente una primary key, indentificando de forma única a un registro  El índice Guarda campo clave y dirección física de fichero.  El fichero Guarda registros sin orden establecido Clave Dir. fich. Ana 0 Beatriz 170 Miguel 68 Pablo 34 Dir. Fis. fich Clave Resto de campos 0 Ana Sánchez Romero|20|Jaén 34 Pablo Moreno Jiménez|18|Almería 68 Miguel Cano Ruano|32|Huelva 170 Beatriz Gómez Solano|25|Granada F. Índice F. Datos
  • 4. Operaciones de mantenimiento de un archivo indexado  Tareas para el manejo de un índice:  Crear un nuevo índice a partir de un fichero de datos.  Cargar un índice ya existente en memoria desde un fichero de índice.  Reescribir el fichero e índice al final.  Añadir registros al fichero de datos.  Eliminar registros del fichero de datos.  Modificar registros del fichero.
  • 5. Pasos para crear un índice  Recorrer el fichero de datos secuencialmente e ir extrayendo de cada registro el campo clave.  Crear la dupla <clave, dir_fichero>, siendo dir_fichero la dirección física del fichero donde se encuentra el registro con dicha clave.  Insertar dicha dupla en el índice en memoria.  Guardar el índice en fichero para mantener la integridad del sistema.  Se hace un recorrido secuencial del índice y se guarda la dupla <clave, dir_fichero> en el fichero de índices.
  • 6. Cargar el índice en memoria/Guardar el índice a fichero  Cargar el índice a memoria: Recorrer el fichero de índices secuencialmente con las duplas <clave, dir_fichero>, e insertarlos directamente en el índice en memoria.  Guardar el índice en disco: salvar el índice de memoria al fichero de índices antes de terminar la aplicación.  El fichero de datos siempre permanece actualizado pero el de índices puede no estarlo. Para salvar este problema puede marcarse el fichero índice con alguna etiqueta
  • 7. Añadir un nuevo registro al fichero.  Implica añadir una nueva entrada al índice:  Se extrae la clave del registro a insertar.  Se busca una posición válida para insertar el registro en el fichero de datos y se inserta en dicha posición.  Se inserta la dupla <clave, dir_fichero> en el índice en memoria.
  • 8. Eliminar un registro de fichero.  Implica eliminar la entrada correspondiente en el índice.  Se busca la clave del dato a borrar en el índice, para conocer su localización en el fichero.  Se utilizará un método de borrado u otro según las características.  Se elimina en memoria la dupla <clave, dir_fichero> del índice.
  • 9. Actualizar un registro de fichero.  Implica 2 situaciones diferentes:  Si cambia el valor del campo clave  cambia su posición.  La actualización no cambia al campo clave  no se modifica el índice.
  • 10. Implementación. Clase para gestionar un índice simple