En esta guía inicial sobre bases de datos vas a entender:
- ✅ Qué son los datos y la información, y por qué no son lo mismo.
- ✅ Por qué las bases de datos son esenciales en el desarrollo de software.
- ✅ Los componentes básicos de cualquier base de datos: campos, registros y tablas.
- ✅ La diferencia entre datos simples y estructurados en Python.
- ✅ Un primer vistazo a los modelos de bases de datos (Relacional vs NoSQL).
📖 Al final del post encontrarás un resumen de la Serie Completa de Bases de Datos para que continúes profundizando.
Bienvenido a esta introducción a bases de datos para aquellos que no tienen aún claros los conceptos de almacenamiento o tienen una vaga noción. Vamos a hablar sobre el manejo de la información en informática, porque son importantes las bases de datos y cómo se organizan las mismas internamente.
Si estás empezando en el mundo de la programación con Python, seguramente ya has trabajado con datos estructurados como listas y diccionarios. Pero cuando tu aplicación crece y necesitas almacenar información de forma persistente, rápida y segura, las bases de datos se convierten en tu mejor aliada.
¿Qué son los datos y la información?
Creo haber explicado anteriormente que existen diferentes tipos de datos y el conjunto de ellos, si tienen una relación o están ordenados a un propósito pueden considerarse información.
Según la definición de dato en Wikipedia, un dato es una «representación simbólica de un atributo o variable cuantitativa o cualitativa». En otras palabras, es la unidad más básica de información. Cuando estos datos se organizan y tienen un significado, se convierten en información.
Nosotros actualmente trabajamos con datos cuando programamos, como unidades de un mismo tipo que almacenamos en variables (datos simples) o conjuntos de datos individuales del mismo tipo o no (datos estructurados). Esto lo expliqué aquí por si te quedan dudas -> Fundamentos de programación – Python – Estructura de datos.
Pero aún así, y porque no quiero que te vayas a perder, te traigo de nuevo los diagramas:
Los datos estructurados normalmente nos permiten alojar una serie de datos simples de diferentes tipos (o no) que son pertinentes como información, la información ordenada con propósito se convierte en conocimiento 😉
Así en los ejemplos de programación aprendimos a ordenar datos del tipo:
María es mujer, tiene 26 años, trabaja en Administración y tiene un salario de $26000.
Estos datos podríamos almacenarlos en un diccionario en Python, así:
Persona = {
'Nombre': 'María',
'Género': 'Femenino',
'Edad': 26,
'Empleo': 'Administración',
'Salario': 26000,
}
Y claro, tenemos un diccionario con los datos de María, donde podemos consultar toda su información o algún dato simple importante para nosotros en ese momento (también información porque es pertinente). Todos esos datos organizados en un diccionario mediante el par «Clave – Valor». ¡Excelente!
¿Pero si te dijera que tienes que añadir los datos de un millón de personas como María? ¿Cuánto crees que va a pesar tu archivo «.py» donde alojas estos datos? ¿Y si además te dijera que quiero poder consultar esos datos de forma fácil?
Ah, y además quiero poder modificarlos, listarlos según algunos criterios como el salario, también quiero que sea rápido y poder relacionar a María con Carlos y Matías porque viven juntos. ¡Tu me vas a echar al diablo y Python ni te digo! 😅
Y tú podrías pensar: ¿y si guardo todos esos datos en un archivo aparte y luego lo consulto desde un solo software o script «.py»?
Pues has dado en el clavo… Eso, es una base de datos!.
Según la definición de base de datos en Wikipedia: «Una base de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso». Y justamente de eso se trata: almacenar información de forma organizada para que puedas recuperarla, actualizarla y gestionarla eficientemente.
La importancia de las bases de datos
Esos datos almacenados aparte del código funcional se convierten en una base de datos. Y basándonos en el ejemplo anterior, es claro que no podemos añadir esos millones de datos en el mismo script de Python porque estaríamos mezclando perros, gatos y ratones en un mismo corral.
Por ello utilizamos bases de datos donde almacenamos estos datos aparte del código de Python. Entonces en Python solo programamos la parte «funcional» o «el software» y aparte tenemos una base de datos a la cual consultar cuando necesitamos información. ¿Y te preguntarás esto es más rápido que tener todos los datos en el mismo archivo? Pues sí, es más rápido, más cómodo, más simple y más organizado.
Podríamos verlo así también: las palabras son datos, un libro es información porque tiene datos (estas palabras) ordenadas con un propósito (contar una historia) y una biblioteca es una base de datos porque almacena esa información de forma ordenada.
También con su propósito que es servirla al lector rápidamente. Porque venga, si viene alguien a pedirte «El Principito» y tú tienes una montaña de libros del alto de una casa, no vas a encontrarlo rápido. Pero si tienes una estantería organizada por autores, tardarás poco tiempo.
Y ¿cómo es esa estantería?
- Pues, en una biblioteca así:

