Antes de las bases de datos relacionales, consultar significaba navegar: el usuario especificaba rutas de acceso, índices y procedimientos registro a registro, y cada sistema tenía su propio lenguaje. En 1970 Edgar Codd, en IBM Research, publicó A Relational Model of Data for Large Shared Data Banks, en el que abogaba por un modelo construido sobre tablas y por el objetivo de la independencia de los datos.

IBM construyó SQL sobre la base relacional y, a mediados de la década de 1980, el lenguaje tenía suficiente impulso para ser estandarizado: ANSI X3.135-1986, Database Language SQL. En marzo de 1987, la Oficina Nacional de Normas de Estados Unidos lo adoptó como FIPS PUB 127, declarando que su propósito era promover la portabilidad de las definiciones de bases de datos y de los programas de aplicación de bases de datos entre distintas instalaciones.

El diseño declarativo era el punto central: las aplicaciones dicen qué datos quieren y la base de datos decide cómo obtenerlos. Esa separación permitió que SQL sobreviviera entre proveedores, desde los mainframes hasta los dispositivos embebidos, y lo convirtió en el único lenguaje de consulta que todo sistema de bases de datos tenía que hablar.

Declara lo que quieres; deja que el sistema decida cómo

Las consultas declarativas liberaron a las aplicaciones de depender de los detalles de almacenamiento de un solo proveedor.

Una única norma ANSI dio a los compradores un lenguaje común de adquisición.

La adopción gubernamental (FIPS 127) impuso la portabilidad en los requisitos del sector público.

El lenguaje que sobrevive traslada el trabajo duro a la plataforma: las consultas declarativas permiten a los usuarios cambiar de base de datos libremente, y la estandarización convirtió la portabilidad en un requisito de adquisición.

SQL se convirtió en el lenguaje universal de bases de datos: ISO/IEC 9075 sigue evolucionándolo, todo motor de base de datos importante implementa un dialecto, y el modelo relacional que encarnaba impulsó a la industria de las bases de datos durante décadas. Los sistemas NoSQL posteriores se definieron en contraposición a él, lo que solo confirma su condición de opción por defecto.

CONSULTA LAS PRUEBAS

Las fuentes

  1. A Relational Model of Data for Large Shared Data Banks (E.F. Codd, CACM 13(6), 1970) Communications of the ACM / University of Pennsylvania · seas.upenn.edu
  2. FIPS PUB 127: Database Language SQL (adopting ANSI X3.135-1986) US National Bureau of Standards (NIST) · nvlpubs.nist.gov