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

Términos de SQL que los principiantes deben conocer

¿Has empezado a aprender SQL? ¿Se siente un poco perdido en el laberinto de nuevas palabras e ideas? Aquí tienes una lista de 10 términos SQL absolutamente esenciales para principiantes.

Cuando empiezas a aprender SQL, hay mucho que procesar. Y algunas de ellas, incluso los términos básicos de SQL, se pierden en la confusión. Si esto te suena a ti, guarda este artículo en tus favoritos; será una referencia muy útil.

Voy a explicar estos términos básicos de SQL con las palabras más sencillas posibles. No buscamos una precisión de nivel científico; lo más importante es que entiendas los fundamentos de SQL.

¿Preparado? Vamos allá.

Sección uno: Fundamentos de la base de datos

Base de datos

Una base de datos es un conjunto estructurado de datos almacenados en un ordenador. Estos datos se pueden procesar de varias maneras: por ejemplo, analizarlos, actualizarlos, copiarlos, borrarlos, etc. Hoy en día, las bases de datos están en todas partes. Las utilizan los bancos, las empresas de taxis, los sitios web, los hospitales e incluso las aplicaciones de su smartphone. Vivimos en un mundo que funciona con los datos almacenados en las bases de datos.

Si estás interesado en crear eventualmente estructuras de bases de datos, echa un vistazo a nuestro curso de Creación de Estructuras de Bases de Datos. Contiene cinco cursos interactivos en los que aprenderás sobre los tipos de datos, la creación de estructuras de tablas en SQL y el uso de restricciones, índices y vistas. Los más de 320 ejercicios interactivos le proporcionarán un montón de conocimientos, y de práctica.

Base de datos relacional

Este es un término importante que suele tener definiciones muy complejas. Me quedo con la que Edgar Frank Codd -un matemático genial y el precursor de las bases de datos y el SQL- estableció en 1970: una base de datos relacional es una estructura predefinida de una o más tablas. Los datos de las tablas pueden relacionarse en función de sus valores. (Por ejemplo, dos columnas de tablas diferentes pueden compartir los mismos datos de identificación, lo que relaciona estas dos tablas).

Las bases de datos relacionales son las más populares del mercado, pero existen otros tipos. Algunas bases de datos utilizan un tipo diferente de estructura de datos; pueden estar basadas en

  • Columnas - Cassandra, Druid, HBase.
  • Pares clave-valor - Oracle NoSQL Database, OrientDB, Redis.
  • Documentos - Apache CouchDB, IBM Domino, MongoDB.
  • Gráficos - AllegroGraph, InfiniteGraph, Apache Giraph.

Si estás pensando en trabajar con bases de datos, céntrate por ahora en las bases de datos relacionales. Si no sabes ahora mismo que vas a necesitar otro tipo de base de datos, es casi seguro que utilizarás una base de datos relacional. El curso SQL para principiantes curso es un buen lugar para empezar a construir este conocimiento.

Sistema de gestión de bases de datos (DBMS)

Como su nombre indica, un SGBD es un programa informático que permite trabajar con una base de datos. La base de datos en sí es simplemente datos almacenados en un disco duro. Hay que acceder a ella de alguna manera, y aquí es donde un SGBD resulta útil.

En este punto, todo lo que necesitas saber es que un SGBD es el software en el que escribes consultas SQL, que se conecta a la base de datos y devuelve los datos que le pides. Hay muchos SGBD en el mercado, tanto de pago como de código abierto (que es más popular). La elección entre ellos es principalmente una cuestión de preferencia personal y de propósito. Si eliges aprender SQL, estarás utilizando un SGBD. Los SGBD más populares son

Mi colega Adrian escribió un gran artículo sobre DBMS, en el que explica exactamente cuáles son los DBMS utilizando ejemplos. Si necesitas más detalles, es un buen recurso. ¿Quieres saber qué SGBD deberías elegir para tu negocio o para tu uso privado? Tome ejemplo de los profesionales: Las bases de datos más populares en 2020 contiene los resultados de la última encuesta de Stack Overflow.

Tabla

