Articulo de referencia

Base de datos de archivos planos

Ejemplo de un modelo de archivo plano [ 1 ] Una base de datos de archivo plano es un archivo tabular plano en el que cada registro es semánticamente independiente ; es decir , p...

Ejemplo de un modelo de archivo plano [ 1 ]

Una base de datos de archivo plano es un archivo tabular plano en el que cada registro es semánticamente independiente ; es decir , puede interpretarse y manipularse de forma significativa independientemente de los demás registros de la tabla. El término " plano" se refiere, en términos generales, a datos secuenciales basados ​​en registros, pero que carecen de aspectos más complejos como el anidamiento , las relaciones y los metadatos (a excepción de los encabezados de columna). Las relaciones pueden inferirse a partir de los datos, pero el formato no ofrece funcionalidades especiales para gestionarlas.

Formato

Una base de datos de archivo plano puede almacenarse como texto plano o binario (sin codificación de caracteres ). Cuando es texto plano, normalmente se formatea como un registro por línea [ 2 ] ya sea separado por delimitadores o de ancho fijo.

En los archivos de valores separados por delimitadores (DSV) , los campos se separan mediante un carácter o cadena llamado delimitador . Las variantes comunes son los valores separados por comas (CSV), donde el delimitador es una coma; los valores separados por tabulaciones (TSV), donde el delimitador es el carácter de tabulación; los valores separados por espacios; y los valores separados por barras verticales (el delimitador es |). Si se permite el delimitador dentro de un campo, debe existir una forma de distinguir los caracteres o cadenas delimitadores que se interpretan literalmente. Por ejemplo, considere la frase "Si tengo que hacerlo, lo haré yo mismo". Para codificarla en CSV, debe existir una forma de evitar que la coma divida el campo. Existen varias estrategias para evitar la colisión de delimitadores .

Con los formatos de ancho fijo, cada campo tiene una longitud fija con espacios adicionales según sea necesario. Las longitudes fijas pueden predefinirse y conocerse de antemano (es decir, se especifican en el formato) o analizarse a partir de una cabecera . Con longitudes predefinidas, los campos están limitados a una longitud máxima. La necesidad de campos más largos puede surgir algún tiempo después de que se defina el formato. Algunas soluciones posibles incluyen abreviar frases, reemplazar valores con enlaces (por ejemplo, una URI que apunte al valor) y dividir un archivo en varios archivos. Con los formatos separados por delimitadores, determinar los límites de los campos requiere encontrar los delimitadores, lo que genera cierta sobrecarga computacional . Esto no es necesario para los formatos de ancho fijo. Sin embargo, los formatos de ancho fijo pueden dar lugar a tamaños de archivo innecesariamente grandes si los campos tienden a ser más cortos que las longitudes reservadas para ellos.

Los delimitadores se pueden usar junto con una notación que indique la longitud de cada campo. Por ejemplo, 5apple|9pineappleespecifica la longitud (5 y 9) de cada campo. Esto se llama notación declarativa . Tiene una sobrecarga baja y evita fácilmente las colisiones de delimitadores, pero es frágil cuando se edita manualmente.

Historia

El trabajo de Herman Hollerith para la Oficina del Censo de los Estados Unidos , ejercido por primera vez en el censo de los Estados Unidos de 1890 , que implicaba datos tabulados mediante perforaciones en tarjetas de papel, [ 3 ] a veces se considera la primera base de datos computarizada de archivo plano, ya que no incluía tarjetas que indexaran otras tarjetas, ni relacionaran de otra manera las tarjetas individuales entre sí, salvo por su pertenencia a un grupo.

En la década de 1980, las aplicaciones informáticas de bases de datos configurables en formato de archivo plano eran populares en el IBM PC y el Macintosh . Estos programas estaban diseñados para facilitar a los usuarios el diseño y uso de sus propias bases de datos, y su popularidad era casi comparable a la de los procesadores de texto y las hojas de cálculo . Algunos ejemplos de software de bases de datos en formato de archivo plano son las primeras versiones de FileMaker , el programa shareware PC-File y el popular dBase .

