Настройка базы данных MySQL от одного до многих

0

У меня возникли проблемы с тем, чтобы обдумать, как это сделать. У меня две таблицы:

  • Проекты
  • Разделы

1 проект может принадлежать многим разделам.
1 может иметь много проектов.

  • Как бы я решил настроить это, было бы это от многих до многих отношений или от одного до многих?
  • Было бы лучше, если бы я создал таблицу поиска?
Теги:

3 ответа

1
Лучший ответ

Это простое соотношение "один ко многим". Эти два требования, указанные выше, составляют одно и то же. Не требуется таблица поиска. В вашей таблице разделов вы просто имеете fk обратно в таблицу проектов

  • 0
    1-ко-многим было бы, если бы только проекты могли иметь много разделов - не оба пути.
  • 0
    Эти два требования на самом деле не равны. Я прочитал это в первый раз и подумал, что они это сделали, но: - 1 проект может принадлежать многим разделам (где проект относится к разделу), и - 1 раздел может иметь много принадлежащих ему проектов (где раздел относится к проекту). ). Следовательно, у вас есть отношение многие ко многим, так что объединяющий стол в порядке, как предлагает OMG Ponies.
2

Это будет много-много отношений или один-много?

Он рассматривается как "многие ко многим", потому что многие проекты могут ссылаться на разделы many.

Вам понадобится реализовать таблицу, которая находится между projects и sections, используя внешние ключи от обоих, чтобы быть первичным ключом. Пример:

PROJECTS_SECTIONS_XREF таблица

  • PROJECT_ID, pk, fk
  • SECTION_ID, pk, fk

Соглашение об именах зависит от вас, но я рекомендую что-то информационное, используя имена обеих таблиц. Корреляция, перекрестные ссылки (xref), поиск и т.д. На прошлой неделе или около того было два вопроса относительно соглашения об именах: все имена являются синонимами, выбирайте все, что вам нравится.

0

Создайте таблицу отношений... позвоните в ProjectSections с полями ProjectId и SectionId. Вы создаете связь между проектом и разделом в ProjectSections, создавая запись с ProjectId и SectionId.

Затем ProjectSections связывает проекты и разделы вместе.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню