一対多関係

一対多関係では、関連先テーブルの各行が関連先テーブルの多くの行に関連づけることができます。 これにより、頻繁に使用される情報は、あるテーブルに一度だけ保存し、他のすべてのテーブルで何度も参照することができます。 テーブルAとテーブルBの1対多の関係では、テーブルAの各行はテーブルBの0、1または多くの行にリンクされます。
1対多の関係を説明するために、以下のサンプルテーブル設計とデータを考えてみましょう。
著者テーブル

column
author_id primary key
lastname
firstname

books table

column
book_id 主キー
title
author_id 外部キー- outside key authors テーブルの author_id へのリンク
author_id lastname firstname
0001 henry john
0002 smith ADAM
0003 JOHNSON MARY
0004 Bailey Harry

の順です。

book_id title author_id
0001 データベース入門 0001
0002 データウェアハウス構築 0001
0003 Teach myself SQL 0001
0004 101 exotic recipes 0002
0005 Visiting europe 0004

authors テーブル内の各行には 0.0 が関連していますことに注意してください。 1行、またはbooksテーブルの多くの行になります。 これは直感的に理解できます。なぜなら、一人の著者は0冊、1冊、あるいはそれ以上の本を書くことができるからです。 上の例では、John Henryは3冊、Adam Smithは1冊、Mary Johnsonは1冊、Harry Baileyが1冊書いています。
注意深く見ると、上のauthorsテーブルとbooksテーブルの関係は、1対多の関係になっていることが分かります。 裏を返せば、booksテーブルとauthorsテーブルの関係は多対一の関係です。
以下も参照してください。 一対一の関係と多対一の関係
参照

コメントを残す

メールアドレスが公開されることはありません。