# はじめに
自分のメモ用に書いています
チーム開発でフリマアプリのコピーサイトを作成することになり、私はDB設計を担当することになりました。
DB作成の前にER図を書くことに・・・あぁ不安だ〜!
1. 機能の洗い出し
まずは作成するアプリケーションを実際にいじってみることが大切です。
新規登録を行ったら何を入力するのか、ログインするときに何を入力するのか
これとこれってリレーションを結んだらいけるんじゃないの?....など
とにかく触って紙に書き出してみましょう。
2.テーブルごとにまとめてみる
まずはUserから書き出してみることにしました。
ログインする際に必要だったものは
nickname, email, passwordの3つでした。
なので表にすると以下のようになります。
Usersテーブル
nickname | password |
---|
続いて商品に関して必要な事項をあげてみましょう
商品に関して必要事項を上げるときりがありませんが
ポイントとして、「必要最低限の機能だけ書いてみる」ことにしました
ブランド名、サイズ、カテゴリーなどは、それぞれでテーブルを作成することにしました
後回しにすることでそのテーブルに必要のものだけを書き出すことができます。
今回私が必要だと思ったものは以下のものです
商品名
価格
商品説明
商品の状態
送料
送り元
出品してから何日たったか
購入方法
という風に洗い出していくといいかもしれないです。
テーブルの関係性とカラム追加
テーブルが一通りできたら関係性を作っていきましょう
例えば、上記で出したUserとitemの関係は
・1人ユーザーは複数の商品を持てる
(has_manyの関係)
・1つの商品は1人のユーザーが売買をする
(belongs_toの関係)
という風にまとめれるので、テーブルの関係ができましたね。
なのでitemsテーブルに「user_id」のカラムを追加することができます。
このようにテーブル関係を考えながら追加するカラムを決めていくという風にやるといいですね。
最後に
自分が見てわかるようにざっくりと書いてみました
ご意見ご感想ありましたらお願いします。