Si no hubiéramos “descubierto” las uniones calculadas por ahora, el mundo de la base de datos probablemente se parecería mucho más a NoSQL y bases de datos de pares de nombre-valor, que eran el estándar en la década de 1960. Las bases de datos más “avanzadas” tendrían algo así como modelos de datos de bases de datos de objetos. Es probable que otras cosas, como las transacciones, se hayan desarrollado.
La mayor diferencia entre las bases de datos relacionales y “todo lo demás” es si las uniones entre datos se calculan (utilizando ID u otros enlaces de datos) o estáticas (utilizando enlaces de nivel de registro físico o proximidad física). Los enlaces estáticos son generalmente mucho más rápidos que los enlaces dinámicos, pero son mucho menos flexibles.
La primera generación de bases de datos utilizó relaciones estáticas entre datos, y esta es una propiedad que casi todas las bases de datos NoSQL (incluidas las bases de datos OO) comparten con cosas como las bases de datos CODASYL y los administradores de datos ISAM.
Digamos que Edgar F. Codd escribe su famoso artículo de álgebra relacional en, digamos, 2010. En esta historia alternativa, supongo que las bases de datos relacionales funcionan muy bien, aunque pueden tener arquitecturas algo diferentes de las que terminaron con:
- Te encuentras con una persona con un arma y no puedes huir. Solo tienes un cuchillo para defenderte. ¿Qué harías?
- ¿Qué sucederá si la reserva basada en castas se implementa en la reserva de boletos de los ferrocarriles indios?
- Si es posible una máquina de viaje en el tiempo, y la usa para retroceder en el tiempo, ¿está la máquina del tiempo físicamente allí en el presente?
- Si pudieras llamarte a ti mismo hace 30 segundos y tuviera 30 segundos, ¿qué dirías?
- Si 3000 personas murieran por tiroteos masivos planeados todo en un día como un ataque al estilo del 11 de septiembre, ¿ocurriría la confiscación de armas como en Australia?
- Dado que las bases de datos distribuidas ahora se usan ampliamente y se entienden mejor, la primera generación de bases de datos relacionales está diseñada para admitir la distribución, en lugar de tenerla “atornillada” como está ahora.
- Los lenguajes de consulta no son similares a SQL. Hay una gran cantidad de errores antiguos en SQL que no se muestran en el lenguaje de consulta “nuevo relacional”.
- Probablemente haya mucho más soporte para relaciones estáticas, así como relaciones dinámicas en bases de datos relacionales, así como formas de entremezclarlas.