¡El poder de los datos!

1

¡El poder de los datos!

Introducción a las bases de datos relacionales

2

Buenas prácticas de bases de datos con SQL

3

Tipos de datos en SQL

4

¿Cómo crear una base de datos en SQL?

5

Práctica: Tu primera consulta en bases de datos

6

Historia y Evolución de SQL

7

Práctica: Creación de Tablas en SQL (CREATE TABLE)

Manipulación de Datos

8

Insertando Datos con SQL (INSERT)

9

Consultas y Selecciones en SQL (SELECT)

10

Práctica: SELECT en SQL

11

Actualización de Datos con SQL (UPDATE)

12

Eliminación de Datos con SQL (DELETE)

13

Práctica: CRUD con SQL

Manipulación Avanzada de Datos

14

Instalación de MySQL Server y MySQL Workbench

15

¿Qué es la cláusula WHERE de SQL?

16

Filtrar y Ordenar Datos en SQL (LIKE)

17

Práctica: Filtrar Datos con WHERE en SQL

18

Cláusulas de Comparación Textual en SQL (AND, NULL, IN, NOT)

19

Funciones de Aritmética Básica en SQL (COUNT, SUM, AVG)

20

Funciones de Aritmética Básica en SQL (MIN, MAX)

Agrupación de Datos

21

Agrupación de Datos en SQL: GROUP BY, HAVING y CASE para Análisis Avanzado

22

Práctica: Agrupamiento y Ordenamiento de Datos

23

Tipos de JOIN en SQL

24

¿Cómo funciona INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL JOIN?

25

Práctica: LEFT JOIN en SQL

Transformación de Datos

26

Vistas Materializadas en SQL: Como optimizar tus consultas y reportes.

27

Práctica: Crear Vistas Materializadas en SQL

28

Optimización de Bases de Datos con SQL: CREATE INDEX y TRIGGER

29

Vistas Materializadas y Temporales en SQL

30

Expresiones de Tablas Comunes (CTE) en SQL

Procedimientos Almacenados

31

Procedimientos Almacenados en SQL

32

Procedimientos Almacenados en SQL: Gestión de Variables y Manejo de Excepciones

Administración de Base de Datos

33

Respaldos y Restauración de Bases de Datos

34

Seguridad en Bases de Datos SQL

Análisis de Datos Avanzados

35

Potenciando los Datos en la Nube: Data Science, Big Data, ML e AI

36

SQL para Análisis de Datos: Primeros pasos con Power BI

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
14 Hrs
10 Min
53 Seg

Optimización de Bases de Datos con SQL: CREATE INDEX y TRIGGER

28/36

Lectura

CREATE INDEX:

CREATE INDEX se utiliza para crear un índice en una tabla de una base de datos. Los índices son estructuras de datos que mejoran la velocidad de las consultas al permitir un acceso más rápido a los registros de una tabla. Cuando se ejecuta una consulta que busca registros basados en los valores de ciertas columnas, el motor de la base de datos puede utilizar un índice asociado a esas columnas para buscar y recuperar los registros de manera más eficiente.

...

Regístrate o inicia sesión para leer el resto del contenido.