Y nosotros manejamos algo así:
Recuerda que esto es una introducción a las bases de datos y por ende no pretendo que comprendas el «código» (entre comillas) de la imagen, ni el manejo de las tablas. Solo que veas cómo se puede organizar la información en un fichero externo.
Claro, una puede parecerse a un Excel y la otra a un diccionario en un archivo. Ambas pueden ser bases de datos, lo que cambia es el modelo. Recordarás que en programación orientada a objetos (clases) hemos hablado de modelo como «plantilla». Pues existen diferentes «plantillas», «modelos» o formas de almacenar los datos en bases de datos. Y estos «modelos» o «plantillas» los elige el programador según diversos criterios que veremos más adelante.
Componentes tradicionales de una base de datos
Al igual que en un diccionario en Python tú almacenas los datos en un par «clave : valor», las bases de datos también tienen una especial forma de almacenarlos. Cada dato irá dentro de lo que se conoce normalmente como «campo». Un campo podría verse como una celda, un espacio, un cubículo o en el caso de los libros como ejemplificamos antes, un espacio para cada palabra. Así cada «campo» almacena un dato «del mismo tipo».
También existen los registros que almacenan el «conjunto de campos» (de diferente tipo cada campo o del mismo, pero varios campos). Y estos se organizan en una tabla (dependiendo el modelo, que a su vez se organizan en filas y columnas). Así:

Si prestas atención a la imagen, la información está ordenada dentro de una tabla en filas (de izquierda a derecha) y columnas (de arriba a abajo). Esta contiene campos pero del mismo tipo determinado por la columna. Por ejemplo, todos los campos pertenecientes a la edad almacenarán datos numéricos o un valor Null (nada). Cada conjunto de campos, viéndolos de izquierda a derecha, son un registro (que bien puede llamarse tupla a cada registro). Por ende, en este ejemplo, cada registro es una persona con sus datos.
Al ser almacenado en la tabla, estos tipos de datos deben coincidir, puesto que cada columna determina el tipo de dato y no permite ingresar otro tipo, solo datos de ese tipo o bien el valor «null».
¿Qué es Null?
El valor null es una referencia para determinar que aún no se especificó esa información o bien no se conoce. Normalmente, null nos permite evitar dejar un campo vacío, indicando que aún no existe un valor. Es una forma de decir «no disponible» sin que el campo esté completamente vacío.
Si quieres profundizar en el concepto de NULL en bases de datos, te recomiendo leer el artículo de Wikipedia sobre NULL en SQL.
¿Por qué esta teoría es importante para el desarrollo profesional?
Como programadores o informáticos, tenemos que pensar lógicamente siempre en la importancia de los datos, los tipos y el manejo de los mismos. Simplemente a medida que aprendíamos programación, almacenamos los datos dentro del mismo código de nuestro software, normalmente en tipos de datos estructurados. Esto está bien para empezar, pero es momento de integrar las bases de datos en cada proyecto profesional que emprendas.
Si tu objetivo es convertirte en un desarrollador web con Python, tarde o temprano te encontrarás con Flask o Django y necesitarás conectar tu aplicación a un sistema de almacenamiento persistente. Ya sea MySQL, PostgreSQL, MongoDB o cualquier otra, los conceptos fundamentales que veremos en esta serie de bases de datos son la base de todo.
Entender qué es un campo, un registro, una tabla, una clave primaria o una clave foránea, y saber cómo se aplican en el mundo real, te diferenciará de los programadores que solo saben escribir código pero no entienden cómo se organizan los datos. Los buenos desarrolladores no solo escriben código, escriben código que maneja datos de forma eficiente y escalable.
Además, si más adelante decides profundizar en inteligencia artificial, machine learning o análisis de datos, el manejo de bases de datos será una habilidad indispensable. No es casualidad que los ingenieros de datos y los científicos de datos sean perfiles tan demandados hoy en día. 🚀
Así que, aunque esta introducción sea teórica, es la base sobre la que construirás todo tu conocimiento futuro. No la subestimes.
📚 Serie de Bases de Datos – Sigue profundizando
Esta introducción es solo el primer paso. Para convertirte en un experto en el manejo de datos con Python, te recomiendo seguir esta serie de posts que he preparado para ti. Cada uno está diseñado para construir sobre el anterior, llevándote desde los conceptos más básicos hasta los más avanzados.
(Este post) – Conceptos básicos: datos, información, campos, registros y tablas.
Aprende las diferencias entre SQL y NoSQL, cuándo usar cada uno y sus características clave.
Profundiza en el modelo relacional: claves primarias, foráneas, relaciones y NULL.
Domina las reglas de normalización para diseñar bases de datos eficientes y sin redundancias.
🔥 ¿Y después? Una vez que domines estos conceptos, estarás listo para conectar tus aplicaciones Flask a bases de datos con MySQL, crear APIs REST y desplegar proyectos profesionales. ¡El cielo es el límite!
📖 Si quieres profundizar en los fundamentos, te recomiendo estos recursos externos:
Para ello te invito a leer la siguiente entrada, donde hablamos del nacimiento del modelo relacional de bases de datos y aprenderás a diferenciar los 2 modelos más utilizados actualmente en el desarrollo de aplicaciones web.
📌 No olvides que estos conceptos son la base para trabajar con Flask + MySQL más adelante. ¡Entenderlos hoy te ahorrará dolores de cabeza mañana!
📅 Última actualización: agosto 7, 2026


