ホームページ >データベース >mysql チュートリアル >リレーショナル データベース設計のために MySQL で効率的な複合主キーを作成するにはどうすればよいですか?

リレーショナル データベース設計のために MySQL で効率的な複合主キーを作成するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-08 22:27:10287ブラウズ

How to Create Efficient Composite Primary Keys in MySQL for Relational Database Design?

MYSQL での複合主キーの作成

複雑なデータベース設定では、テーブル間の関係を効果的に確立する必要があります。複合主キーは、複数のテーブルにわたるレコードを一意に識別するために複数の列が必要な場合に、堅牢なソリューションを提供します。この記事では、MYSQL での複合主キーの作成について説明し、キー値を表すためのさまざまなオプションを検討します。

3 つのテーブル (table_1、table_2、info) があるシナリオを考えてみましょう。最初の 2 つのテーブルには自動インクリメント代理主キーがあり、info には table_1 と table_2 の両方に関連する情報が含まれています。タスクは、table_1 と table_2 の両方の ID を組み合わせた情報の複合主キーの適切な表現を決定することです。

複合キーを表すためのさまざまなオプションが利用可能です:

  • INT (9) 11209437: この形式は単純ですが、大規模な場合には問題が発生する可能性があります。数値。
  • VARCHAR (10) 11209-437: これは人間が判読できる表現ですが、MySQL では効率が低くなります。
  • DECIMAL (10,4) ) 11209.437: 正確ではありますが、意図した目的に対しては過剰である可能性があります

推奨されるアプローチは、次の例に示すように、複合 (複数列) キーを使用することです。

CREATE TABLE INFO (
    t1ID INT,
    t2ID INT,
    PRIMARY KEY (t1ID, t2ID)
)

この構造は、一意の識別子を提供するだけではありません。 info 内の各レコードに対してだけでなく、table_1 および table_2 との外部キー関係も確立します。さらに、この表現は MySQL のデータ処理機能に合わせて最適化されています。

以上がリレーショナル データベース設計のために MySQL で効率的な複合主キーを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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