LoginSignup
6
9

More than 5 years have passed since last update.

DB設計の考え方やポイントについて~超初級編~

Last updated at Posted at 2018-08-02

はじめに

この記事は、僕がメンターから教わったDB設計の考え方についてまとめたものになります。

設計に取り掛かる前の大前提

リリースまでに必要となるであろう、おおよその機能についての洗い出しがしっかり終わっていること。

DB設計の考え方

  1. column を細かく洗い出すより、table 同士の relation が明確になることのほうが大切
  2. 最初からできるだけアルファベットでそのまま書く(カラム名を日本語にすると二度手間であるため)
  3. ある程度拡張性も意識して設計することが必要
  4. 正規化についての理解を深めておくこと

参考

ファーストステップ

  • 各テーブル同士の関連について、手書きで書いてみる
  • 機能の洗い出しに不安があるなら、もう一度見直す
  • テーブル同士の関係性が明確になったら、それぞれのテーブルに必要なカラムを書き出す

レベル0:テーブル同士の関係性について考える

新規ドキュメント 2018-08-03 00.52.20_1.jpg

ステップ1

まずは、各テーブルにどんなデータが保存されているかを、丸で囲って洗い出す。
(ここではカラム同士の関係性は考慮しない)

ステップ2

丸で囲んだテーブル同士に、どんな関係性があるかを考える。

ポイント

  • テーブル同士の関係性が多対多である場合、中間テーブルを作る。 (railsの場合は、特徴のない中間テーブルを作成する場合、テーブル同士の名前をスネークケースで表示する。 eg:article_tags
  • テーブル名は必ず複数形になるので、手書きの際も必ず複数形で書くように意識する
6
9
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
6
9