Aprovechando que llevo un día y medio programando por culpa de una práctica, que debía haber terminado hace mucho tiempo. La parte de mi cerebro que se encarga de minar mi voluntad me ha ofrecido escribir un post en mi blog sobre algo que rondaba mi cabeza.
Hace ya unos cuantos años, cuando estudiaba el módulo de DAI, el profesor que por aquel entonces tenía en Bases de Datos, nos dijo un día: "Las bases de datos tienen que ser la parte incorruptible del software, en ella teneis que presentar el mundo tal y como es. Cada detalle y posibilidad hay que tenerla planeada, diseñada y será la base de datos quien restrinja, no el software."
Pero a la hora de ponerme a hacer una aplicación mínamente profesional o ver el código de otros, me he dado cuenta de que esa afirmación no es correcta, ni mucho menos. El mundo no se puede definir en una base de datos y auqnue así fuera el tiempo que podría llevar su diseño e implantación con respecto a lo que quisiésemos conseguir en el software sería ridículamente excesivo.
Entonces vamos a la otra parte, ponemos las restricciones en el software, en el programa de gestión. Este se encargará de la incorruptibilidad de los datos, con lo cual nos quedamos con una base de datos que bien podría ser implementada con un fichero de texto. La reutilización de los datos sería casi imposible y si falla nuestro software, es posible (muy probable) que no podamos certificar si los datos están corruptos.
Así que mi mundo de fórmulas físicas perfectas de definición de la aceleración y la velocidad, que quedaban tan bien en mi papel, las aplico a un cuerpo con masa y forma y no me resuleven ni mucho menos la realidad. Me gustaba más cuando había una solución a los problemas que cuando la veías, sabías que era esa, porque era sencilla, limpia y todo cuadraba.
Las bases de datos son lo que son, formas de ordenar la información que tienes agrupada y relacionada.
ResponderEliminarIntenta no crear una filosofía de vida alrededor de su mundo o terminaras medio loco cual hamlet en plan "to dumb or not to dumb"
;)