9-2.MySQLマスター②リレーションシップ
MySQLは、「リレーションシップデータベース管理システム」と呼ばれています。
リレーションシップて、、、横文字だとなんか躊躇してしまいますが、
MySQLは、テーブルにデータを保持するだけではなく、データ間のリレーションシップ(関係性)も持っているよという話です。
1-1. 1対1リレーションシップ
2つのデータ間の1対1リレーションシップは、各項目は別のタイプの1項目だけに関係性を持ちます。(リスには、結婚のようなものと書いてあった。)
ただ普通は、1つの項目に色々な情報が関連されているはずなので、実際にデータベースを構築するときは、1対多のリレーションシップを作成する必要があります。
1-2. 1対多リレーションシップ
1対多リレーションシップは、テーブルの1つの行が別のテーブルの多くの行にリンクされたときに発生します。
(手書きで恐縮ですが)以下が1対多リレーションシップの例です。
customersのテーブルと連携させることで、Puchasesテーブルは1人の顧客が買った複数の購入物を含むことが出来ます。
1-3. 多対多リレーションシップ
多対多リレーションシップでは、テーブルの多くの行が別のテーブルの多くの行にリンクされます。
この関係性を作成するには、接続可能な別の各テーブルからの列を含む3つめのテーブル(中間テーブル)を追加します。
3つめのテーブルの目的は、ただほかのテーブルにリンクさせることだけなので、ほかには何も含めません。
(手書きで恐縮ですが)以下が多対多リレーションシップの例です。
中間テーブルを使用すると、一連の関係性を通してデータベースに含まれるすべての情報まで移動することができます。
い、いじょう。。。