La mayoría de nosotros entiende intuitivamente lo que es una tabla de base de datos: datos en una estructura lógica de columnas y filas. Lo más probable es que puedas imaginar una tabla de base de datos en tu cabeza. Si no es así, aquí tienes un ejemplo:

Column 1Column 2Column 3
Row 1
Row 2
Row 3
Row 4

Con SQL, puedes escribir consultas que seleccionen "fragmentos" específicos de la tabla, es decir, el valor o los valores de determinadas filas o columnas. Incluso se puede seleccionar un solo valor. Además, SQL te permite analizar, realizar cálculos o incluso modificar los datos de una tabla. Y no siempre trabajará con una sola tabla. A veces, escribirá una consulta que haga referencia a varias tablas. Por ejemplo, puede tener una lista de sus clientes en una tabla y una lista de pedidos en otra tabla. Con una consulta SQL, puede averiguar qué clientes han pedido más productos y qué han pedido. Esto requiere un comando conocido como SQL JOIN, que está cubierto en nuestra ruta SQL para principiantes.

Columna

Una columna es parte de una tabla. En una base de datos relacional, una columna es una colección de valores de datos de un tipo específico; hay un valor de columna para cada fila en la base de datos.

Por ejemplo, mira tu lista de contactos. Probablemente tengas los nombres y apellidos de tus amigos, sus números de teléfono, sus direcciones de correo electrónico, etc. Si los pusieras todos en una tabla de la base de datos, tendrían el aspecto del ejemplo siguiente. Observa que toda la información de la columna email (que hemos coloreado) es del mismo tipo: direcciones de correo electrónico. Eso es lo que hacen las columnas: almacenar un tipo de información.

first_namesurnamephone_numberemail
AnnJarvis888-555-1234jarvis.ann@company.com
TomLau818-555-4567t_lau145@email.co
MikeHigdon303-555-0987mikehigdon@painting.it
MariaHernandez818-555-3498mhernandez@business.us

Fila/Registro

Las filas (también llamadas registros) contienen celdas (también llamadas campos) que almacenan valores individuales de las columnas. A diferencia de las columnas, las filas pueden contener varios tipos de datos. Lo que diferencia a las filas es que todos los datos de la fila describen una cosa específica. Y, también a diferencia de las columnas, puedes tener cualquier número de filas en una tabla; no tienes que saber el número de filas de antemano.

En el ejemplo de una lista de contactos, cada fila representa toda la información de contacto que tienes para una sola persona. En este ejemplo, una fila = una persona. En otros casos, una fila puede representar un artículo, una transacción de venta, una pieza de equipo deportivo, etc.

first_namesurnamephone_numberemail
AnnJarvis888-555-1234jarvis.ann@company.com
TomLau818-555-4567t_lau145@email.co
MikeHigdon303-555-0987mikehigdon@painting.it
MariaHernandez818-555-3498mhernandez@business.us

Sección dos: Términos básicos de SQL

Lenguaje de consulta estructurado (SQL)

SQL o Structured Query Language es el lenguaje que se utiliza para comunicarse con la base de datos. A diferencia de algunos lenguajes de programación, SQL es bastante sencillo y se basa en el inglés sencillo. Los comandos SQL se parecen más a frases que a códigos informáticos. En otras palabras, SQL es el lenguaje que utilizarás para encontrar, cambiar, añadir o eliminar datos en una base de datos.

Creo que aprender SQL es más parecido a aprender español o francés que un lenguaje de programación informática. De hecho, diría que es incluso más fácil porque ya conoces todas las palabras. Sólo hay que averiguar cómo juntar correctamente las palabras en una consulta SQL.

SQL tiene más de 40 años. Y no va a desaparecer. Es un estándar oficial de la industria, avalado por la Organización Internacional de Normalización (ISO) y el Instituto Nacional de Normalización de Estados Unidos (ANSI, que es una organización miembro de la ISO).

Todas las soluciones modernas de bases de datos relacionales utilizan SQL como herramienta básica. Aunque existen diferentes dialectos de SQL (por ejemplo, SQL Server, MySQL o PostgreSQL), las diferencias entre el SQL estándar y un dialecto suelen ser menores. Puedes consultar fácilmente la documentación de cada dialecto para saber qué hay que hacer de forma diferente.

