Выбрана ли верная связь?

Выбрал связывание one-to-many. Просто чем дальше гуглю верное связывание, тем больше возникает диссонанс, что выбрана не верная связь.

Суть: Есть несколько областных центров, в этих областных центрах есть аптеки и пользователю допустим надо выбрать областной центр, после выбора областного центра ему выводятся все аптеки этого центра, далее он выбирает из списка подходящую для себя аптеку и после выбора аптеки ему выводятся все находящиеся там лекарства. По сути должно быть связывание one-to-many, но, что если обратная ситуация. Пользователь выбрал регион и в строке поиска ввёл нужное ему лекарство, то выводится список аптек в которых находится это лекарство, то есть если опираться на
определение
Связь "один ко многим" являются наиболее распространенным типом связи. В такого рода связях строка в таблице А может иметь много строк в таблице B. Но строка в таблице B может иметь только одну строку в таблице А. Например, таблицы "Издатели" и "Названия" имеют связь "один ко многим". То есть, каждый издатель выпускает много названий. Но каждое название принадлежит только одному издателю.
которое может быть я не правильно понял, то идёт нарушение связи. И возникла мысль, что нужно использовать many-to-many, но она вообще тут никаким боком не должна быть.
Вот моя диаграмма со связыванием.
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Город: Код, Название, …
Аптека: Код, Код города, Название, …
Лекарство: Код, Название, …
Товар:
Код, Код лекарства, Форма, Упаковка, Количество в Упаковке, …

Наличие:
Код хранения, Код аптеки, Код товара, Цена, Количество упаковок, …
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Armrisch
@Armrisch
Full Stack Developer
Не тут всё просто, у тебя ситуация простая связь один ко многим, одна область имеет много аптек а одна аптека имеет только одну область, в случае с лекарствами и аптекой подойдёт связь many to many так как одна аптека может иметь много лекарств, а одно лекарство в свою очередь может принадлежать к нескольким магазинам. Если раньше не работал с связю многие ко многим, то тут тебе нужно ещё создать связывающую таблицу где в полях у тебя будет что то типа
Id, аптека_id, лекарство_id
Ответ написан
Ваш ответ на вопрос

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

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