SQLで理解する一対多、多対多のリレーションシップ

この記事では、SQL(Structured Query Language)における一対多、多対多のリレーションシップについて詳しく説明します。リレーションシップとは、データベース内のテーブル間の関係性のことです。これを理解することで、効率的なデータベース設計が可能になります。

目次

一対多のリレーションシップ

一対多のリレーションシップは、一つのレコードが複数のレコードと関連づけられる形です。

一対多の例:「学生と成績」

学生ID学生名
1田中
2佐藤
学生テーブル
成績ID学生ID科目点数
11数学85
21英語90
32数学70
成績テーブル

一つの学生は複数の成績データを持っています。これが一対多のリレーションシップです。

多対多のリレーションシップ

多対多のリレーションシップは、複数のレコードが複数のレコードと関連づけられる形です。

多対多の例:「書籍と著者」

書籍ID書籍名
1深層学習
2Python入門
書籍テーブル
著者ID著者名
1山田
2鈴木
著者テーブル
書籍ID著者ID
11
12
22
書籍と著者のリレーションテーブル

一つの書籍は複数の著者によって書かれ、一人の著者は複数の書籍を書くことがあります。これが多対多のリレーションシップです。

まとめ

データベース設計で一対多と多対多のリレーションシップを理解することは、効率的なデータ取得、更新、管理に繋がります。この記事で説明した一対多の「学生と成績」、多対多の「書籍と著者」の例を参考に、自分のプロジェクトに適用してみてください。

コメント

コメントする

目次