|
2 / 2 / 0
Регистрация: 08.03.2020
Сообщений: 141
|
|
Связь многие ко многим13.03.2021, 14:40. Показов 1928. Ответов 9
Метки нет (Все метки)
Добрый день. У меня есть 2 таблицы: StaffVolunteer-волонтер и GroupStaffVolunteer.-группа волонтеров Один волонтер может состоять в нескольких группах, и группа состоит из нескольких волонтёров, следовательно, чтобы организовать группу волонтеров, нужно прибегнуть к связи многие-ко-многим.
0
|
|
| 13.03.2021, 14:40 | |
|
Ответы с готовыми решениями:
9
Связь один ко многим или многие к многим Связь многие-ко-многим SQL и Связь многие ко многим |
|
2 / 2 / 0
Регистрация: 08.03.2020
Сообщений: 141
|
|
| 13.03.2021, 14:54 [ТС] | |
|
Как я поняла, я неправильно реализовала связь. Нужно еще добавить одну таблицу, в которой будет информация о группе (номер группы и название), а таблицу GroupStaffVolunteer превратить в связующую и оставить только поля (GroupID, StaffVolunteer).
Мой вопрос такой: в таблице SearchCampaign должен быть внешний ключ на группу волонтеров. На что мне нужно ссылаться? На таблицу с информацией о группе (номер группы и название) или на связующую таблицу? Подскажите пожалуйста. Прикрепляю часть диаграммы БД
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,911
|
|
| 13.03.2021, 15:25 | |
|
для m:n нужны 3 таблицы - две исходные и одна граничная. в граничной как минимум 2 FK и остальные филды по вкусу
0
|
|
|
2 / 2 / 0
Регистрация: 08.03.2020
Сообщений: 141
|
|
| 13.03.2021, 15:31 [ТС] | |
|
Я создам 3-ю таблицу, будет: Группа - ГруппаВолонтеров - Волонтер. Тогда какую из этих таблиц мне связать с
SearchCampaign ?(SearchCampaign - таблица в которой хранится ин-фа о мероприятии, в котором участвует группа волонтеров). Я пробовала связать с таблицей связкой - не вышло, так как хочу связать одно поле с составным ключом
0
|
|
|
2 / 2 / 0
Регистрация: 08.03.2020
Сообщений: 141
|
|
| 13.03.2021, 15:51 [ТС] | |
|
Какая связь верная?
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,911
|
|
| 14.03.2021, 12:10 | |
|
зачем юзать составные ключи? кому они нужны?
0
|
|
|
2 / 2 / 0
Регистрация: 08.03.2020
Сообщений: 141
|
|
| 14.03.2021, 12:42 [ТС] | |
|
Как зачем? Для реализации связи многие ко многим. Я так сделала
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,911
|
|
| 14.03.2021, 13:25 | |
|
и в где здесь составные ключи? и зарадиля они нужны в граничной сущности? там два FK и все от слова совсем
0
|
|
|
2 / 2 / 0
Регистрация: 08.03.2020
Сообщений: 141
|
|
| 14.03.2021, 13:40 [ТС] | |
|
Я читала, что в таблице не может быть 2 первичных ключа, поэтому, чтобы 2 поля были ключевыми, нужно создать составной ПК, в моем случае это (GroupID, StaffVolunteer).
Что вы имеете в виду под граничной сущностью? Для чего я все это делаю: мне нужно создать группы волонтеров. Так как в группе может быть несколько волонтеров, а один волонтер может входить в несколько групп, я сделала связь многие-ко-многим через вспомогательную таблицу. Теперь мне нужно, чтобы информация о группе волонтеров была в таблицы SearchCompaign. Типо такая-то группа волонтеров участвует в поисковом мероприятии. Я установила связь, возможно не верно. Я не утверждаю, что мой вариант верный, только ищу пути решения. Подскажите, как нужно тогда установить связи между таблицами, чтобы задуманная мною идея воплотилась в жизнь.
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,911
|
|
| 14.03.2021, 13:47 | |
|
граничная - это таблица, развязывающая m:n. Нафик там не нужен составной PK - достаточно суррогатного типа IDENTITY. Шоп не валялись orphan records настроить FK с каскадным удалением при удалении любой родительской записи. Если нужно на граничную сослаться еще еще откуда-нибудь - юзаем суррогатный ключ. И всех делов
0
|
|
| 14.03.2021, 13:47 | |
|
Помогаю со студенческими работами здесь
10
Связь многие ко многим... ошибка скрипта Связь "многие ко многим" Многие ко многим Запрос на выборку многие к многим Ограничение целостности в связи многие ко многим Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|