SlideShare una empresa de Scribd logo
Técnicas de
Almacenamiento de Datos
Archivos Secuenciales Ordenados
Lic. Maximiliano López
mxlopez@hotmail.com
@maxihlopez
Archivos Secuenciales Ordenados
Los registros se almacenan de forma ordenada mediante el valor de un campo
de ordenamiento.
 El campo de ordenamiento se denomina clave.
 La clave de un archivo secuencial puede ser simple o múltiple (uno o varios campos).
 Facilita la búsqueda de datos para armar reportes ordenados.
Proceso de Ordenamiento
Ordenamiento
Externo MEZCLA
Mezcla Natural
Balanceada
Polifase
Cascada
Archivo
Ordenado
ORDEN
Por
Torneo
EJEMPLO
Sucursal Cantidad de Ventas Importe Total
XXXX 9999 9999
XXXX 9999 9999
XXXX 9999 9999
Dado el siguiente Archivo de Ventas
REG_VENTAS
• Sucursal (clave)
• Importe
• Nro de Factura
• Fecha
Se desea mostrar un informe de ventas
discriminado por sucursal
 Todos los registros de una misma sucursal aparecen en forma consecutiva en el archivo. Al
aparece un registro de otra sucursal, ya no habrá registros de la anterior.
 No hace falta conocer la cantidad máxima de sucursales.
 Se utiliza el modelo de Cortes de Control.
DIAGRAMA DE JACKSON
*
No FIN ARCHIVOINICIO LEER FIN
*
No FIN ARCHIVO
y SUCURSAL =
INICIO
SUCURSAL
FIN
SUCURSAL
+ ACUMULAR LEER
Enlace: Programación Estructurada de Jackson
ALGORITMO
TIPOS
TSUCURSAL = CADENA
TFECHA = REGISTRO
d,m,a : entero
FREG
REGVENTA = REGISTRO
sucursal: TSUCURSAL
importe: real
nro factura : cadena
fecha : TFECHA
FREG
VARIABLES
arch: archivo de REGVENTA
Reg: REGVENTA
sucAnt: TSUCURSAL
cant: entero
total: real
Acción CorteControl es
Abrir (arch)
Leer (arch, reg)
Mientras no fin(arch) hacer
inicioSucursal (Reg, sucAnt, cant, total)
tratarSucursal (Reg, sucAnt, cant, total)
finSucursal (sucAnt, cant, total)
Fmientras
Cerrar(arch)
Facción
PROCED. inicioSucursal (valor Reg :
REGVENTA; ref sucAnt : TSUCURSAL , ref
cant : entero, ref total : real)
SucAnt <- reg.sucursal
Cant <- 0
Total <- 0
FIN PROCED
PROCED finSucursal (Valor sucAnt : TSUCURSAL , valor
cant : entero, valor total : real)
Mostrar (sucAnt, cant, total)
FIN PROCED
ALGORITMO
PROCED. tratarSucursal (ref Reg :regVentas; valor sucAnt : TSUCURSAL, ref cant : entero,
ref total : real)
Mientras no fin(arch) Y sucAnt = reg.sucursal hacer
cant  cant + 1
total  total + reg.importe
leer (arch, reg)
Fmientras
FIN PROCED
ACTUALIZACIÓN
 Los archivos maestros almacenan información de tipo histórica o permanente cuya
