Diccionario Informático Ampliado

SQL

No pretendo aquí escribir un manual de SQL, ni siquiera básico, y lo que parecerá obvio para un programador puede no serlo en absoluto para quien se dedique a otras áreas. Ya existe en http://www.rinconcitodelphi.com un artículo destinado a la programación, no a la divulgación, que es de lo que aquí se trata.

El "Standard Query Language", o lenguaje estándar de interrogación es una de las armas más potentes para manejar datos desde las bases que lo permitan, que con mayor o menor posibilidades, son todas (o casi). Las más potentes tienen sus propias herramientas que ayudan a la tarea de escribir el código. Quizás sirva como ejemplo de la potencia del lenguaje, que la base de datos más poderosa que probablemente existe, y que es Oracle, fue quien lo introdujo sobre los 80 a partir de un prototipo de IBM de una década anterior. Y esta misma empresa lo introdujo a continuación en su base de datos DB2, y ya fue una entrada en cascada en las distintas bases de datos relacionales. Siendo así, que ISO creó el estándar OSI. En la actualidad es el OSI-99 el que estandariza a SQL-3.

Pero claro está, los estándares son normas, y las normas, como es sabido, están hechas para ser saltadas. Por eso me resulta curioso leer manuales sobre SQL en general. Cierto que tienen elementos comunes, muchos, pero otros tantos son propios del fabricante de la base de datos, incluso con su nombre propio, de tal forma que sería una labor casi impensable generar un desarrollo informático que utilice el lenguaje de interrogación sin considerar qué base de datos va a ser utilizada. No serán grandes términos ininteligibles, pero sí lo suficiente para que no compatibilicen. Quien lo dude que mida las diferencias entre dos B.D. cualquiera de las que están en vigor, pongamos el PL/SQL de Oracle en comparación con el Transact-SQL de SQL Server de Microsoft.

Otro error lo acabo de cometer cuando hablo de interrogaciones, y es que parece (o me parece) automático el pensar que tan sólo se puede consultar, cuando en la práctica lo que estamos haciendo es muy distinto. "Select" o mandato de búsqueda por supuesto que es muy utilizado, pero poco podría buscar si no se crea nada, "Create Database" o "Create Table". Son meros ejemplos que me sirven para identificar la diferencia entre lo que son dos partes diferenciadas: el LDD o Lenguaje de Definición de Datos y el LMD o Lenguaje de Manipulación de Datos. Ambos son dos partes bien diferenciadas del SQL.

José Luis Freire
  El Rinconcito Informático: 25/06/2000 - (c) 2000 - 2008  | Creación y mantenimiento : José Luis Freire   | Se pretende poder utilizar cualquier navegador. Recomendado 1024x768