У меня есть эти таблицы. В «Обзоре» я хочу быть уверенным, что поле «Пользователь» имеет то же значение поля Reservation.User (Пользователь, который сделал Резервирование), где Резервирование имеет идентификатор, указанный в поле Review.Id_Reservation. Как я мог это сделать?
CREATE TABLE Reservation
(
Reservation_Number SERIAL UNIQUE /*NOT NULL*/ PRIMARY KEY,
User VARCHAR(64) DEFAULT 'Member', FOREIGN KEY(User) REFERENCES User(Email)
ON UPDATE CASCADE
ON DELETE SET DEFAULT,
Place INT, FOREIGN KEY(Place) REFERENCES Place(Id_Place)
ON UPDATE CASCADE
ON DELETE NO ACTION,
);
CREATE TABLE Review
(
Id_Review SERIAL UNIQUE PRIMARY KEY,
Id_Reservation INT NOT NULL, FOREIGN KEY(Id_Prenotazione) REFERENCES Reservation(Reservation_Number),
User VARCHAR(64) NOT NULL DEFAULT 'Member', FOREIGN KEY(User) REFERENCES Reservation(User)
/*How can I check that this user is the same who made the reservation and not another one? */
Description TEXT,
Stars INT DEFAULT 0
Type BOOLEAN DEFAULT TRUE
Answer VARCHAR(64),
Private BOOLEAN DEFAULT FALSE
CHECK(Stars > 0 AND Stars <= 5)
);