veracidad depende de la frecuencia con la que son actualizados.
Actualización
de archivo
Maestro
Alta
BajaModifi
cación
ACTUALIZACIÓN
Archivo
MAESTRO
Viejo
ACTUALIZACIÓN
Archivo de
Novedades
Archivo
Trans.
Erróneas
Archivo
MAESTRO
Nuevo
EJEMPLO
Dados los siguientes Archivos
ARCHNOVEDADES
-RegNov
.clave
.datos
.operación {A,B,M}
ARCHMAESTRO
-RegMaestro
.clave
.datos
El archivo actualizado tendrá exactamente el mismo
diseño de registro que el archivo maestro original,
ya que luego de la actualización se convertirá en el
maestro a utilizar.
ERROR
Insertar un
Registro que
ya existe
Borrar un
registro que
no existe
Modificar un
registro que
no existe
ALGORITMO
TIPOS
REG_MAESTRO = REGISTRO
CLAVE:TCLAVE
DATO:TDATO
FREG
REG_NOVEDADES = REGISTRO
CLAVE:TCLAVE
DATO:TDATO
OP:CARACTER
FREG
TCLAVE = CADENA
TDATO = cADENA
VARIABLES
ARCHM, ARCHA: Archivo de REG_MAESTRO
ARCHN: Archivo de REG:NOVEDADES
REGM, REGA: REG_MAESTRO
REGN :REG_NOVEDADES
Acción Actualizar es
abrir (ARCHM)
abrir (ARCHN)
crear (ARCHA)
leerMaestro (REGM, REGA)
leerNovedad (REGN)
Mientras REGA.CLAVE <> maxvalor() O REGN.CLAVE <> maxvalor()
hacer
tratarClaves (REGM, REGA, REGN)
fMientras
cerrar (ARCHM) cerrar (ARCHN) cerrar (ARCHA)
Facción
Proced. tratarClaves (ref RM, RA: REG_MAESTRO,
ref RN: REG_NOVEDAD)
si (RA.clave = RN.clave) ent
tratarBajaoModif(RM,RA,RN)
sino si (RA.clave > RN.clave) ent
tratarAlta (RA, RN)
sino
grabar (ARCHA, RA)
obtenerAct(RM,RA)
fsi
fsi
fproced.
ALGORITMO
Proced. tratarBajaoModif (ref RM, RA: REG_MAESTRO, ref RN: REG_NOVEDAD)
segun RN.op hacer
valor 'A' : mostrar ("Error. Alta inexistente")
valor 'B' : obtenerAct (RM,RA)
valor 'M' : RA.dato <- RN.dato
otro : mostrar ("Error. Operación inexistente")
fsegun
leerNovedad (RN)
fproced.
Proced. tratarAlta (ref RA: REG_MAESTRO, ref RN: REG_NOVEDAD)
segun RN.op hacer
valor 'A' : RA.clave <- RN.clave
RA.dato <- RN.dato
valor 'B' : mostrar ("ERROR. Baja inexistente")
valor 'M' : mostrar ("ERROR. Modif. inexistente")
otro : mostrar ("ERROR. Operación inexistente")
fsegun
leerNovedad (RN)
Fproced.
ALGORITMO
Proced. obtenerAct (ref RM, RA: REG_MAESTRO)
si (RM.clave = RA.clave) ent
leerMaestro(RM,RA)
sino
RA <- RM
fsi
fproced.
Proced. leerMaestro (ref RM, RA : REG_MAESTRO)
si NO fin (ARCHM) ent
leer (ARCHM,RM)
RA <- RM
sino
RA.clave <- maxvalor()
RM.clave <- maxvalor()
Fsi
Fproced.
Proced. leerNovedad (ref RN : REG:NOVEDAD)
si NO fin (ARCHN) ent
leer(ARCHN,RN)
sino
RN.clave <- maxvalor()
fsin
fproced.
Lopez maximiliano   archivos secuenciales ordenados

Más contenido relacionado

Similar a Lopez maximiliano archivos secuenciales ordenados

postgres en base de datos arquitectura de bsaes de datos relacionales
postgres en base de datos arquitectura de bsaes de datos relacionalespostgres en base de datos arquitectura de bsaes de datos relacionales
postgres en base de datos arquitectura de bsaes de datos relacionales
NelsonMamaniRamos
 
HASH Organizacion de Archivos en Bases de Datos
HASH Organizacion de Archivos en Bases de DatosHASH Organizacion de Archivos en Bases de Datos
HASH Organizacion de Archivos en Bases de Datos
Angel Feijo
 
Archivos secuenciales indexados drasly
Archivos secuenciales indexados   draslyArchivos secuenciales indexados   drasly
Archivos secuenciales indexados drasly
Drasly Adalí Rafael Esquivel
 
Archivo logico
Archivo logicoArchivo logico
Archivo logico
guillen123456
 
Visualfoxpro
VisualfoxproVisualfoxpro
Visualfoxpro
Juan Andres Mendoza
 
SQL_ADO.NET.ppt
SQL_ADO.NET.pptSQL_ADO.NET.ppt
SQL_ADO.NET.ppt
GabrielCastillo731660
 
SQL_ADO.NET.pptx
SQL_ADO.NET.pptxSQL_ADO.NET.pptx
SQL_ADO.NET.pptx
jazmitia1983
 
Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexados
jennifergu17
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTP
Joseph Lopez
 
SQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store IndexSQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store Index
Eduardo Castro
 
Proyecto Gestor SQL en Java - Programacion 3
Proyecto Gestor SQL en Java - Programacion 3Proyecto Gestor SQL en Java - Programacion 3
Proyecto Gestor SQL en Java - Programacion 3
Christian Salinas
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store Index
Eduardo Castro
 
Dbd04 t06 oracle
Dbd04 t06 oracleDbd04 t06 oracle
Dbd04 t06 oracle
Enrique García Gómez
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
Harold Perez
 
Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012
SolidQ
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
Julián Castiblanco
 
informacion sobre blog datos y sql
informacion sobre blog datos y sqlinformacion sobre blog datos y sql
informacion sobre blog datos y sql
danie12angie
 
