LINEアプリの日程調整機能をデータベース設計してみた

2024/12/21に公開

概要

LINEアプリの日程調整機能をデータベース設計してみました。
実際にスマホ画面でLINEアプリをポチポチ操作しながら、LINEアプリの日程調整機能の仕様を分析しました。
その成果物として、LINEアプリの日程調整機能のER図を作成しています。

また、本記事は自身のバックエンドスキルを証明する一つの材料として執筆しております。

詳細

2つ成果物を作成しております。

  1. LINE日程調整機能_画面フロー図
  2. LINE日程調整機能_ER図

1.LINE日程調整機能_画面フロー図

LINE日程調整機能の概要については、LINE公式日程調整機能ドキュメントをご参照ください。

2. LINE日程調整機能_ER図

LINE日程調整機能に焦点を当ててテーブル設計を行い、ER図を作成しました。

データベース設計の要所解説

  • 第3正規化を徹底する
    • 理由
      • データ保持効率が高い
      • RDS/Aurora は高性能であるため、非正規化を行わなくても十分にパフォーマンスを確保できる
  • 招待テーブルは、ポリモーフィックリレーションで表現する
    • 理由
      • RDS/Aurora は高性能であるため、複雑な構成を避け、シンプルさを優先した設計が望ましい
  • ステータスを管理するカラムは、0始まりの数値で管理する
    • 理由
      • boolean (true/false) では拡張性が低く、将来的なステータス追加が難しい
      • 数値にすることで、0(偽)と1(真)のような二値管理からステータス用途まで、一貫して利用しやすくなる

Discussion