Llevo más de una década trabajando con bases de datos, y si hay algo que tengo cada vez más claro es esto: los fundamentos importan. Y no, no lo digo por nostalgia académica ni por espíritu conservador. Lo digo porque cada vez que veo un desastre en producción, casi siempre hay un denominador común: alguien ignoró los fundamentos, o directamente nunca los estudió. Así que vamos a hablar de eso. De lo básico. De lo que muchos consideran opcional y, sin embargo, marca la diferencia entre un profesional que sabe lo que hace y uno que improvisa con Stack Overflow abierto en una pestaña (o ChatGPT en estos tiempos).
Fundamentos: no se ven pero se notan
Entender cómo funciona una base de datos por dentro no es un lujo, es una necesidad. Y lo digo con conocimiento de causa. Me he encontrado proyectos donde la base de datos era una especie de Frankenstein montado a base de copiar código, sin ninguna lógica de integridad ni normalización. Y claro, luego vienen los lloros cuando hay incoherencias, cuellos de botella inexplicables o bloqueos que paralizan toda la aplicación.
Hablar de fundamentos es hablar de normalización, de integridad referencial, de transacciones, de concurrencia, de índices, de bloqueos, de cómo se almacenan los datos físicamente… Y eso no es teoría: es el pan de cada día si queremos que un sistema aguante sin incendiarse cada semana.
SQL Server no es sólo Management Studio
Cuando empecé con SQL Server, también me deslumbró el Management Studio. Tan cómodo, tan visual, tan lleno de botones que prometían hacer magia. Pero claro, esa magia dura lo que tarda en explotar el primer MERGE mal planteado o en aparecer un plan de ejecución de 20 niveles de nested loops.
Con el tiempo, y a base de errores, fui entendiendo que SQL Server es una bestia que hay que conocer. Hay que saber cómo el motor registra las operaciones en el Transaction Log, cómo se gestiona la memoria, qué hace el optimizador cuando decide (o no) usar un índice. Porque si no sabes eso, estás jugando a la ruleta rusa cada vez que ejecutas algo en producción. Y lo peor: ni siquiera lo sabes.
El boom del autodidacta exprés
He visto mucha gente entrar en este mundo con ganas, con energía, con actitud. Y eso me encanta. Pero también he visto cómo se les empuja a saltarse pasos. Tutoriales que enseñan a hacer SELECT * sin explicar por qué no deberías hacerlo jamás. Cursos que te arman para hacer un JOIN pero no te dicen qué es una clave primaria o cómo se gestionan los bloqueos.
Lo autodidacta tiene muchísimo valor. Yo mismo he aprendido así muchas cosas. Pero cuando todo se basa en “funciona, siguiente”, estamos criando técnicos que saben hacer, pero no entienden lo que están haciendo. Y eso es peligroso. Porque cuando algo deja de funcionar —y tarde o temprano, lo hará— no saben por qué. Y entonces empieza el festival de parches, workarounds, y soluciones que solo esconden el problema, como barrer la mierda debajo de la alfombra.
Esto no va de teoría vs. práctica
A veces me dicen: “Eso son cosas de la universidad, lo que importa es lo que funciona”. Y yo me río. Porque he estado a las tres de la mañana revisando por qué una transacción no terminaba, por qué un índice no se usaba o por qué un proceso estaba bloqueando a media base de datos. Y en esos momentos, lo que me salvó no fue ningún truco aprendido en Reddit, sino entender cómo funciona el motor por dentro.
Los fundamentos no te hacen más lento, te hacen más preciso. No es teoría inútil, es saber en qué estás apoyando todo lo demás. Es tener criterio para decidir, no ir al tuntún. Porque cuando entiendes lo básico, puedes aprender cualquier herramienta nueva con cabeza. Pero si solo sabes herramientas, dependes de ellas como quien necesita el GPS hasta para ir a comprar el pan.
Los fundamentos son las bases que no lo básico
Hay una confusión peligrosa que veo cada vez más: pensar que los fundamentos son lo básico. Como si hablar de ACID, de niveles de aislamiento o del funcionamiento del buffer pool fuera algo para juniors, y lo verdaderamente avanzado empezara cuando montas un clúster distribuido o haces tuning con hints arcanos. Pues no. Justo al revés.
Los fundamentos no son el punto de partida. Son el núcleo. Lo que no caduca. Lo que no depende de versiones ni modas. Cuando entiendes bien cómo trabaja el motor de SQL Server con páginas de 8KB, cómo se comporta una transacción en READ COMMITTED SNAPSHOT, o qué ocurre cuando haces un ROLLBACK a mitad de un trigger, no estás en lo básico. Estás en el corazón mismo de cómo funcionan las cosas.
He visto a gente presumir de saber hacer particionamiento por fecha y, al mismo tiempo, no tener claro qué diferencia hay entre un índice agrupado y uno no agrupado. ¿De qué sirve montar una solución distribuida si no controlas el coste de una tabla sin estadísticas? ¿Qué sentido tiene optimizar con Query Store si no sabes cómo interpreta el optimizador una subconsulta correlacionada?
Los fundamentos no se superan. Se profundizan. Cada vez que los reviso, aprendo algo nuevo. Y cada vez que los ignoro… lo pago. Con tiempo, con sustos, o con llamadas a deshora
Lo que pasa cuando se olvidan los fundamentos
He visto demasiadas veces los síntomas de no haber tocado nunca los fundamentos. Tablas sin claves primarias. Tipos de datos elegidos a boleo. Relaciones “gestionadas desde la aplicación”. Procedimientos imposibles de mantener, triggers infernales, y consultas que parecen escritas por un generador aleatorio de SQL.
Y todo eso se podría haber evitado si alguien hubiese dedicado un par de tardes a entender qué es una tercera forma normal o cómo funciona un índice no agrupado. No se trata de ser purista, se trata de no meter la pata en cosas que tienen solución desde hace décadas.
¿Y entonces qué?
Pues estudiemos. Con calma. Con profundidad. No para pasar exámenes ni certificar nada, sino para trabajar mejor. Volvamos a los libros viejos que explican qué es una base de datos relacional. Leamos la documentación de SQL Server, pero de verdad, no solo los ejemplos de código. Miremos planes de ejecución como si fueran mapas del tesoro, no como pantallazos incomprensibles.
Aprender los fundamentos es como afilar el cuchillo antes de cortar. Puede parecer una pérdida de tiempo… hasta que cortas mejor, más rápido, y sin cortarte tú.
Conclusión
Yo no quiero trabajar con gente que se sabe 50 funciones de ventana pero no entiende lo que hace un ROLLBACK. Quiero trabajar con gente que tenga criterio. Y ese criterio solo se construye con base, no con atajos.
Así que sí: hay que estudiar los fundamentos. Porque eso es lo que marca la diferencia entre un profesional fiable y alguien que copia y pega esperando que funcione. No es glamour. No es moda. Es oficio.
Y si este verano tienes un rato, échale un ojo a cómo funciona el Transaction Log. Te prometo que es más interesante que muchas series. Y desde luego, más útil.
Si tenéis alguna duda o sugerencia, podéis dejarla en Twitter, por mail o dejarnos un mensaje en los comentarios. Y recuerda que también tenemos un grupo de LinkedIn y un canal de YouTube a los que te puede unir. ¡Hasta la próxima!



