我正在做一些预订系统,我已经提出了几个表,其中包括下面的三个表及其关系。
ROOM_PRICES
ROOM_TYPE VARCHAR (10), # e.g Suite
ROOM_CAPACITY INTEGER, # e.g 3
ROOM_PRICE INTEGER, # e.g 50
Primary Key ( ROOM_TYPE, ROOM_CAPACITY);
ROOMS
ROOM_NUMBER VARCHAR (3) PRIMARY KEY, # e.g A10, B21
ROOM_TYPE VARCHAR (10),
ROOM_CAPACITY INTEGER,
IS_RESERVED BOOLEAN DEFAULT FALSE,
RESERVATIONS
RESERVATION_CODE INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1),
ROOM_NUMBER VARCHAR (3) NOT NULL,
RESERVATION_TIMESTAMP TIMESTAMP NOT NULL,
START_DATE DATE NOT NULL,
END_DATE DATE NOT NULL,
TOTAL_PRICE INTEGER NOT NULL, # the value I'm looking for
CONSTRAINT RESERVATION_UNQ_TIMESTAMP UNIQUE (RESERVATION_TIMESTAMP),
CONSTRAINT RESERVATION_ROOM_FK FOREIGN KEY (ROOM_NUMBER) REFERENCES ROOMS
(ROOM_NUMBER)
考虑到您拥有room_number,我如何获得预订的总价。我还读到我不应该将total_price列存储在数据库中,而是在视图中或作为计算列获取。我在不了解SQL的情况下进行了数据建模,以了解程序和功能。
那么有人可以帮助我获得总价格的最佳方式,是否存储,或者我是否必须以某种方式更改模型......
我正在使用德比。而现在没有什么比优惠券更好,但价格可能会在未来发生变化,但不应因报道而改变已经保存的预订。我只想根据房间类型和容量以及逗留时间计算一次预订的total_price。价格是每晚。