Como se ha mencionado anteriormente, el diseño de una base de datos exitosa no solamente se refiere a la cantidad de tablas que la componen, sino a la estructura que pueda mantener la integridad de los datos con el fin de que las empresas tomen las mejores decisiones con respecto a proyectos, área comercial, atención a clientes, etc. Por ello, es sumamente importante definir un medio de comunicación eficiente entre los programadores y la base de datos, de tal manera que se obtenga como resultado información útil.
Lo anterior se da a través de una serie de preguntas y solicitudes que el sistema de BD responderá de acuerdo con ciertas instrucciones, es decir, la comunicación es bidireccional como, por ejemplo, las interacciones que tienes con tu teléfono móvil a través de consultas de información de contactos o de correos electrónicos para comunicarte con otras personas: son accesos directos de los datos a través de este diálogo entre humanos y tecnología. En este tema, conocerás más sobre cómo realizar estas conversaciones a través del lenguaje SQL de manera correcta y eficiente.
Estructura de una consulta
De acuerdo con DataScientest (2021), las aplicaciones actuales pueden ser programadas en lenguajes como Python y PHP, entre otros. Sin embargo, la base de todo esto fue el lenguaje SQL, que iniciaba la creación de consultas específicas con lenguajes que solamente comprendían lo que SQL les comunicaba. Hoy en día, este tema ha evolucionado y las cosas han cambiado, pero es crucial comprender las bases de estas consultas para saber cómo se da la comunicación eficiente entre las bases de datos y los programas.
Como ya has visto, las bases de datos se componen por tablas, las cuales, a su vez, se integran por filas y columnas, para representar un conjunto de datos; por lo tanto, SQL permite la creación y manipulación de tablas en sentido básico. Para lograr lo anterior, se utilizan comandos como CREATE DATABASE para crear una base de datos o CREATE TABLE para crear tablas. Por su parte, el comando SELECT se utiliza para la búsqueda y extracción de datos de una base de datos, el comando UPDATE para la edición de los datos y el comando DELETE para el borrado de datos. Estos solamente son algunos ejemplos para que tengas una idea general de cómo funciona el lenguaje SQL, ya que estarás ahondando más en su estructura a lo largo de este tema.
Gracias al uso correcto de estos comandos, se puede obtener información útil de una base de datos. Resulta importante realizar las preguntas correctas y precisas para disminuir los márgenes de error; de tal forma que el manejador de la base de datos entregue información correcta que servirá para crear reportes para apoyar la toma de decisiones estratégicas en las empresas. Para lograr una extracción eficiente de las bases de datos, se deben establecer relaciones confiables en la estructura de la base de datos con el fin de arrojar reportes que contesten a preguntas relevantes del negocio como ¿cuál es el rango de edad de las personas que más consumen nuestros productos? o ¿de qué parte de la República Mexicana se realizan más pedidos? De esta forma, con el diseño adecuado, el gestor de la base de datos tendrá disponible la información una vez ejecutadas las consultas realizadas.
Las acciones que se pueden realizar con lenguaje SQL son lectura, altas, bajas, modificaciones, agrupamiento y ordenamiento de los datos, lo que ayudará a manipular los registros existentes para realizar cambios, consolidar la información cuando se necesite extraer de diferentes tablas o, incluso, eliminarla en caso de que sea obsoleta. Para hacer consultas en el gestor de base de datos, es necesario el uso de los elementos que se explican a continuación (Ebac, 2023).
Sintaxis. Para unificar varios registros que se localizan en una o varias tablas del sistema gestor de base de datos, se utiliza la instrucción SELECT de MySQL, dando flexibilidad al seleccionar los campos que se quieren incluir o excluir. Se presenta la sintaxis más simple:
SELECT campos
FROM tablas
[WHERE condiciones];
En primer lugar, se tienen los campos, que son las columnas o el cálculo que se desea extraer. En caso de querer seleccionar todas las columnas, se escribe un asterisco (*). Ejemplo:
SELECT *
FROM CLIENTES
WHERE ciudad=’Colima’;
De las tablas, se extraerán los registros; se debe especificar cuando menos una. En el ejemplo mencionado, la tabla se llama CLIENTES.
De acuerdo con Hostinger (2023), las principales ventajas al utilizar una consulta son:
Para la consulta de información de dos o más tablas, necesitarás usar la instrucción SELECT. Deberás tomar en cuenta las llaves predefinidas y las relaciones que existen entre dichas tablas. Esta unión se realiza a través de la instrucción JOIN, que refleja expresamente su unión.
La relación de las tablas se especifica a través del comando JOIN, que permite identificar el tipo de relación entre ellas. Para dos o más tablas, se usa la sintaxis del siguiente ejemplo, en el que se define la relación de las llaves primarias o foráneas que se han especificado para dichas tablas. Por lo tanto, es posible relacionarlas para la ejecución de las consultas.
SELECT tabla1.columna(s), tabla2.columa(s);
FROM tabla1
INNER JOIN tabla2
ON tabla1.columna = tabla2.columna
Ten en cuenta que, para obtener más variaciones de resultados de consultas, puedes combinar los comandos, por ejemplo, el comando SELECT con otros como AND o SUM para agregar datos o combinar resultados. A lo largo de este tema, se explicará a detalle el uso de estos comandos para obtener mejores resultados en consultas (Hostinger, 2023).
Selecciona información simple con SELECT
Según explica Coder (2023), el comando SQL es una sentencia fundamental utilizada para recuperar datos de una o más tablas en una base de datos, teniendo como función principal la extracción de información a través de las consultas creadas con base en las condiciones y criterios que se hayan especificado. Se considera una instrucción esencial para obtener información de la base de datos y presentarla de manera amigable a los usuarios. Su sintaxis básica es la siguiente:
SELECT [columna1, columna2, ...] FROM [tabla];
Donde:
Ejemplo:
SELECT *
FROM EMPLEADOS
El asterisco (*) aparece como un comodín para seleccionar todas las columnas de la tabla; sin embargo, en muchos casos, será necesario especificar las columnas que necesites, ya que esto ayudará a reducir el tiempo y los recursos para ejecutar la consulta.
En caso de buscar los registros de la tabla EMPLEADOS con cada una de sus columnas, la sintaxis se escribiría de la siguiente manera:
SELECT id, nombre, edad, salario, fecha_contratacion, email, estatus
FROM EMPLEADOS;
Cláusulas en una sentencia SELECT
La instrucción SELECT cuenta con la facilidad de realizar la extracción de datos y, tal como se mencionó anteriormente, lo hace a través de condiciones y criterios por medio de cláusulas que se agregan a las sentencias. Las más utilizadas son (Coder, 2023):
La cláusula WHERE permite restringir los resultados devueltos por una consulta SQL a aquellos que cumplen con las condiciones establecidas. También se pueden concatenar diferentes condiciones a través del uso de AND y OR. Si quisieras obtener los registros de la tabla EMPLEADOS con estatus “inactivo”, se escribiría de la siguiente manera:
SELECT *
FROM EMPLEADOS;
WHERE estatus=’inactivo’;
O para obtener el listado de todos los empleados mayores de 35 años con un salario superior a $30,000.00, se puede utilizar AND de la siguiente forma:
SELECT *
FROM EMPLEADOS;
WHERE edad>30 AND salario > 30000;
Para el cálculo del total de salarios de los empleados, sería:
SELECT edad, SUM(salario) AS total_salario
FROM EMPLEADOS;
El siguiente ejemplo muestra cómo encontrar la edad y el salario mínimos. Aparece el comando AS, que sirve para guardar en una nueva variable el resultado del criterio que se especifica.
SELECT MIN(edad) AS edad_min, MIN(salario) AS salario_min
FROM EMPLEADOS;
Añade información a tablas con INSERT
El comando INSERT se usa para agregar nuevos registros en una tabla de la base de datos, lo que da como resultado la creación de nuevas filas con sus valores respectivos para cada columna. Su sintaxis básica es la siguiente:
INSERT INTO [tabla] (columna1, columna2, columna3) VALUES (valor1, valor2, valor3);
Donde:
Observa el ejemplo de inserción de valores en la tabla EMPLEADOS:
INSERT INTO EMPLEADOS (nombre, edad, salario, fecha_contratacion, email, estatus)
VALUES ('Ana Martínez', 35, 60000.00, '2023-11-15', 'ana@example.com', activo),
('Juan López', 42, 70000.00, '2023-10-20', 'juan@example.com', inactivo),
('María Rodríguez', 28, 55000.00, '2023-09-05', 'maria@example.com', activo),
('Luisa García', 31, 52000.00, '2023-12-03', 'luisa@example.com', inactivo),
('Pedro Sánchez', 39, 68000.00, '2023-07-25', 'pedro@example.com', activo),
('Marta Fernández', 33, 62000.00, '2023-06-14', 'marta@example.com', inactivo),
('Carlos Pérez', 45, 75000.00, '2023-05-10', 'carlos@example.com', inactivo),
('Sofía Gómez', 27, 51000.00, '2023-04-22', 'sofia@example.com', inactivo),
('Javier Ruiz', 37, 64000.00, '2023-03-18', 'javier@example.com', activo),
('Laura López', 30, 53000.00, '2023-02-09', 'laura@example.com', inactivo);
En este ejemplo, se omite la columna ID porque esa columna se genera automáticamente y de manera consecutiva. También es importante asegurar que los valores que se capturan coincidan con los especificados en la definición de la tabla para evitar errores al momento de capturar información. Las fechas y los valores de texto deben especificarse con comillas simples.
Modifica información en tablas con UPDATE
De acuerdo con Coder (2023), el comando UPDATE se usa para modificar o actualizar los registros existentes en una tabla, permitiendo el cambio de los valores de las columnas en los registros que cumplan con una condición específica, algo útil para actualizar información de clientes, corregir errores o cambiar valores obsoletos. Su sintaxis básica es la siguiente:
UPDATE nombre_tabla
SET columna1 = nuevo_valor1, columna2 = nuevo_valor2, ...
WHERE condicion;
Donde:
Por ejemplo, para actualizar los valores de los salarios de todos los empleados con un 10% de aumento, se escribiría:
UPDATE EMPLEADOS
SET salario = salario * 1.10;
Si se desea actualizar el salario solamente del empleado Pedro Sánchez, se escribe:
UPDATE EMPLEADOS
SET salario = 60000
WHERE nombre = 'Pedro Sánchez';
El uso de los comandos vistos hasta este momento no solo ayuda a extraer información relevante de las tablas de una base de datos, sino también, usándolo con los elementos adecuados, permite la optimización del gestor para realizar las consultas de forma óptima y aprovechar los recursos de la computadora donde se estén realizando, lo que garantizará una mayor rapidez en su ejecución.
La extracción de información de las tablas de un sistema de base de datos es una de las actividades más recurrentes que cualquier administrador de bases de datos necesita realizar para proveer información oportuna a las empresas. En este sentido, la actualización constante de la información, la creación de nuevos registros y las consultas optimizadas con funciones especiales se convierten en tareas de gran relevancia por el valor que aportan a cualquier empresa.
Recuerda que en todo momento las consultas deben enfocarse en conseguir la información demandada por los integrantes de la organización y, en caso de que no arrojen los datos como se esperan, es probable que se deba hacer una revisión de su estructura o de la carga de datos para poder realizar una optimización de diseño congruente con las especificaciones de los usuarios.
Asegúrate de:
Tecmilenio no guarda relación alguna con las marcas mencionadas como ejemplo. Las marcas son propiedad de sus titulares conforme a la legislación aplicable, estas se utilizan con fines académicos y didácticos, por lo que no existen fines de lucro, relación publicitaria o de patrocinio.
Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.
Lecturas
Videos
Tecmilenio no guarda relación alguna con las marcas mencionadas como ejemplo. Las marcas son propiedad de sus titulares conforme a la legislación aplicable, estas se utilizan con fines académicos y didácticos, por lo que no existen fines de lucro, relación publicitaria o de patrocinio.
La obra presentada es propiedad de ENSEÑANZA E INVESTIGACIÓN SUPERIOR A.C. (UNIVERSIDAD TECMILENIO), protegida por la Ley Federal de Derecho de Autor; la alteración o deformación de una obra, así como su reproducción, exhibición o ejecución pública sin el consentimiento de su autor y titular de los derechos correspondientes es constitutivo de un delito tipificado en la Ley Federal de Derechos de Autor, así como en las Leyes Internacionales de Derecho de Autor.
El uso de imágenes, fragmentos de videos, fragmentos de eventos culturales, programas y demás material que sea objeto de protección de los derechos de autor, es exclusivamente para fines educativos e informativos, y cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por UNIVERSIDAD TECMILENIO.
Queda prohibido copiar, reproducir, distribuir, publicar, transmitir, difundir, o en cualquier modo explotar cualquier parte de esta obra sin la autorización previa por escrito de UNIVERSIDAD TECMILENIO. Sin embargo, usted podrá bajar material a su computadora personal para uso exclusivamente personal o educacional y no comercial limitado a una copia por página. No se podrá remover o alterar de la copia ninguna leyenda de Derechos de Autor o la que manifieste la autoría del material.