1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2024-12-22

概要

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

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

本記事は下記のサービスにて公開しております。公開日時:2024年12月21日
複数のプラットフォームで発信することで、多くの方にご覧いただき、少しでも参考になれば幸いです。

  • Zenn
  • Qiita
  • Twitter
  • LinkedIn
  • Findy
  • Forkwell
  • LAPRAS
  • 職務経歴書のレジュメ
  • etc

詳細

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

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

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

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

line-schedule-flow.png

2. LINE日程調整機能_ER図

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

line-schedule-er-design.drawio.png

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

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?