こんにちは。小川智也です。
本日は夏休み毎日投稿 Day9ということで、Ringee(リンギー)を開発するに当たってのDB設計を行っていこうと思います。
最後までぜひお楽しみください。

小川智也と申します。Webプログラマーな中学2年生です。
このブログでは主にITやガジェット系の情報を発信しています!
▼ おすすめリンク ▼
【 X(旧Twitter)・いえPay・個人事業主・ITパスポート・お問い合わせ 】
DBに含めるもの
ということで、まずはDBのどのような内容を入れなければいけないかを考えていきます。
今回はいえPayの時のようなテキストベースの管理ではなく、面倒くさがらずちゃんとMySQLを使っていくのでそのへんも考えながら設計していきます。
具体的にはこんな感じです。
- ユーザー
 - 請求データ&諸々のステータス
 - 個別の請求アイテム(ユーザーと請求データに紐づける)
 - 支払い状況(請求IDに紐づける)
 - 共有リンク(請求IDに紐づける)
 

思って頼りはシンプルな構成...なのか?
全体の設計ルール
次に、DBを作るうえで全体のルールもいい感じに決めておきます。
- テーブル名は 
ringee_(機能名)のような形式にする - 各項目にはユニークなIDをPHPの 
uniqid関数でつけ、プリフィックスはRE(テーブルごとの英大文字1文字)_にする(例: ユーザーならREU_) - 変な略称は使わず、わかりやすい名前をつける
 - 原則区切り文字はアンダーバーを使う
 
詳細なDB設計
含める機能や設計ルールも決め終わったところで、一旦仮で詳細を決めていきます。
- ringee_user (ユーザー)
- user_id ユーザーID PRIMARY VARCHAR 例:REU_69abcdefghijk
 - user_name ユーザーの名前 VARCHAR 例: 小川 智也
 - user_email メールアドレス VARCHAR 例: t.ogawa(at)ogatomo.net
 - created_date ユーザー作成日時 DATETIME
 
 - ringee_requests (請求データ)
- req_id 請求ID PRIMARY VARCHAR 例:REQ_69abcdefghijk
 - req_user ユーザーID 例;REU_69abcdefghijk
 - req_name 請求名 VARCHAR 例;新PC購入
 - req_dec 請求詳細 VARCHAR 例;新PC購入のための予算がほしいです。
 - req_total 合計金額 INT 例:110000
 - req_status 現在のステータス 例;draft
 
 
時間がないので今日はここまでにします!
まとめ
いかがだったでしょうか。本日は夏休み毎日投稿 Day9ということでRingee(リンギー)のDB設計を行ってみました。
時間がなかったせいでほぼ出来ていませんが、詳細な部分は明日の記事であったり、今後の開発を進めながら考えていきたいと思います。
最後まで見ていただき、ありがとうございました。

この記事がいいと思った方はぜひ他の記事も見ていってください!
X(旧Twitter)のフォローもよろしくお願いします!


