2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

フリマアプリ、ER図の作成

Posted at

# はじめに
自分のメモ用に書いています
チーム開発でフリマアプリのコピーサイトを作成することになり、私はDB設計を担当することになりました。
DB作成の前にER図を書くことに・・・あぁ不安だ〜!

1. 機能の洗い出し

まずは作成するアプリケーションを実際にいじってみることが大切です。
新規登録を行ったら何を入力するのか、ログインするときに何を入力するのか
これとこれってリレーションを結んだらいけるんじゃないの?....など
とにかく触って紙に書き出してみましょう。

2.テーブルごとにまとめてみる

まずはUserから書き出してみることにしました。

ログインする際に必要だったものは
nickname, email, passwordの3つでした。
なので表にすると以下のようになります。

Usersテーブル

nickname email password

続いて商品に関して必要な事項をあげてみましょう
商品に関して必要事項を上げるときりがありませんが
ポイントとして、「必要最低限の機能だけ書いてみる」ことにしました
ブランド名、サイズ、カテゴリーなどは、それぞれでテーブルを作成することにしました
後回しにすることでそのテーブルに必要のものだけを書き出すことができます。

今回私が必要だと思ったものは以下のものです

商品名
価格
商品説明
商品の状態
送料
送り元
出品してから何日たったか
購入方法

という風に洗い出していくといいかもしれないです。

テーブルの関係性とカラム追加

テーブルが一通りできたら関係性を作っていきましょう
例えば、上記で出したUserとitemの関係は

・1人ユーザーは複数の商品を持てる
(has_manyの関係)
・1つの商品は1人のユーザーが売買をする
(belongs_toの関係)

という風にまとめれるので、テーブルの関係ができましたね。

なのでitemsテーブルに「user_id」のカラムを追加することができます。

このようにテーブル関係を考えながら追加するカラムを決めていくという風にやるといいですね。

最後に

自分が見てわかるようにざっくりと書いてみました
ご意見ご感想ありましたらお願いします。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?