「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > MySQL で複合外部キーを実装するにはどうすればよいですか?

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

2024 年 12 月 26 日に公開
ブラウズ:689

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) を作成することで、チュートリアル テーブルの複合主キー。これにより、複合キーに基づいて両方のテーブルのデータを結合して取得できるようになります。

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

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3