If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

Almacenar conjuntos de datos

El mundo digital está lleno de datos. Las aplicaciones de redes sociales recopilan datos sobre lo que publicamos y que "me gusta". Las tiendas en línea recopilan datos sobre productos que vemos. Las agencias de publicidad recopilan datos sobre dónde hacemos clic.
¿Cómo se almacenan todos estos datos? Puede empezar en un programa de computadora, donde hay variables que almacenan datos en memoria, pero finalmente necesitan almacenarse en un formato persistente. Los datos deben ser accesibles después de que el programa termine e, idealmente, que sea fácil analizarlos.
Vamos a ver algunas opciones para almacenar datos, desde archivos de texto simples hasta bases de datos sofisticadas.

Archivos de texto

¿Alguna vez has jugado un juego en una computadora? Muchos juegos de computadora registran tus mejores puntuaciones para ayudarte a medir tu progreso personal.
Un juego puede almacenar tus puntuaciones más altas en un archivo de texto en la computadora.
El archivo podría ser tan sencillo como este "highscores.txt":
73
82
83
99
¿Qué pasa si el juego también quiere almacenar la fecha de la puntuación más alta y el nivel alcanzado? Cada línea en el archivo tendría que almacenar varias piezas de información relacionada. A esto lo llamamos datos "tabulares", ya que cada línea es como un renglón de una tabla y cada renglón tiene múltiples columnas.
Un formato común para almacenar datos tabulares en archivos de texto es valores separados por comas (CSV) (comma-separated values, en inglés).
Esto es lo que podría estar almacenado en "highscores.csv":
date,level,score
01/11/2019,9,73
02/13/2019,10,82
02/14/2019,10,83
03/11/2019,11,99
La primera línea en el archivo declara las columnas "date", "level" y "score". Las líneas subsiguientes contienen los renglones reales de los datos, con la fecha primero, luego el nivel, luego la puntuación, todas separadas por comas.
Los archivos CSV son un formato común, y hay muchas herramientas que pueden leer y escribir archivos CSV. Algunas de esas herramientas son orientadas al usuario, como las aplicaciones de hojas de cálculo. Para los desarrolladores, hay bibliotecas en lenguajes de programación para leer y escribir archivos CSV desde sus aplicaciones.
Sin embargo, hay inconvenientes definitivos en los archivos CSV:
  • Es un solo archivo, así que su tamaño está limitado por el espacio del disco duro de la computadora y por el tiempo que tarde en abrir un archivo grande.
  • No viene con ninguna herramienta integrada para consultar los datos, como ordenar por una columna o calcular el valor más alto de una columna. Para analizar los datos, necesitamos abrir el archivo CSV en una aplicación de hojas de cálculo o escribir programas que iteren sobre los datos.

Hojas de cálculo

Una aplicación de hoja de cálculo ("spreadsheet") es una herramienta para almacenar, organizar y analizar datos. Las aplicaciones de hojas de cálculo típicamente pueden abrir una variedad de formatos de archivos de texto populares (como CSV, TSV y XLS) y guardar los datos de nuevo en esos formatos.
Aquí está "highscores.csv" importado en Google spreadsheets:
Captura de pantalla de la interfaz de las hojas de cálculo de Google Spreadsheets, mostrando estos datos:
datelevelscore
01/11/2019973
02/13/20191082
02/14/20191083
03/11/20191199
Muchas personas utilizan hojas de cálculo, ya que con ellas pueden analizar datos sin necesidad de tener habilidades de programación.
Sin embargo, las aplicaciones no utilizan las hojas de cálculo como su mecanismo de almacenamiento de datos, ya que una aplicación de hoja de cálculo es una herramienta para personas, no para otros programas.

Bases de datos

La mayoría de las aplicaciones almacenan información en una base de datos, un sistema que almacena datos en una computadora de una manera que pueden ser fácilmente accesados, actualizados, consultados y eliminados.
Detrás de las cámaras, una base de datos también almacena los datos en archivos. Sin embargo, el sistema de gestión de bases de datos se encarga de todos los detalles por nosotros, como dividir los datos en archivos de tamaño adecuado y recordar qué datos están almacenados en cada archivo.
Para interactuar con la base de datos, como programadores o analistas de datos, a menudo utilizamos un lenguaje de consulta. El lenguaje de consulta más popular es SQL (Structured Query Language).
Vamos a presentar algo de SQL aquí para darte una idea de cómo almacenar y analizar datos en una base de datos. Si quieres ser capaz de escribir SQL tú mismo, puedes aprender cómo en nuestro curso de Introducción a SQL aquí en Khan Academy.
El siguiente ejemplo de SQL crea una tabla de una base de datos para almacenar las puntuaciones más altas. El lado izquierdo contiene el SQL, mientras que el lado derecho muestra el esquema de la base de datos y todos los renglones de la tabla:
Como puedes ver, un lenguaje de consulta es parecido a un lenguaje de programación. Hacemos que las cosas sucedan al invocar comandos, como CREATE, INSERT y SELECT, y adaptamos esos comandos con detalles adicionales acerca de lo que queremos crear, insertar y seleccionar.
Una base de datos típicamente contiene múltiples tablas, para almacenar diferentes tipos de datos recopilados.
Por ejemplo, un juego en línea necesita almacenar una tabla para sus perfiles de usuario y una tabla para las puntuaciones más altas de todos los usuarios.
Este ejemplo de SQL crea dos tablas, una para usuarios y otra para puntuaciones más altas, y muestra los renglones en cada una de ellas:
Ya que la base de datos está almacenando los datos recopilados en tablas, podemos analizar los datos para generar información útil. Eso es lo que haremos a continuación.

🙋🏽🙋🏻‍♀️🙋🏿‍♂️¿Tienes alguna pregunta sobre este tópico? Nos encantaría contestarte; ¡simplemente pregunta en el área de preguntas abajo!

¿Quieres unirte a la conversación?

¿Sabes inglés? Haz clic aquí para ver más discusiones en el sitio en inglés de Khan Academy.