ホームページ >データベース >mysql チュートリアル >MySQL で複合外部キーを実装するにはどうすればよいですか?

MySQL で複合外部キーを実装するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-25 07:37:31893ブラウズ

How to Implement Composite Foreign Keys in MySQL?

SQL での複合外部キーの実装

一般的なデータベース設計の 1 つは、複合キーを使用してテーブル間の関係を確立することです。複合キーは、テーブル内のレコードを一意に識別する複数の列の組み合わせです。このシナリオでは、チュートリアルとグループの 2 つのテーブルがあり、チュートリアルの複合一意キーをグループのフィールドにリンクする必要があります。

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

グループ テーブルに 3 つの外部キー列 (beggingTime、day、tutorId) を作成することで、複合テーブルとの関係を確立します。チュートリアルテーブルの主キー。これにより、複合キーに基づいて両方のテーブルのデータを結合して取得できるようになります。

複合外部キーの使用は技術的にサポートされていますが、一般的には代わりに単一列の主キーを使用することが推奨されることに注意してください。これは、複合キーがパフォーマンスに影響を与え、データベース設計の複雑さを増す可能性があるためです。可能であれば、チュートリアルで単一列の主キーを使用するようにテーブルを再設計することを検討してください。

以上がMySQL で複合外部キーを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。