Volver a la lista de artículos Artículos
Lectura de 10 minutos

Términos esenciales de SQL para principiantes y profesionales

Trabajar con bases de datos puede parecer desalentador para una persona sin conocimientos técnicos. Enseguida te bombardean con nuevos términos que te hacen girar la cabeza. Base de datos, instancia de base de datos, tabla, SQL y otros son algunos de los términos básicos que debes entender sólo para mantener una conversación normal con tus colegas técnicos. En este artículo, exploraremos algunos términos básicos de las bases de datos SQL que debes conocer para tener éxito.

Imagina que estás asistiendo a una reunión con el personal de desarrollo y de repente te sientes como si estuvieras escuchando ruido blanco. Entiendes lo que es un "archivo", pero todos los demás términos que te lanzan tus colegas son incomprensibles. No se preocupe, le tenemos cubierto.

To start things off, visualize a large office building teeming with activity. Let’s say it’s owned by a fictitious company called SQL Inc. This company’s building has standard architecture with doors, windows, elevators, etc. The building, with all its corporate life, will serve as our analogy for a database to simplify explaining SQL terminology.

Bases de datos

Sistemas de gestión de bases de datos

Empecemos con la terminología básica de SQL. SQL Inc. tiene muchos edificios (bases de datos) del mismo tipo repartidos por todo el mundo. Y cuando vea uno de estos edificios, sabrá que está gestionado por SQL Inc. Lo mismo ocurre con los sistemas de gestión de bases de datos (DBMS). Como su nombre indica, estos sistemas gestionan bases de datos. Hay muchos, y van desde los grandes del mercado como Oracle, Microsoft SQL Server e IBM DB2 hasta otros como MySQL, PostgreSQL, etc. Los SGBD más grandes son utilizados sobre todo por las grandes empresas que necesitan el soporte y las características que ofrecen las herramientas de nivel empresarial. Los demás se utilizan en empresas más pequeñas y en proyectos de código abierto.

Transacciones de bases de datos

Hay muchos términos SQL relacionados con las bases de datos. Uno de ellos es el de transacción de base de datos. En pocas palabras, el trabajo de una base de datos es crear, leer, actualizar y eliminar datos. En nuestro edificio de SQL Inc., esto es análogo a la gestión de papeles corporativos que se rellenan, se leen, se corrigen y se descartan. Al igual que hay exactamente una versión relevante de un determinado documento en la organización, sólo hay una versión relevante y veraz de los datos en una base de datos (por ejemplo, que sólo hay una versión de un manifiesto de los empleados que se replica muchas veces dentro de un edificio de SQL Inc.) Las bases de datos garantizan que sólo hay una versión relevante de los datos a través de las transacciones. Cuando se va la luz en nuestro edificio, todo el trabajo se guarda en papel. Cuando se va la luz en una base de datos en funcionamiento, el modelo transaccional de la base de datos asegura que, cuando se enciende, la base de datos puede volver a un estado estable anterior.

Archivos de la base de datos

Al final de un ajetreado día de trabajo, todo el mundo se va a casa y el edificio se queda vacío. Pero el trabajo real que el personal generó durante el día no se pierde: se archiva en diferentes lugares del edificio. Lo mismo ocurre con nuestra base de datos. Si desconectamos nuestra base de datos, un término que utilizamos para el apagado regular del sistema, los datos siguen estando asegurados en nuestros archivos de la base de datos.

Instancia de la base de datos

Nuestro personal está ocupado en el trabajo durante el día, cambiando y creando documentos. Su flujo de trabajo es fluido y activo; muchos empleados realizan diferentes tareas a lo largo del día. Este flujo de trabajo sólo está "vivo" durante las horas de trabajo, y es el único proceso que puede modificar los documentos almacenados en nuestro edificio. Del mismo modo, el conjunto de procesos que gestionan los archivos de una base de datos, y por tanto la propia base de datos, forman una instancia de base de datos. En términos más técnicos, una instancia de base de datos es una colección de procesos y estructuras de memoria temporales que permiten que el sistema de base de datos funcione.

