Como Hacer Foreign Key En Phpmyadmin

Aquí te explico paso a paso cómo crear una Foreign Key en phpMyAdmin. El proceso es sencillo, pero requiere atención a los detalles.
Paso 1: Seleccionar la Base de Datos
Primero, abre phpMyAdmin en tu navegador. Selecciona la base de datos donde quieres crear las tablas relacionadas. En el panel izquierdo, haz clic en el nombre de la base de datos.
Por ejemplo, si tu base de datos se llama "escuela", haz clic en "escuela". Asegúrate de estar en la vista correcta de la base de datos. Esto es crucial para los siguientes pasos.
Must Read
Paso 2: Crear las Tablas
Ahora, crea las tablas que vas a relacionar. Necesitas al menos dos tablas: una tabla "padre" y una tabla "hijo". La tabla "padre" contiene la clave primaria, y la tabla "hijo" tendrá la Foreign Key.
Por ejemplo, crea una tabla llamada "profesores" con un campo "id_profesor" (INT, PRIMARY KEY, AUTO_INCREMENT) y otro llamado "nombre_profesor" (VARCHAR). Luego, crea otra tabla llamada "clases" con un campo "id_clase" (INT, PRIMARY KEY, AUTO_INCREMENT) y un campo "id_profesor" (INT) que será la Foreign Key, y otro campo "nombre_clase" (VARCHAR).

Para crear las tablas, usa la pestaña "SQL" y escribe las sentencias CREATE TABLE. Asegúrate de definir correctamente los tipos de datos y las claves primarias.
Paso 3: Agregar la Foreign Key (Opción 1: Mediante la Interfaz Gráfica)
Selecciona la tabla "clases" (la tabla "hijo"). Ve a la pestaña "Estructura". Busca la sección "Índice" o "Relaciones".
Haz clic en "Vista de relaciones". Aquí, encontrarás opciones para definir la Foreign Key. En la sección "Añadir relación", especifica el nombre de la restricción (por ejemplo, "fk_profesor").

Selecciona la columna que será la Foreign Key ("id_profesor" en este caso). Luego, selecciona la base de datos y la tabla "padre" ("profesores"). Finalmente, elige la columna de la tabla "padre" que es la clave primaria ("id_profesor").
En "ON DELETE" y "ON UPDATE", elige la acción a realizar cuando se elimine o actualice un registro en la tabla "padre". Las opciones comunes son "CASCADE" (propaga los cambios), "SET NULL" (establece el valor de la Foreign Key a NULL), "RESTRICT" (impide la eliminación o actualización si hay registros relacionados) o "NO ACTION". Guarda los cambios.
Paso 4: Agregar la Foreign Key (Opción 2: Mediante SQL)
Selecciona la tabla "clases" (la tabla "hijo"). Ve a la pestaña "SQL". Escribe la sentencia ALTER TABLE para agregar la Foreign Key.

La sintaxis general es: ALTER TABLE clases ADD CONSTRAINT fk_profesor FOREIGN KEY (id_profesor) REFERENCES profesores(id_profesor);
Aquí, "clases" es el nombre de la tabla "hijo", "fk_profesor" es el nombre de la restricción (puedes elegir cualquier nombre), "id_profesor" (dentro del paréntesis) es la columna de la tabla "clases" que es la Foreign Key, "profesores" es el nombre de la tabla "padre", e "id_profesor" (dentro del paréntesis después de "REFERENCES") es la columna de la tabla "profesores" que es la clave primaria.
También puedes agregar las opciones ON DELETE y ON UPDATE: ALTER TABLE clases ADD CONSTRAINT fk_profesor FOREIGN KEY (id_profesor) REFERENCES profesores(id_profesor) ON DELETE CASCADE ON UPDATE CASCADE;

Paso 5: Verificar la Foreign Key
Después de crear la Foreign Key, verifica que se haya creado correctamente. Ve a la pestaña "Estructura" de la tabla "clases". Busca la sección "Índice" o "Relaciones".
Deberías ver la Foreign Key que creaste, junto con la tabla y columna a la que hace referencia. También puedes intentar insertar datos en la tabla "clases" que no coincidan con los valores de la tabla "profesores" para verificar que la restricción funcione.
¡Listo! Has creado una Foreign Key en phpMyAdmin.
