Nehmen Sie die Rätselraten aus Ihren Abfragen und Ihrem Design heraus, indem Sie beschreibende Namen und Titel verwenden.
Rooms
hat People
aber ich würde annehmen das ist eigentlich so etwas wie Capacity
oder Room Size
. Dies vermeidet Verwechslungen mit der bereits verwendeten People
Spalte in Forms
. Natürlich könnte dies auch verbessert werden ... so etwas NumberOfGuests
wäre jetzt wahrscheinlich informativer für Sie und jeden, der Ihre Datenbank später abfragt. Ich würde alle Spalten- und Tabellennamen überprüfen, um sicherzustellen, dass sie präzise und klar sind.
Räume haben keine automatische Inkrementierung, wahrscheinlich weil Sie erwarten, dass Sie Ganzzahlen verwenden, um Räume zu identifizieren. Dies mag funktionieren, aber Sie können Probleme vermeiden, indem Sie Ihre Geschäfts- / Benutzerraumidentifikation von Ihrer Datenbanklogik trennen. Wenn in Raum 13 ein grausamer Mord begangen wird, der ihn unbrauchbar macht, und der neue Manager, nicht im geringsten abergläubisch oder besorgt über solche Angelegenheiten, diesen Besenschrank auf Etage 14 in Raum 13 verwandelt, weil er groß genug ist und offen gesagt die Qualität unseres Hotels abnimmt .... du bist beschissen. Mit einem von Ihrer Raumbezeichnung getrennten DB-Schlüssel können Sie alle Datensätze und die DB-Integrität sowie die Tatsache beibehalten , dass eine wesentliche Änderung vorgenommen wurde (welche anderen Arten der Änderungsverfolgung und Details sollten wir unterstützen?).Room 13 | RoomPK 13
kennt sich als Raum 13 aus, kann aber jetzt tatsächlich Room 13 | RoomPK 132
auch aufgenommen werden. Es ist wichtig, wenn jemand versucht, Sie zu verklagen, als er in Zimmer 13 war, und der gesamte Fall hängt davon ab, in welchem Zimmer 13 er übernachtet hat. Entschuldigung, Ihr Hotel hat viele Probleme.
Die letzte Frage ist, wo sind die Transaktionen? Ich würde erwarten, dass ein Formular auch FKs für Bill (s?) Und Rooms (s?) Haben muss. Die Leute müssen irgendwo ein- und auschecken und wir müssen sie speziell für dieses Ereignis und diese Assoziation belasten. Eine Familie kann zwei Zimmer für zwei Tage bekommen, dann morgens auschecken und abends wieder einchecken. Sie sind dann fest davon überzeugt, dass sie nur eine einzige Rechnung erhalten ... Oder jemand, der zwei Nächte bleibt, benötigt zwei Rechnungen aufgrund von zwei verschiedenen Zahlungsmethoden (Kreditkarte, Bargeld, Arbeit, persönlich). Wahrscheinlich benötigen Sie jetzt Nachschlagetabellen, um die Feinheiten der Abrechnung und Buchung zu unterstützen. Die Leute teilen Rechnungen, wechseln die Räume und kehren hoffentlich wieder zurück - all das müssen Sie unterstützen.