LM-UT7: Almacenamiento XML
LM-UT7: Almacenamiento XML LM-UT7: Almacenamiento XML
LM-UT7: Almacenamiento XML
David Martin
 
Introduction to sas in spanish
Introduction to sas in spanishIntroduction to sas in spanish
Introduction to sas in spanish
Ajay Ohri
 
Archivo Secuencial
Archivo SecuencialArchivo Secuencial
Archivo Secuencial
luismy_martinez
 

Similar a Lopez maximiliano archivos secuenciales ordenados (20)

postgres en base de datos arquitectura de bsaes de datos relacionales
postgres en base de datos arquitectura de bsaes de datos relacionalespostgres en base de datos arquitectura de bsaes de datos relacionales
postgres en base de datos arquitectura de bsaes de datos relacionales
 
HASH Organizacion de Archivos en Bases de Datos
HASH Organizacion de Archivos en Bases de DatosHASH Organizacion de Archivos en Bases de Datos
HASH Organizacion de Archivos en Bases de Datos
 
Archivos secuenciales indexados drasly
Archivos secuenciales indexados   draslyArchivos secuenciales indexados   drasly
Archivos secuenciales indexados drasly
 
Archivo logico
Archivo logicoArchivo logico
Archivo logico
 
Visualfoxpro
VisualfoxproVisualfoxpro
Visualfoxpro
 
SQL_ADO.NET.ppt
SQL_ADO.NET.pptSQL_ADO.NET.ppt
SQL_ADO.NET.ppt
 
SQL_ADO.NET.pptx
SQL_ADO.NET.pptxSQL_ADO.NET.pptx
SQL_ADO.NET.pptx
 
Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexados
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTP
 
SQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store IndexSQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store Index
 
Proyecto Gestor SQL en Java - Programacion 3
Proyecto Gestor SQL en Java - Programacion 3Proyecto Gestor SQL en Java - Programacion 3
Proyecto Gestor SQL en Java - Programacion 3
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store Index
 
Dbd04 t06 oracle
Dbd04 t06 oracleDbd04 t06 oracle
Dbd04 t06 oracle
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
informacion sobre blog datos y sql
informacion sobre blog datos y sqlinformacion sobre blog datos y sql
informacion sobre blog datos y sql
 
LM-UT7: Almacenamiento XML
LM-UT7: Almacenamiento XML LM-UT7: Almacenamiento XML
LM-UT7: Almacenamiento XML
 
Introduction to sas in spanish
Introduction to sas in spanishIntroduction to sas in spanish
Introduction to sas in spanish
 
Archivo Secuencial
Archivo SecuencialArchivo Secuencial
Archivo Secuencial
 

Último

Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
holabuscafiesta
 
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
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
AlanL15
 
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
 
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
 
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
 

Último (6)

Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
 
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
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
 
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
 
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
 
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
 

