ホテル予約システムを設計しようとしています。
各ホテルにはいくつかの RoomType が割り当てられています。
RoomType: id | name | hotel_id
date_from
各ホテルは、特定の期間 (与えられたおよび)に対していくつかの数の RoomTypes を提供しますdate_to
。date_from
また、各クライアントは、指定された期間 (および)に、いくつかの RoomTypes のいくつかの数量を予約することができますdate_to
。
特定のホテルで利用可能なオファーを見つけて表示したり、毎日の各 RoomType の無料 (オファー済み - 予約済み) の部屋数を把握したり、無料の部屋の最小数に対してクエリを実行したりできる必要があります。
データの保管方法についてアドバイスをお願いします。最適なソリューションは何ですか? ストアド プロシージャを使用しない限り、いくつかのクエリ (特定の範囲内の特定のタイプの毎日の空き部屋の数を表示するなど) は、単純な SQL クエリでは実行できないことを知っています。ただし、できるだけ迅速かつ簡単に実装できるようにしたいと考えています。
これまで私は考えてきました:
予約
RoomOffer: hotel_id | date_from | date_to | quantity | room_type_id
と同じReservationと
RoomOffer: hotel_id | date | quantity | room_type_id
同じです。つまり、RoomOffer / Reservation を作成するときに、指定された範囲で毎日単一のレコードを作成します。
アドバイスはありますか?