Задать вопрос

Как разработать БД для системы бронирования столиков?

Всем привет. Нужно разработать систему бронирования столиков ресторанов. Итак, есть таблица 1Рестораны (PlaceId, SomeFields). Есть таблица 3Столики (TableId, SomeFields). Их связывает таблица 2 РестораныИСтолики (PlaceId, TableId). То есть между 1 и 3 связь многие ко многим.

Далее есть таблица 5Заказы(BookId,SomeFields), которая связывается с таблицей столиков через таблицу 4СтоликиИЗаказы (TableId,BookId). Правильно ли я спроектировал это? У ресторанов много столиков, на каждый столик много заказов в разное время. Буду очень благодарен за ответы)
  • Вопрос задан
  • 3461 просмотр
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Mandor
@Mandor
Вы связали 1 и 3 способом "многие ко многим", это означает, что один и тот же столик может принадлежать нескольким ресторанам, не могу представить как такое может быть? В моём понимании каждый из ресторанов владеет своим набором столиков, в таком случае таблица 2 не нужна, а 1 и 3 должны быть связаны способом "один ко многим".

По поводу заказов: нужна одна табличка с заказами, в которой будет поле id_столика (BookId, TableId, SomeFields). Ваш вариант подошел бы для случая, когда заказ может быть сразу на несколько столиков.
Ответ написан
@Gregary Автор вопроса
Итак, как же все таки
1) 83384db98c854116ad2be1780e2c627d.png

2)5de85f3dcfa141cca3fdd1dc5c85180f.png

Все таки мне кажется первый правильнее. Иначе получается что к примеру в первом ресторане 30 столиков а с id от 1 до 30, а во втором Id будут уже от 30 до 60 к примеру. Можно ли как то сделать составной ID типа у одних столиков от 1 до 30 но с PlaceId 1, типа 1_1, 1_2 и тд?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы