«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как реализовать составные внешние ключи в MySQL?

Как реализовать составные внешние ключи в MySQL?

Опубликовано 26 декабря 2024 г.
Просматривать:511

How to Implement Composite Foreign Keys in MySQL?

Реализация составных внешних ключей в SQL

Одна из распространенных конструкций баз данных предполагает установление связей между таблицами с использованием составных ключей. Составной ключ — это комбинация нескольких столбцов, которая однозначно идентифицирует запись в таблице. В этом сценарии у вас есть две таблицы, учебник и группа, где вам нужно связать составной уникальный ключ в учебнике с полем в группе.

Согласно документации MySQL, MySQL поддерживает сопоставление внешнего ключа с составными ключами. Однако для установления этой связи вам потребуется создать несколько столбцов в ссылочной таблице (группе), чтобы они соответствовали столбцам первичного ключа в ссылочной таблице (руководство).

Вот шаги по созданию Сопоставление внешнего ключа:

-- 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`);

Создавая три столбца внешнего ключа (beggingTime, day и tutorId) в групповой таблице, вы устанавливаете связь с составной первичный ключ в учебной таблице. Это позволяет вам объединять и извлекать данные из обеих таблиц на основе составного ключа.

Важно отметить, что хотя использование составных внешних ключей технически поддерживается, обычно вместо этого рекомендуется использовать одностолбцовый первичный ключ. Это связано с тем, что составные ключи могут повлиять на производительность и усложнить структуру вашей базы данных. Если возможно, рассмотрите возможность изменения архитектуры ваших таблиц для использования первичного ключа из одного столбца в учебнике.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3