"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo implementar claves externas compuestas en MySQL?

¿Cómo implementar claves externas compuestas en MySQL?

Publicado el 2024-12-26
Navegar:909

How to Implement Composite Foreign Keys in MySQL?

Implementación de claves externas compuestas en SQL

Un diseño de base de datos común implica establecer relaciones entre tablas utilizando claves compuestas. Una clave compuesta es una combinación de varias columnas que identifica de forma única un registro en una tabla. En este escenario, tiene dos tablas, tutorial y grupo, donde necesita vincular la clave única compuesta en el tutorial a un campo en el grupo.

Según la documentación de MySQL, MySQL admite la asignación de claves externas a claves compuestas. Sin embargo, para establecer esta relación, deberá crear varias columnas en la tabla de referencia (grupo) para que coincidan con las columnas de clave principal en la tabla de referencia (tutorial).

Estos son los pasos para crear la Asignación de clave externa:

-- Alter the 'group' table to add the composite foreign key columns
ALTER TABLE `group`
ADD COLUMN `beggingTime` time NOT NULL,
ADD COLUMN `day` varchar(8) NOT NULL,
ADD COLUMN `tutorId` int(3) NOT NULL;

-- Add the foreign key constraint
ALTER TABLE `group`
ADD FOREIGN KEY (`beggingTime`, `day`, `tutorId`)
REFERENCES `tutorial`(`beggingTime`, `day`, `tutorId`);

Al crear las tres columnas de clave externa (beggingTime, day y tutorId) en la tabla de grupo, se establece la relación con el clave primaria compuesta en la tabla del tutorial. Esto le permite unir y recuperar datos de ambas tablas según la clave compuesta.

Es importante tener en cuenta que, si bien el uso de claves externas compuestas es técnicamente compatible, generalmente se recomienda utilizar una clave primaria de una sola columna. Esto se debe a que las claves compuestas pueden afectar el rendimiento y aumentar la complejidad del diseño de su base de datos. Si es posible, considere rediseñar sus tablas para utilizar una clave principal de una sola columna en el tutorial.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3