Consulta

Una consulta es un comando enviado a la base de datos. En nuestro caso, será lo que escribas en SQL para obtener el resultado que deseas. Las consultas SQL pueden utilizarse para extraer resultados de la base de datos o para modificar la propia base de datos.

Imagina que la base de datos es tu amigo Joe. Él sabe dónde conseguir una buena pizza. Tú tienes mucha hambre y quieres una pizza. ¿Qué haces? Le preguntas a Joe, diciendo algo así como "Oye Joe, ¿dónde hay una buena pizzería?" Suponiendo que lo preguntes en SQL, sería algo así:

SELECT pizza_place
FROM Joe
WHERE restaurant_review = "good";

Es sencillo, ¿verdad? Incluso sin saber cómo se escribe una consulta SQL, puedes deducir que estás obteniendo información sobre una pizzería de Joe. Y además, esta pizzería tiene que tener una buena crítica. Joe, la base de datos, te devolvería el resultado (es decir, te daría la información que has pedido): El pequeño restaurante de Papa Mario. Pero ya está bien de referencias gastronómicas por ahora: ¡me ha empezado a rugir el estómago!

GROUP BY

GROUP BY es una importante cláusula SQL que permite agrupar las filas que tienen los mismos valores en una columna determinada.

Suponga que quiere ver cuántos clientes tiene en una ciudad determinada. Si añade GROUP BY city a su consulta, aparecerán juntas en sus resultados todas las filas (clientes) con el mismo valor en la columna city. Esto es muy útil para resumir los datos y hacer informes. Para obtener más información, consulte el curso Cómo crear informes básicos con SQL después de haber terminado su formación básica en SQL.

SQL también ofrece varias extensiones de GROUP BY, llamadas así porque amplían las capacidades de agrupación de GROUP BY. Estas extensiones son ROLLUP, CUBE y GROUPING SETS, y le permiten hacer cosas interesantes como añadir subtotales a un análisis. Las extensiones de GROUP BY son más avanzadas, así que espere hasta que se sienta cómodo con GROUP BY antes de aprenderlas. Una vez que esté listo, vea nuestro Modificadores de GROUP BY en SQL curso. Si trabajas con datos o informes, lo que aprendas en este curso te será realmente útil.

Funciones Agregadas

Las funciones agregadas le permiten realizar cálculos numéricos sobre sus datos. La consulta devuelve entonces información resumida sobre una columna determinada o una lista de resultados.

Existen cinco funciones básicas de agregación de SQL:

  • MIN() devuelve el valor más pequeño de una columna.
  • MAX() devuelve el valor más alto de una columna
  • SUM() devuelve la suma de todos los valores numéricos de una columna.
  • AVG() devuelve el valor medio de todos los valores numéricos de una columna.
  • COUNT() devuelve el número de todos los valores de una columna (por ejemplo, si hay 45 valores de ID en la columna id, COUNT(id) devolverá 45).

Si quieres saber cómo utilizar estas funciones, lee nuestra Guía para principiantes sobre las funciones agregadas de SQL. También puedes ver nuestro tutorial en YouTube, donde mi colega Adrian te lo explicará todo de forma muy amena. (¡Por favor, dale a "me gusta" y suscríbete!) Pero recuerda: las funciones agregadas de SQL se aprenden mejor cuando ya tienes conocimientos básicos de SQL.

Términos de SQL

Guarda esta hoja de trucos de SQL para principiantes

Eso es todo - mi lista de los conceptos básicos que creo que cualquiera que empiece a aprender SQL debería conocer. Si te ha gustado mi artículo o si quieres ver otros términos de SQL explicados, por favor, publica un comentario más abajo.

Recuerda que si no entiendes algo correctamente al principio de tu estudio, aprender conceptos avanzados será mucho más difícil. Así que no tengas miedo de pedir ayuda. Todos necesitamos hacer preguntas: ¡así es como mejoramos!