リスを倒す 『初めてのPHP,MySQL,JavaScript&CSS』

『初めてのPHP,MySQL,JavaScript&CSS』勉強奮闘記

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つめのテーブルの目的は、ただほかのテーブルにリンクさせることだけなので、ほかには何も含めません。
(手書きで恐縮ですが)以下が多対多リレーションシップの例です。

中間テーブルを使用すると、一連の関係性を通してデータベースに含まれるすべての情報まで移動することができます。



い、いじょう。。。