Servidor y cliente de la base de datos

Un edificio de SQL Inc. consolida sus archivos y los envía para que los vean personas ajenas a la organización del edificio. Varias partes externas, empresas y otras entidades reciben archivos en papel de nuestro edificio. De este modo, nuestro edificio interactúa con el mundo empresarial exterior. Del mismo modo, una base de datos tiene un servidor que se comunica con el cliente externo. Normalmente tenemos un servidor de base de datos (un edificio de SQL Inc.), en algún lugar, y muchos clientes de base de datos, las partes externas, que interactúan con la base de datos de varias maneras. El cliente puede, y normalmente lo hace, manipular los datos de la base de datos comunicándose con el servidor. Hay que recordar que SQL Inc. tiene muchos edificios en todo el mundo y, por analogía, un proveedor de bases de datos también tiene muchas bases de datos (con servidores y clientes).

Para entender mejor la terminología de las bases de datos SQL, lea más sobre el servidor de bases de datos y el cliente de bases de datos Aquí.

El lenguaje de consulta estructurado, el lenguaje de las bases de datos

Pasemos al núcleo de la terminología SQL. La comunicación corporativa debe ser directa y sin ambigüedades. Tiene sus propias reglas: ¡alguien podría llamarlo incluso un lenguaje! La división corporativa se comunica con el mundo exterior en este lenguaje empresarial. El lenguaje que utilizamos para comunicarnos con una base de datos se llama SQL, que significa Structured Query Language (lenguaje de consulta estructurado). Este lenguaje es mucho más sencillo que el inglés. La base de datos sabe exactamente lo que tiene que hacer con los datos cuando recibe una orden en SQL, al igual que nuestra división sabe lo que tiene que hacer cuando recibe sus órdenes de la dirección central.

Palabras clave

El lenguaje empresarial de una organización sigue ciertas reglas o estándares comunes. Del mismo modo, SQL tiene un conjunto de palabras reservadas. Estas palabras deben usarse de una manera determinada; no pueden usarse para nombrar objetos en la base de datos. A estas palabras las llamamos palabras clave. Ejemplos de palabras clave SQL son CREATE, INSERT, GRANT, UPDATE, DELETE, SELECT, etc.

Lenguaje de definición de datos y lenguaje de manipulación de datos

Cuando la división central necesita implementar un nuevo tipo de archivo como plantilla, envía esta plantilla a todas las divisiones corporativas. Del mismo modo, cuando necesitamos definir la estructura de nuevos objetos de base de datos (como una nueva tabla), emitimos una sentencia DDL (lenguaje de definición de datos). Para rellenar las plantillas con datos corporativos reales, la división central envía un nuevo conjunto de órdenes. Este proceso de modificación de los datos poblados en las plantillas es un subconjunto de SQL llamado DML (lenguaje de manipulación de datos).

Los datos de nuestra base de datos se representan en forma de tabla. Vemos los datos de nuestra base de datos como tablas con filas y columnas. Las tablas representan ciertas entidades, como sales, en nuestro edificio. Estas sales tienen ciertos atributos, como la fecha de venta, el importe y el número de venta. Estos atributos representan las columnas de nuestras tablas, mientras que las filas representan las diferentes ventas. En una base de datos puede haber muchas tablas diferentes, que se relacionan entre sí, como sales y items_sold. Esta relación es la razón por la que las bases de datos tradicionales se llaman bases de datos relacionales.

Veamos un ejemplo. Con una sentencia DDL, creamos una tabla de ventas:

CREATE TABLE sales (
	id NUMBER,
	amount NUMBER,
	sales_date DATE
);

Rellenamos la tabla con algunas ventas mediante DML:

INSERT INTO TABLE sales (id, amount, sales_date) VALUES (1,100,’2018-01-10);
INSERT INTO TABLE sales (id, amount, sales_date) VALUES (2,500,’2018-02-10);
INSERT INTO TABLE sales (id, amount, sales_date) VALUES (3,250,’2018-03-10);

