SQL (Structured Query Language)

SQL es el lenguaje utilizado para acceder a la información y a las estructuras dentro de una base de datos relacional. SQL no es un lenguaje procedural, como lo son C, BASIC o Pascal. SQL es un lenguaje no procedural o declarativo, es decir, simplemente se dice qué es lo que se quiere hacer y el SGBD decide cómo hacerlo eficientemente.

SQL fue desarrollado a principios de los años 70's por IBM en donde se quiso crear un sublenguaje de datos para operar en SGBD relacionales. Originalmente se llamó SEQUEL (Structured English QUEry Language), sin embargo, posteriormente cambió de nombre a SQL. Desde un inicio se volvió el estándar de facto para el manejo de bases de datos relacionales. Vendedores de bases de datos empezaron a sacar sus propias versiones de SQL con la funcionalidad básica que desarrolló IBM, pero agregando extensiones para aprovechar las ventajas de sus propios SGBD. Como resultado, la compatibilidad entre las diferentes implementaciones de SQL era muy pobre. Por ello se decidió hacer un estándar. En 1986 la ANSI (American Nacional Standards Institute) sacó el primer estándar, llamado SQL-86. A medida que se ha actualizado dicho estándar, los diversos proveedores de SGBD han ido acercando sus implementaciones al estándar. Actualmente, SQL-2003, el último estándar de SQL, intenta hacer de SQL un lenguaje más completo con funciones, control de flujos y objetos, entre otras características. Pero aún así, se necesita un lenguaje que complemente dichas funciones, aunque tal vez cada vez con menos frecuencia.

Existen dos maneras de interactuar con una base de datos utilizando SQL. Una es utilizar una expresión de SQL desde la consola del SGBD en una computadora y desplegando los resultados en la pantalla. Esto es muy utilizado cuando son expresiones sencillas, que se utilizan ocasionalmente, y solamente se necesita una respuesta rápida. La segunda es utilizando un programa que realice la operación y después realice un reporte de los resultados. Esta manera es útil cuando se requieren expresiones complejas que se necesitan utilizar de manera frecuente.