「順番待ちシステム」のDB設計〜複数を管理版〜

データベース設計 設計例

本記事はDB設計の提案を記載します。
この設計はあくまで一例です。
これを雛形として、ご自分の構築したいシステムに合わせてご利用ください。

概要

1店舗が複数の順番を管理することができます。
利用ケースとしては、複数の窓口、複数の商品、複数の支店などが考えられます。

ログイン機能や課金機能、ユーザー登録機能などは、本記事とは切り離して考えられるので、ここには含みません。(別記事にする予定です)
そのため、エンドユーザーへの順番伝達はエンドユーザー自身に覚えてもらう必要があります。
代替案としては番号札を渡す、その場でQRコードなどを読み込んでもらうなどがあります。

設計詳細

ER図

erDiagram shops ||--o{ counters : hasMany shops { int id varchar email varchar name } counters { int id int shop_id int counter }

テーブル

shops: 店舗

物理名論理名Null備考
idIDintprimary
emailメールアドレスvarchar(255)unique
name店舗名varchar(255)

counters: 順番

counterカラムが現在の順番を表しています。
次の順番にするためにはcounterカラムの値をインクリメントしてください。

物理名論理名Null備考
idIDintprimary
shop_id店舗IDint
counter順番intdefault: 0

コメント

タイトルとURLをコピーしました