####データベース設計とは?
サービスやシステムに必要な情報をどのようにデータベースで管理するか決める作業のことです。
####なぜデータベース設計が必要なのか?
・データ同士の関係性を明確にする事ができ効率の良いデータ操作を可能にする
・サービスが複雑になった場合でも簡易的にデータの操作が可能になる
####データベース設計はいつ行うのか?
データベースはサービスやシステム開発の最初の段階で行います。
プログラムを書き始める前にデータベース設計を行います。
###データベース設計を構成する3つの要素
####1.エンティティ
サービスの中で管理する必要のある情報のこと。
例) TWITTERなどの場合
ユーザー情報や投稿内容を保存する必要があります。
これらの管理する情報のことをエンティティといいます。
####2.エンティティの属性
属性とは、エンティティが個別にもつ情報です。
例) ユーザーというエンティティが持っている属性
・名前 ・パスワード ・emailアドレス
####3.リレーション
リレーションとは、エンティティとエンティティに存在する関係性のこと。
例) Twitterの場合
ユーザーにはたくさんの投稿を持っています
ツイート1つには投稿したユーザーがいます
このようにユーザーテーブルとツイートテーブルの関係性があります。
###テーブルの行と列の役割
テーブルは表の形式で構成されています。
・レコード テーブルの行のこと。エンティティの具体的なデータを表す
・カラム テーブルの列のこと。エンティティの属性を表す