
162
本のレビューサイトのテーブルを設計
する例② ~データの関係性を把握~
5-17
どのようなデータをデータベースに保存するか整理するため、5-16で
洗い出した要件をもとに、エンティティや属性の抽出をします。その結果
は図5-29 のようになりました。
ページ上で登場する人物やモノをエンティティとして抽出しますが、今
回は「ユーザー」と「本」と「レビュー」が挙げられます。また属性とし
て、エンティティに付随するページ上で入力したり出力したりする情報を
挙げていきます。例えばユーザーの属性として、登録時に入力されるユー
ザー名やパスワード、自己紹介の情報があります。その他に、ページ上で
は新しく登録された本の順に表示する機能があるので、本の属性として登
録日も追加しました。このように
していきます。
書き出したエンティティと属性をER図で表すと、図5-30 のようになり
ました。1人のユーザーは複数のレビューを投稿できるので、「ユーザー」
と「レビュー」は 1 対多の関係になります。また、1冊の本に対して複数
のレビューが投稿されるので、「本」と「レビュー」は1 対多の関係にな
ります。お気に入り機能では1 人のユーザーが複数の本をお気に入りにで
き、1 冊の本は複数のユーザーからお気に入りにされるので、「ユーザー」
と「本」は多対多の関係となります。
このようにER図で表すことで、一目でエンティティとそれに付随する
属性、そしてリレーションシップが把握でき、テーブル設計に生かすこと ...