Para recuperar estos datos de la tabla, emitimos una consulta SELECT (parte de DML):

SELECT id, amount, sales_date;

Sentencias y consultas

¿Más términos de SQL que hay que conocer? Probablemente te preguntes por qué algunas instrucciones a las bases de datos se llaman sentencias y otras consultas. Es muy sencillo. Una consulta pide a la base de datos que devuelva datos de alguna forma. Esta consulta de datos suele ser el trabajo más importante que hace una base de datos para un usuario. Por otro lado, una sentencia es una instrucción genérica a la base de datos. Esto incluye la creación y eliminación de tablas, la inserción y eliminación de datos, etc. Así que podemos concluir que todas las consultas son sentencias y no todas las sentencias son consultas.

Cláusulas, predicados y expresiones

Veamos nuestro ejemplo de las sentencias de SELECT. Si quisiéramos ver sólo las ventas del10 de enero, ampliaríamos nuestra consulta así

SELECT id, amount, date_time WHERE date_time = ‘2018-01-10’;

La parte WHERE de nuestra sentencia representa una cláusula SQL opcional. Las sentencias SQL se construyen a partir de cláusulas opcionales y obligatorias, al igual que las frases del idioma inglés. Las cláusulas son palabras clave en SQL que permiten solicitar una determinada acción basada en alguna condición que debe cumplirse. En nuestra cláusula WHERE, estas condiciones son preguntas que hacemos a la base de datos. Por ejemplo, ¿la fecha de venta esel 10 de enero? Esta pregunta es verdadera o falsa. A esta pregunta (condición) la llamamos predicado. El tipo de pregunta que hacemos es una expresión. En nuestro ejemplo, el predicado es del tipo igualdad porque estamos preguntando si la fecha es igual a un determinado valor. Si en cambio preguntáramos por todas las fechas posterioresal 10 de enero, tendríamos una expresión de comparación como predicado de la cláusula WHERE en la consulta.

Funciones y Procedimientos

Los últimos términos esenciales de SQL que debemos conocer en nuestra lista son las funciones y los procedimientos. Digamos que la dirección de SQL Inc. asigna alguna tarea repetitiva para que el personal de nuestro edificio la complete. Por ejemplo

  1. tomar este informe;
  2. archívalo en otro edificio; y
  3. dime cuánto tiempo te ha llevado.

Sería más eficiente si la dirección simplemente dijera a la división que ejecutara este proceso con un solo comando. En las bases de datos, los procesos que pueden repetirse tantas veces como sea necesario se llaman funciones o procedimientos. Las funciones siempre devuelven algún resultado de su ejecución. En nuestro ejemplo, la función file_report devuelve el tiempo que ha tardado en realizar esta tarea. En cambio, los procedimientos no devuelven ningún valor, simplemente hacen lo que se les indica.

Conclusión

Este artículo ha presentado un breve resumen de los términos SQL más utilizados en el mundo de las bases de datos. Hemos tocado los fundamentos de los archivos de arquitectura de bases de datos, las instancias de bases de datos, las transacciones y la comunicación cliente-servidor. SQL es también un lenguaje muy potente y completo que utilizamos para comunicarnos con las bases de datos. También cubrimos los términos de SQL que hay que conocer relacionados con temas como DML, DDL, declaraciones, palabras clave, consultas y cláusulas.

Por supuesto, conocer la terminología de las bases de datos SQL es sólo la mitad de la batalla. La otra mitad es aplicarla. Como lenguaje de programación de cuarta generación, SQL es increíblemente fácil y divertido de aprender. Tanto si estás empezando como si tienes algunos conocimientos introductorios, una forma excelente de aprender SQL es a través de nuestro curso totalmente interactivo SQL para principiantes curso en la plataforma LearnSQL.es. ¡Pruébalo!