Las bases de datos de archivos planos son comunes y omnipresentes porque son fáciles de escribir y editar, y se adaptan a infinidad de propósitos de una manera sencilla.

Los sistemas de almacenamiento lineal de datos NoSQL , datos JSON , hojas de cálculo primitivas (quizás separadas por comas o delimitadas por tabulaciones) y archivos de texto pueden considerarse bases de datos de archivos planos, ya que carecen de índices integrados, referencias incorporadas entre elementos de datos y tipos de datos complejos. Los programas para gestionar colecciones de libros, citas o agendas pueden utilizar bases de datos de archivos planos de propósito específico, almacenando y recuperando información de archivos planos sin índices ni sistemas de punteros.

Si bien un usuario puede escribir una tabla de contenido en un archivo de texto, el formato de archivo de texto en sí no incluye el concepto de tabla de contenido. Si bien un usuario puede escribir "amigo de Kathy" en la sección "Notas" de la información de contacto de John, esto es una interpretación del usuario y no una función integrada de la base de datos. Cuando un sistema de base de datos comienza a reconocer y codificar las relaciones entre los registros, empieza a alejarse de ser "plano", y cuando cuenta con un sistema detallado para describir tipos y relaciones jerárquicas, ya no está demasiado estructurado como para considerarse "plano".

Ejemplos

En el contexto de los sistemas tipo Unix , los archivos /etc/passwdy /etc/groupson bases de datos de archivos planos.

A continuación se ilustran los elementos típicos de una base de datos de archivos planos.

id nombre equipo 1 Amy Blues 2 Bob Reds 3 Chuck Blues 4 Richard Blues 5 Ethel Rojos 6 Fred Blues 7 Gilly Blues 8 Hank Rojos 9 Hank Blues 

La información está organizada en forma de tabla , es decir, una serie de filas y columnas.

La primera fila especifica los nombres de los campos que están asociados con los valores de cada fila. Las columnas constan de un identificador ( id ), un nombre de persona ( name ) y un nombre de equipo ( team ).

Las columnas se separan mediante espacios en blanco . Esto también se conoce como sangría o formato de datos de ancho fijo. Otra convención común consiste en separar las columnas mediante uno o más caracteres delimitadores , como una tabulación o una coma.

Cada columna puede estar restringida a un tipo de datos específico , restricciones que generalmente se imponen por convención.

Cada fila o registro cumple con la definición estándar de tupla en álgebra relacional . Este ejemplo muestra una serie de 3-tuplas.

Dado que las operaciones formales posibles con un archivo de texto suelen ser más limitadas de lo deseado, el texto del ejemplo anterior representaría normalmente un estado intermedio de los datos antes de ser transferidos a un sistema de gestión de bases de datos .

Véase también

  • Awk – Lenguaje de programación para el procesamiento de texto. Páginas que muestran breves descripciones de los destinos de redireccionamiento. 
  • Berkeley DB : biblioteca de software que proporciona una base de datos integrada para datos clave/valor. 
  • Recutils : conjunto de herramientas para usar archivos de texto plano como base de datos. 

Referencias

  1. "Glosario de integración de datos" (PDF) . Departamento de Transporte de EE. UU. Agosto de 2001. pág.  10. Archivado del original (PDF) el 20 de marzo de 2009. Consultado el 16 de abril de 2025 .
  2. Fowler, Glenn (1994), "cql: Lenguaje de consulta de bases de datos de archivos planos" , WTEC'94: Actas de la Conferencia Técnica de Invierno de USENIX de 1994
  3. Blodgett, John H.; Schultz, Claire K. (1969). "Herman Hollerith: pionero del procesamiento de datos" . American Documentation . 20 (3): 221– 226. doi : 10.1002/asi.4630200307 . ISSN 1936-6108 .