※当サイトはアフィリエイト広告を含む場合があります

テクノロジー プログラミング

【Ringee開発記 #3】全体のDB設計をおおまかにしてみる①【夏休み毎日投稿 Day9】

2025年7月29日

こんにちは。小川智也です。

本日は夏休み毎日投稿 Day9ということで、Ringee(リンギー)を開発するに当たってのDB設計を行っていこうと思います。

最後までぜひお楽しみください。

智也
智也

この記事は夏休み毎日投稿2025として執筆されたものです。

夏休み毎日投稿2025のすべての記事は下記から閲覧いただけます。

智也
智也

小川智也と申します。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)のフォローもよろしくお願いします!

  • この記事を書いた人

Tomoya Ogawa

プログラマー / ブロガー / 個人事業主 / 中学2年生 / ガジェット Web系のプログラマー。「ブログで月1000円でも稼ぐ!」を目標に、学生という肩書を生かし最新技術をもっと身近に感じれるような情報発信をしています。

-テクノロジー, プログラミング
-,