Lopez maximiliano archivos secuenciales ordenados

  • 1. Técnicas de Almacenamiento de Datos Archivos Secuenciales Ordenados Lic. Maximiliano López mxlopez@hotmail.com @maxihlopez
  • 2. Archivos Secuenciales Ordenados Los registros se almacenan de forma ordenada mediante el valor de un campo de ordenamiento.  El campo de ordenamiento se denomina clave.  La clave de un archivo secuencial puede ser simple o múltiple (uno o varios campos).  Facilita la búsqueda de datos para armar reportes ordenados.
  • 3. Proceso de Ordenamiento Ordenamiento Externo MEZCLA Mezcla Natural Balanceada Polifase Cascada Archivo Ordenado ORDEN Por Torneo
  • 4. EJEMPLO Sucursal Cantidad de Ventas Importe Total XXXX 9999 9999 XXXX 9999 9999 XXXX 9999 9999 Dado el siguiente Archivo de Ventas REG_VENTAS • Sucursal (clave) • Importe • Nro de Factura • Fecha Se desea mostrar un informe de ventas discriminado por sucursal  Todos los registros de una misma sucursal aparecen en forma consecutiva en el archivo. Al aparece un registro de otra sucursal, ya no habrá registros de la anterior.  No hace falta conocer la cantidad máxima de sucursales.  Se utiliza el modelo de Cortes de Control.
  • 5. DIAGRAMA DE JACKSON * No FIN ARCHIVOINICIO LEER FIN * No FIN ARCHIVO y SUCURSAL = INICIO SUCURSAL FIN SUCURSAL + ACUMULAR LEER Enlace: Programación Estructurada de Jackson
  • 6. ALGORITMO TIPOS TSUCURSAL = CADENA TFECHA = REGISTRO d,m,a : entero FREG REGVENTA = REGISTRO sucursal: TSUCURSAL importe: real nro factura : cadena fecha : TFECHA FREG VARIABLES arch: archivo de REGVENTA Reg: REGVENTA sucAnt: TSUCURSAL cant: entero total: real Acción CorteControl es Abrir (arch) Leer (arch, reg) Mientras no fin(arch) hacer inicioSucursal (Reg, sucAnt, cant, total) tratarSucursal (Reg, sucAnt, cant, total) finSucursal (sucAnt, cant, total) Fmientras Cerrar(arch) Facción PROCED. inicioSucursal (valor Reg : REGVENTA; ref sucAnt : TSUCURSAL , ref cant : entero, ref total : real) SucAnt <- reg.sucursal Cant <- 0 Total <- 0 FIN PROCED PROCED finSucursal (Valor sucAnt : TSUCURSAL , valor cant : entero, valor total : real) Mostrar (sucAnt, cant, total) FIN PROCED
  • 7. ALGORITMO PROCED. tratarSucursal (ref Reg :regVentas; valor sucAnt : TSUCURSAL, ref cant : entero, ref total : real) Mientras no fin(arch) Y sucAnt = reg.sucursal hacer cant  cant + 1 total  total + reg.importe leer (arch, reg) Fmientras FIN PROCED
  • 8. ACTUALIZACIÓN  Los archivos maestros almacenan información de tipo histórica o permanente cuya veracidad depende de la frecuencia con la que son actualizados. Actualización de archivo Maestro Alta BajaModifi cación
  • 10. EJEMPLO Dados los siguientes Archivos ARCHNOVEDADES -RegNov .clave .datos .operación {A,B,M} ARCHMAESTRO -RegMaestro .clave .datos El archivo actualizado tendrá exactamente el mismo diseño de registro que el archivo maestro original, ya que luego de la actualización se convertirá en el maestro a utilizar. ERROR Insertar un Registro que ya existe Borrar un registro que no existe Modificar un registro que no existe
  • 11. ALGORITMO TIPOS REG_MAESTRO = REGISTRO CLAVE:TCLAVE DATO:TDATO FREG REG_NOVEDADES = REGISTRO CLAVE:TCLAVE DATO:TDATO OP:CARACTER FREG TCLAVE = CADENA TDATO = cADENA VARIABLES ARCHM, ARCHA: Archivo de REG_MAESTRO ARCHN: Archivo de REG:NOVEDADES REGM, REGA: REG_MAESTRO REGN :REG_NOVEDADES Acción Actualizar es abrir (ARCHM) abrir (ARCHN) crear (ARCHA) leerMaestro (REGM, REGA) leerNovedad (REGN) Mientras REGA.CLAVE <> maxvalor() O REGN.CLAVE <> maxvalor() hacer tratarClaves (REGM, REGA, REGN) fMientras cerrar (ARCHM) cerrar (ARCHN) cerrar (ARCHA) Facción Proced. tratarClaves (ref RM, RA: REG_MAESTRO, ref RN: REG_NOVEDAD) si (RA.clave = RN.clave) ent tratarBajaoModif(RM,RA,RN) sino si (RA.clave > RN.clave) ent tratarAlta (RA, RN) sino grabar (ARCHA, RA) obtenerAct(RM,RA) fsi fsi fproced.
  • 12. ALGORITMO Proced. tratarBajaoModif (ref RM, RA: REG_MAESTRO, ref RN: REG_NOVEDAD) segun RN.op hacer valor 'A' : mostrar ("Error. Alta inexistente") valor 'B' : obtenerAct (RM,RA) valor 'M' : RA.dato <- RN.dato otro : mostrar ("Error. Operación inexistente") fsegun leerNovedad (RN) fproced. Proced. tratarAlta (ref RA: REG_MAESTRO, ref RN: REG_NOVEDAD) segun RN.op hacer valor 'A' : RA.clave <- RN.clave RA.dato <- RN.dato valor 'B' : mostrar ("ERROR. Baja inexistente") valor 'M' : mostrar ("ERROR. Modif. inexistente") otro : mostrar ("ERROR. Operación inexistente") fsegun leerNovedad (RN) Fproced.
  • 13. ALGORITMO Proced. obtenerAct (ref RM, RA: REG_MAESTRO) si (RM.clave = RA.clave) ent leerMaestro(RM,RA) sino RA <- RM fsi fproced. Proced. leerMaestro (ref RM, RA : REG_MAESTRO) si NO fin (ARCHM) ent leer (ARCHM,RM) RA <- RM sino RA.clave <- maxvalor() RM.clave <- maxvalor() Fsi Fproced. Proced. leerNovedad (ref RN : REG:NOVEDAD) si NO fin (ARCHN) ent leer(ARCHN,RN) sino RN.clave <- maxvalor() fsin fproced.