Добрый день,
Есть такая структура данных:
пользователигостиницыномератариф за номер (для одного человека, за 2-х и т.д.)
заявкиподзаявки (вот - тут больное место) - необходимый пункт (!?) , ссылающийся на тариф, в зависимости от кол-ва людей в комнате
процесс (назвал так элемент, где идут связи пользователя и комнаты для данной заявки )
К большому сожалению - нельзя указать определенный коэффициент для каждого отеля, который рассчитывает стоимоть комнаты для определенного кол-ва человек - и это число может быть произвольным.
Пользователь создает заявку, где может выбрать произвольное кол-во комнат и заселить ими произвольное кол-во людей.
Структура:
users
---------
idhotels
---------
idbids
---------
idrooms
---------
id
hotel_idtarifs
---------
id
room_id
subbids
---------
id
bid_id
tarif_idmc_processes
---------
id
user_id
room_id
subbid_id
Тут 2 момента, которые меня интересуют:
1. Мне очень не нравится , что при редактировании кол-ва людей в определенной комнате (
processes ) дополнительным процессом будет меняться тариф (
tarif_id) в подзаявке (
subbids) , это кажется очень нехорошо(
2. Если 1. неизбежный вариант - можно ли сделать в
postgres, чтобы данная функция происходила именно в нем. К примеру:
if update count () of processes where subbid_id = x ... update subbids set tarif_id = (count () of processes where subbid_id) where subbids.id = x
Вот только тут непонятно откуда брать
Х.
3. Имеет ли смысл объединять в иерархичность
bids и
subbids ,
rooms и
tarifs , если они по идее - разные сущности и не являются классификаторами?