Da ich versuche, ein Hotelbuchungssystem zu entwickeln, bin ich neugierig, welcher Ansatz für die Systemarchitektur am besten ist. Vorerst habe ich Hotel-Zimmer-Details, Kundendetails und Buchungsdetails, wenn ein Kunde an einem bestimmten Datum ein Hotelzimmer reserviert.Hotel Buchung Systemarchitektur für Zimmer verfügbar Effizienz
Zimmer verfügbar = Total Room - Zimmer reserviert
Jetzt verwende ich eine Abfrage Raum abzurufen verfügbar gegeben zu diesem Zeitpunkt auf der Grundlage des Zimmer reserviert auf dem bestimmten Datum gemacht, dass Kunden gewählt. Zum Beispiel, Kunden buchen ein Zimmer von 3 August 2016
bis 6 August 2016
. Dann werde ich das Datum zwischen 3. August - 6. August von Buchungsdetails abrufen. Ich werde jeden Tag in diese SQL-Anweisung schreiben.
Dann werde ich das Datum nehmen, um das reservierte Zimmer zusammenzufassen und das Total Zimmer zu bekommen. Diese Anweisung wird ausgelöst, wenn der Kunde das Datum
auswählt. Oder ich sollte eine weitere Tabelle als verfügbarer Raum erstellen und einen 5-Jahres-Kalender mit dem gesamten Raum speichern. Es wird abgeleitet, wenn der Kunde eine Zimmerbuchung vorgenommen hat.
Statt im Detail von jedem Zimmer, was ich habe, ist allgemeine Hotelzimmer Informationen für den Tisch. Zum Beispiel Gesamt Zimmer, Typen, Preis und allgemeine Beschreibung für die Hotelzimmer Details. Daher kann ich Room_ID nicht verwenden, um es herauszufiltern. – hiboss
Also, das ist wahrscheinlich eine Antwort auf Ihre Frage. Sie benötigen mindestens drei Tabellen: tbl_Rooms (ID, Number, Type, Floor, Etc); tbl_Bookings (Room_ID, Client_ID, Datum); tbl_Clients (ID, Name, usw.); Wenn Sie versuchen, einen Datumsbereich in der Tabelle tbl_Bookings zu verwenden, müssen Sie meine zweite Abfrage neu schreiben. –