SQL SQL

SQL es el lenguaje con el que un programa pregunta a una base de datos, y todo informe de ventas en pantalla es una pregunta SQL hecha en su nombre.

También conocido como lenguaje de consulta estructurado consultas SQL lenguaje de base de datos

Definición

SQL es el lenguaje con el que se le hace una pregunta a una base de datos, ya que usted escribe la pregunta y la base busca la respuesta. El dueño de una tienda nunca la teclea, y aun así cada informe de ventas que ve en pantalla es, por debajo, una pregunta en SQL que el programa hace por él.

Lo curioso de SQL es que usted describe la respuesta que quiere, no los pasos para conseguirla. Pide los diez clientes que más gastaron el mes pasado, sin explicar nunca cómo recorrer las filas. De eso se encarga la base de datos, y por eso las mismas pocas palabras sirven para diez registros y para diez millones.

Aquí viene lo que sorprende a los dueños. La misma pregunta puede tardar medio segundo o diez minutos, y un servidor más potente casi nunca lo arregla. Lo habitual es que falte un índice, una pequeña lista que la base guarda aparte para saltar directamente a las filas correctas en vez de leerlas todas. Añadirlo son unos minutos de trabajo, así que cuando le preguntan a Linkysoft por qué un informe se ha vuelto lento, el índice que falta es la respuesta más frecuente.

SQL se usa desde los años setenta y apenas ha cambiado. Eso es raro en software y juega a su favor, porque quien lo aprendió con MySQL puede leer las consultas de un sistema hecho sobre PostgreSQL. También significa que sus datos no quedan atrapados, así que pida una exportación completa de sus propios registros antes de firmar. Si la respuesta se complica, conviene saberlo pronto.

Hay un peligro que conviene nombrar, porque si una web mete tal cual lo que escribió un visitante dentro de una pregunta SQL, un desconocido puede cambiar esa pregunta. Se llama inyección SQL y sigue siendo una de las formas más comunes de perder los datos de los clientes. Se evita por cómo se escribe el código, no comprando un producto. Por eso lo revisamos en cada aplicación web que heredamos, y es un punto fijo de la revisión de seguridad de Linkysoft. Los informes que lee en Storek son consultas SQL que alguien escribió una vez, de modo que ya nadie tiene que pensar en ellas.

Preguntas sobre SQL

¿Necesito aprender SQL para llevar mi negocio?
No. Su personal nunca lo ve. Vale la pena conocer la palabra, porque cuando pide un informe nuevo, lo que alguien escribe para hacerlo es SQL, y suele ser un trabajo pequeño.
¿Es lo mismo SQL que una base de datos?
No. SQL es el lenguaje en el que se hacen las preguntas. MySQL, PostgreSQL y SQL Server son bases de datos que lo entienden. Un lenguaje, varios productos.
¿Qué es la inyección SQL y debería preocuparme?
Es cuando un desconocido escribe en un formulario algo que cambia la pregunta que su web le hace a la base de datos. Un código bien escrito lo hace imposible. Es una costumbre de programación, no un producto que se compra.
¿Puedo llevarme mis datos si cambio de proveedor?
Normalmente sí, porque una base de datos SQL se exporta sin problemas. Pida un ejemplo de exportación por escrito antes de firmar, no cuando la relación ya se ha estropeado.

¿Sigue sin ver cómo se aplica esto a su proyecto?

Cuéntenos qué está construyendo y le responderemos en lenguaje claro.