設計したいサービスについて
DB設計の勉強中の初心者です。現在勉強のためホテル予約サイトのDB設計を考えています。
Airbnbやじゃらんのようなサービスを想定しています。
サービスのフロー
ユーザーがエリア、宿泊日などの条件で検索→条件にマッチするホテルのプランが表示→選んで予約
前提
「誰が何日から何日までどの客室タイプを予約しているか?」という情報は「予約テーブル」で管理しています。
※予約は具体的な部屋単位ではなく部屋タイプ単位で管理しています。
ホテルは予約サイトとは別に当日のチェックインチェックアウト状況を管理するようなサービスを持っているはずなので、このサービスでは部屋タイプだけ決めといて実際どの部屋に割り当てられるかはそっちで何とかしてくれというスタンスです。
もしこのサービスでも部屋単位で管理すべきなら教えてください!
部屋の空き状況をチェックする際は「予約テーブルから予約済の(希望する部屋タイプの)部屋数を数え、(希望する部屋タイプの)部屋の総数からそれを引く」ことで出すことができます。
しかし、毎回空き状況確認するために予約テーブルから計算するのはパフォーマンス的に良くないのでは?と思いました。
聞きたいこと
「客室タイプ別空き状況テーブル」なるものを別で作るべきでしょうか?
これは日ごと、客室タイプごとに空き部屋数を持っているテーブルです。
それとも冗長になるため予約テーブルだけにするべきでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/11 13:36
2021/07/11 14:41