私はホテル予約システムを開発しようとしているので、どのアプローチがシステムアーキテクチャに最も適しているのか不思議です。今のところ、特定の日付にホテルルームを予約すると、ホテルルームの詳細、顧客の詳細、予約の詳細が表示されます。客室利用可能な効率のための予約システムアーキテクチャ
ルーム利用可能=合計ルーム - ルーム予約
今私は、顧客が選択した特定の日に撮影した予約の部屋に基づいて、指定されたその日に利用できる部屋を検索するためのクエリを使用しています。たとえば、顧客は3 August 2016
から6 August 2016
までの部屋を予約します。 8月3日から8月6日の間に予約の詳細から日付を取得します。私は毎日このSQL文にループします。
Select * from bookingDetails where theDate between StartDate and EndDate and RoomType = 'Something'
次に、予約された部屋を合計し、合計ルームを取得するように日付を設定します。 このステートメントは、お客様が日付を選択したときにトリガーされます
またはもう1つのテーブルを使用可能ルームとして作成し、合計ルームで5年カレンダーを保存する必要があります。顧客がいつ予約をしたかを推測します。
各部屋の詳細ではなく、テーブルの一般的な客室情報です。例えば、部屋、タイプ、価格、ホテルの詳細の一般的な説明など。したがって、私はそれをフィルタにするためにRoom_IDを使用することはできません。 – hiboss
それはおそらくあなたの質問に対する答えでしょう。 tbl_Rooms(ID、Number、Type、Floor、Etc);少なくとも3つのテーブルが必要です。 tbl_Bookings(Room_ID、Client_ID、Date); tbl_Clients(ID、名前など); tbl_Bookingsテーブルで日付範囲を使用しようとすると、2番目のクエリを書き直す必要があります。 –