- 1

Fundamentos de SQL y diseño de bases de datos relacionales
01:06 - 2

Separación de entidades para organizar datos en bases de datos
10:25 - 3

Qué es SQL y cuándo usarlo en lugar de Excel
15:21 - 4
Instalación de MySQL en Windows, macOS y Linux
01:51 - 5

Configuración básica cliente-servidor en MySQL
05:18 quiz de Fundamentos de Bases de datos
Creación de tabla relacional con llaves foráneas en MySQL
Clase 12 de 24 • Curso de Fundamentos de Bases de Datos
Contenido del curso
- 6

Conceptos fundamentales de bases de datos: columnas, tuplas y relaciones
07:23 - 7

Creación de tablas básicas en MySQL con tipos de datos
13:42 - 8

Claves primarias y validaciones esenciales en tablas MySQL
16:44 - 9

Normalización y relaciones en bases de datos de tiendas
21:38 - 10

Creación visual de esquemas de bases de datos con DBML
17:24 quiz de Introducción a Bases de Datos Relacionales
- 11

Creación de tablas SQL con relaciones y llaves externas
26:04 - 12

Creación de tabla relacional con llaves foráneas en MySQL
20:49 - 13

Tipos de tablas en bases de datos relacionales: catálogo, operación, registro y archivo
12:59 - 14

Modificación de tablas MySQL con ALTER TABLE
17:35 - 15

Inserción de datos y manejo de claves duplicadas en MySQL
22:32 - 16

Creación de tablas MySQL realistas con campos únicos y timestamps
17:17 - 17

Filtrado de datos con WHERE en SQL
24:39 - 18

Comando UPDATE: modificar registros en tablas SQL
23:13 - 19

Borrado lógico y físico de datos en SQL
16:02 - 20

Uso del comando SELECT para consultas básicas en SQL
15:31 quiz de Manipulación de Datos
Crear correctamente las tablas y gestionar sus relaciones en MySQL es clave para mantener la integridad y eficiencia de la base de datos. Partiendo de las tablas ya creadas (clients, products y builds), exploraremos cómo establecer conexiones significativas utilizando llaves foráneas (foreign keys) y gestionarlas tanto con relaciones "duras" (a nivel base de datos) como "suaves" (en lógica de aplicación).
¿Cómo crear correctamente una tabla nueva relacionada con otras tablas?
Para conectar información entre tablas, crearemos una tabla llamada bill products, que almacenará productos específicos relacionados con una factura (bill). Es esencial que los nombres de tablas sean coherentes y claros para cualquier colaborador.
Ejemplo de creación de tabla:
CREATE TABLE IF NOT EXISTS bill_products (
bill_product_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
bill_id INT UNSIGNED NOT NULL,
product_id INT UNSIGNED NOT NULL,
quantity INT NOT NULL DEFAULT 1,
created_at DATETIME,
updated_at DATETIME
);
¿Cuándo y cómo usar llaves foráneas tipo "cascade"?
Las llaves foráneas con ON DELETE CASCADE aseguran que, al eliminar un registro en la tabla padre, todos los registros relacionados se eliminen automáticamente. Es una función potente, pero conlleva riesgos si no se maneja con precaución.
Ejemplo específico:
FOREIGN KEY (bill_id) REFERENCES bills(id) ON UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (product_id) REFERENCES products(product_id) ON UPDATE CASCADE ON DELETE CASCADE
Este método facilita mantener la integridad de datos, pero puede causar pérdidas no deseadas si se elimina información inadvertidamente.
¿Qué ventajas tiene usar relaciones "suaves" sobre relaciones "duras"?
Las relaciones "suaves" permiten mayor flexibilidad ya que la lógica de validación está en la aplicación, no en la base de datos directamente.
Sus ventajas principales son:
- Mayor flexibilidad para gestionar cambios.
- Menor rigidez en la estructura.
- Facilita cambios rápidos sin modificar constantemente la estructura en la base.
Aunque presenta riesgos como insertar datos huérfanos, bien manejado puede ayudar en entornos de desarrollo ágil o proyectos en crecimiento.
Este panorama práctico sobre creación de tablas, relaciones y llaves foráneas busca informarte sobre opciones clave según las necesidades específicas de tu proyecto. ¿Prefieres utilizar relaciones "suaves" enfocadas en lógica de aplicación o eres partidario de relaciones "duras" en la base de datos? Déjanos tu opinión en los comentarios.