Aportes 12

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Caro 👩‍💻 no tenia conocimiento sobre crear trigger en SQL, gracias por compartirlo
Cómo no podían faltar las metáforas que hacen más sencillo el uso de la herramienta: *Imagina que Caperucita Roja está entregando una canasta de alimentos a su abuela. **Crear un índice (***`CREATE INDEX`***)** es como colocar **señales en el camino** del bosque para que Caperucita llegue más rápido a la casa de su abuela sin perderse. Estas señales permiten que Caperucita no tenga que explorar cada rincón del bosque, ahorrando tiempo y energía (igual que los índices reducen el tiempo de búsqueda en una base de datos).* *Por otro lado, un* `TRIGGER` *sería como un **mecanismo mágico** que automáticamente **avisa a la abuela cuando Caperucita llega al bosque**, sin que Caperucita tenga que dar aviso de forma manual. En este caso, el* `TRIGGER` *se dispara automáticamente cuando se inserta una nueva orden en la base de datos, igual que la abuela es avisada automáticamente cuando Caperucita llega cerca.*
### CREATE INDEX Un **índice** en SQL es similar a un índice en un libro: ayuda a encontrar información rápidamente sin tener que revisar todas las páginas. Los índices mejoran la velocidad de las consultas sobre una tabla. * **CREATE INDEX** se utiliza para crear un índice en una tabla. * Los índices pueden ser creados en una o más columnas de una tabla. * Ayudan a acelerar las búsquedas y las consultas de datos. **Ejemplo:** `CREATE INDEX idx_employee_name ON` employees (name); En este ejemplo, se crea un índice llamado `idx_employee_name` en la columna `name` de la tabla `employees`. Ahora, las consultas que buscan por el nombre serán más rápidas. //////////////////////////////////////////////////////////////// ### TRIGGER Un **disparador** (trigger) es un conjunto de instrucciones que se ejecutan automáticamente en respuesta a ciertos eventos en una tabla o vista, como inserciones, actualizaciones o eliminaciones de datos. * Los **triggers** pueden ejecutarse antes o después de un evento específico (como `BEFORE INSERT` o `AFTER UPDATE`). * Son útiles para mantener la integridad de los datos y realizar tareas automáticas. **Ejemplo:** `CREATE TRIGGER` trg\_before\_insert\_employee `BEFORE INSERT ON` employees `FOR EACH ROW` `BEGIN` ` SET NEW.created_at =` NOW(); `END`; En este ejemplo, se crea un trigger llamado `trg_before_insert_employee`. Este trigger se ejecuta **antes** de insertar una nueva fila en la tabla `employees` y automáticamente establece el valor de la columna `created_at` a la fecha y hora actuales (`NOW()`). ///////////////////////////////////////////////////////////// En resumen: * **CREATE INDEX**: Mejora la rapidez de las búsquedas en la tabla. * **TRIGGER**: Ejecuta automáticamente acciones cuando ocurren eventos específicos en la tabla, como inserciones, actualizaciones o eliminaciones.
Yo estuve tratando de poner el TRIGGER en práctica en la base de datos que tengo de prueba para seguir el curso, dicha base de datos está alojada en phpmyadmin. Cuando intenté hacer un TRIGGER similar al que ponen en el ejemplo me daba error se sintáxis, cosa que no entendía y entonces fui y lo chatgptie y descubrí el DELIMITER que sirve para cambiar el separador en las consultas cuando esta es muy compleja (como en este caso que hay consultas anidadas), este me solucionó el error y se los comparto por si a alguien le ocurrió lo mismo:![](https://static.platzi.com/media/user_upload/image-0c6d67dc-4abd-4d00-b4fc-72f044ebbdf9.jpg)
La creacion del indice queda bastante clara, pero luego como se le da uso a este? Y no me queda muy claro porque es mas eficiente para busquedas cuando haya muchos mas datos, que no seria lo mismo realizar la busqueda por la columna que por el indice? No entiendo bien la diferencia, solo entiendo que es mejor, pero no entiendo el porque ni como funciona
Excelentes aportes.
Por favor una clase explicando esto, muchos de los que no manejamos bien el concepto lo agradeceriamos.
Dato demasiado importante para implementarlo en proyectos con demasiados registros. Nice
Este tema estaría bien desarrollarlo en vídeo, pero, bueno a investigar un poco más.
### Optimización de Bases de Datos con SQL: `CREATE INDEX` y `TRIGGER` Optimizar tu base de datos puede mejorar significativamente el rendimiento de las consultas y asegurar la integridad de los datos. Aquí te explicaré cómo usar índices (`CREATE INDEX`) y disparadores (`TRIGGER`) en la base de datos `tecnoproductos`. ### Índices (`CREATE INDEX`) Un índice en SQL es una estructura que mejora la velocidad de las operaciones de selección (SELECT) a costa de ralentizar las operaciones de inserción (INSERT), actualización (UPDATE) y eliminación (DELETE). Los índices son útiles para columnas que se utilizan frecuentemente en las cláusulas WHERE, JOIN y ORDER BY. ```js -- Ejemplo con mi base de datos Tecnoproductos CREATE INDEX idx_productos_nombre ON productos(nombre); CREATE INDEX idx_productos_marca_id ON productos(marca_id); CREATE INDEX idx_productos_vendedor_id ON productos(vendedor_id); CREATE INDEX idx_marcas_nombre ON marcas(nombre); CREATE INDEX idx_vendedores_nombre ON vendedores(nombre); CREATE OR REPLACE FUNCTION update_updated_at_column() RETURNS TRIGGER AS $$ BEGIN NEW.updated_at = now(); RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TRIGGER update_productos_updated_at BEFORE UPDATE ON productos FOR EACH ROW EXECUTE FUNCTION update_updated_at_column(); EXPLAIN SELECT * FROM productos WHERE nombre = 'iPhone 13'; ALTER TABLE productos ADD COLUMN updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP; UPDATE productos SET descripcion = 'Nuevo descripción' WHERE id = 1; SELECT * FROM productos WHERE id = 1; ``` Los índices permiten una recuperación de datos más rápida, mientras que los disparadores pueden automatizar tareas de mantenimiento y asegurar la integridad de los datos
Gracias por este conocimiento