Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связь много ко многим между тремя сущностями / 12 сообщений из 12, страница 1 из 1
17.10.2016, 12:11
    #39328096
krasnodar95
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
Есть три таблицы Рестораны(Р), КатегорииБлюд(КБ), Блюда(Б)
В Р может быть свой набор КБ и КБ в свою очередь может быть во многих ресторанах, получается КБ *<->* Р
В Р может быть свой набор Б и Б может быть во многих Р, Р *<->* Б
В КБ тоже свой набор Б но Б может быть в одной КБ, КБ 1<->* Б
Я думаю над схемой но мне кажется что у меня получается как то сложно. Порекомендуйте как это лучше реализовать?
...
Рейтинг: 0 / 0
17.10.2016, 12:29
    #39328115
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
krasnodar95,
...
Рейтинг: 0 / 0
17.10.2016, 12:33
    #39328116
krasnodar95
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
Naf, Спасибо за быстрый ответ) А если мне понадобится выбрать список категорий по ресторану? Вы предлагаете между Р и БР тоже создать таблицу связей?
...
Рейтинг: 0 / 0
17.10.2016, 12:34
    #39328117
krasnodar95
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
krasnodar95Naf, Спасибо за быстрый ответ) А если мне понадобится выбрать список категорий по ресторану? Вы предлагаете между Р и БР тоже создать таблицу связей?
не БР а КБ я имею ввиду
...
Рейтинг: 0 / 0
17.10.2016, 12:37
    #39328119
krasnodar95
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
Naf, И еще мне нужно выбирать блюда по определенной категории в определенном ресторане
...
Рейтинг: 0 / 0
17.10.2016, 12:38
    #39328120
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
krasnodar95Naf, Спасибо за быстрый ответ) А если мне понадобится выбрать список категорий по ресторану? Вы предлагаете между Р и БР тоже создать таблицу связей?
Список категорий одного ресторана примерно так:
Код: sql
1.
2.
3.
4.
5.
select distinct КатегорииБлюд.Наименование
from БлюдаРесторана
left join Блюда on БлюдаРесторана.КлючБлюда = Блюда.Ключ
left join КатегорииБлюд on Блюда.КлючКатегории = КатегорииБлюд.Ключ
where БлюдаРесторана.КлючРесторана=:КлючРесторана
...
Рейтинг: 0 / 0
17.10.2016, 12:43
    #39328123
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
krasnodar95,
А Вы уверены, что блюдо может быть только в одной категории? Имхо в разных ресторанах одно и то же блюдо вполне может принадлежать к разным категориям. Итого для блюд нужно-таки отношение m:n, но не с категориями, а со связующей таблицей КатегорииВРесторане.
Вообще на практике может оказаться, что иметь общую номенклатуру блюд для всех ресторанов не имеет большого смысла - борщ в ресторане "Пушкинъ" и в ресторане "у Ашота" все равно будет иметь разные рецепты, ингридиенты, цены, не говоря уж про то что многие рестораны захотят сделать "фирменное" название.
...
Рейтинг: 0 / 0
17.10.2016, 12:43
    #39328124
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
krasnodar95Naf, И еще мне нужно выбирать блюда по определенной категории в определенном ресторане

аналогично:
Код: sql
1.
2.
3.
4.
5.
select Блюда.Наименование
from БлюдаРесторана
left join Блюда on БлюдаРесторана.КлючБлюда = Блюда.Ключ
where БлюдаРесторана.КлючРесторана=:КлючРесторана
and Блюда.КлючКатегории=:КлючКатегории
...
Рейтинг: 0 / 0
17.10.2016, 12:46
    #39328126
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
Кот Матроскинkrasnodar95,
А Вы уверены, что блюдо может быть только в одной категории? Имхо в разных ресторанах одно и то же блюдо вполне может принадлежать к разным категориям. Итого для блюд нужно-таки отношение m:n, но не с категориями, а со связующей таблицей КатегорииВРесторане.
Вообще на практике может оказаться, что иметь общую номенклатуру блюд для всех ресторанов не имеет большого смысла - борщ в ресторане "Пушкинъ" и в ресторане "у Ашота" все равно будет иметь разные рецепты, ингридиенты, цены, не говоря уж про то что многие рестораны захотят сделать "фирменное" название.
это ты его зря так сильно напрягаешь, у него скорее всего курсовая, пусть с этим разберется
...
Рейтинг: 0 / 0
17.10.2016, 12:57
    #39328131
krasnodar95
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
Naf, Кот Матроскин, спасибо за советы. Я рассмотрю оба варианта
...
Рейтинг: 0 / 0
18.10.2016, 07:44
    #39328650
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
Кот Матроскинkrasnodar95,
А Вы уверены, что блюдо может быть только в одной категории? Имхо в разных ресторанах одно и то же блюдо вполне может принадлежать к разным категориям. Итого для блюд нужно-таки отношение m:n, но не с категориями, а со связующей таблицей КатегорииВРесторане.
Вообще на практике может оказаться, что иметь общую номенклатуру блюд для всех ресторанов не имеет большого смысла - борщ в ресторане "Пушкинъ" и в ресторане "у Ашота" все равно будет иметь разные рецепты, ингридиенты, цены, не говоря уж про то что многие рестораны захотят сделать "фирменное" название.


так зависит от вида ресторана.
если сетевой, то там наоборот все блюда стандартные, например, как в "ресторане Золотые Дуги" ....
...
Рейтинг: 0 / 0
18.10.2016, 10:11
    #39328740
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь много ко многим между тремя сущностями
MasterZivКот Матроскинkrasnodar95,
А Вы уверены, что блюдо может быть только в одной категории? Имхо в разных ресторанах одно и то же блюдо вполне может принадлежать к разным категориям. Итого для блюд нужно-таки отношение m:n, но не с категориями, а со связующей таблицей КатегорииВРесторане.
Вообще на практике может оказаться, что иметь общую номенклатуру блюд для всех ресторанов не имеет большого смысла - борщ в ресторане "Пушкинъ" и в ресторане "у Ашота" все равно будет иметь разные рецепты, ингридиенты, цены, не говоря уж про то что многие рестораны захотят сделать "фирменное" название.


так зависит от вида ресторана.
если сетевой, то там наоборот все блюда стандартные, например, как в "ресторане Золотые Дуги" ....
В сетевых ресторанах вряд ли будет разный список категорий блюд.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связь много ко многим между тремя сущностями / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]