初めて現場で経験したDB設計、その中でも特にテーブル定義に焦点を置いて学んだ手順をまとめていきます。参考書に書いてあることと被る内容もありますが、現場ならではの工夫などもあるので最後まで読んでいってください。
※権利上の問題に抵触しないよう、今回は管理者テーブルのみ例に出しております。本来であれば他にもたくさんのテーブルを扱います。
目次
- 要件確認
- エンティティの洗い出し
- figmaでざっと書いてみる
- スプレッドシートでテーブル定義書作成
- ER図作成
1. 要件確認
はじめに要件の確認をします。当たり前ですが、何を作るのかがわからないとDBの設計などできません。思いつく限りどういうものを作るのか書き出したりして、不明瞭な部分を別で作ったQ&Aシートに書き出していきましょう。
2. エンティティの洗い出し
次にエンティティを洗い出します。エンティティとは「管理するデータ」のことです。
例えばQiitaのトップページで言えば、ヘッダーロゴなどコードにベタ貼りしているものは管理されていませんが、フォロー中のタグなどDBに格納されそうなものを管理するデータとし洗い出していきます。
3. figmaでざっと書いてみる
次に、エンティティの洗い出しで判明した必要なテーブルやカラムをfigmaに書き出していきます。これはいわゆるブレインストーミングのようなフェーズですので、他にも必要事項などあればどんどん書き出していくとなお良いです◎
4. テーブル定義書作成
いよいよ本番。スプレッドシートにテーブル定義書を作成していきます。
とはいえ、テーブル定義書作成に最低限必要な情報はテーブル名・カラム名・データ型・サイズ・null許容の5つ。前工程までで半分くらい出来上がっているも同然なのでそこまで身構える必要はないです。
上画像のように現場ごとに用意されているフォーマットを埋めていきます。
5. ER図作成
最後に、ER図を作成していきます。figma作成のより詳しいバージョンみたいなイメージです。専用の作成サイトなどいくつかあるので調べてみてください。
今回の作成サイト:https://app.diagrams.net/
作成したER図はテーブル定義書に新しいシートを作り、スクショを貼っておくと良いです◎
ここまでできたらDB設計は完了です。
まとめ
今回はDB設計の流れを説明していきました。この作業の流れでどの現場でも通用すると思いますのでご参考にしていただけますと幸いです。私の実体験からfigmaやスプレッドシートを例に出させていただきましたが、類似ツールはたくさんあるので現場に合わせて使い分けられるようにしていけるとグッドです。