Как привязать к одному полю одновременно несколько значений из другой таблицы?

Ferum1

Добрый день!Пример, есть несколько пользователей у которых установлено произвольное количество программ.Создал таблицу Person (пользователи), создал таблицу Program (программы). Если бы у пользователя была только одна прграммы проблем не возникло (можно было бы связать тве таблицы по двум столбцам). А как быть если программ много(не буду же я под каждую программ создавать уникальный столбец в таблице Person)? Другой вариант в одном столбце каким то чудом прописывать несколько значений, но это то же не хорошо, так стакими значениями сложнее будет работать и конечно тормоза будут при запросах типа у какия пользователей стоит какая программа.Надеюсь есть какое то цивилизованное средство для данного случая (я не думаю, что он уникальный).
2 ответа

Ferum1

Добрый день!Пример, есть несколько пользователей у которых установлено произвольное количество программ.Создал таблицу Person (пользователи), создал таблицу Program (программы). Если бы у пользователя была только одна прграммы проблем не возникло (можно было бы связать тве таблицы по двум столбцам). А как быть если программ много(не буду же я под каждую программ создавать уникальный столбец в таблице Person)? Другой вариант в одном столбце каким то чудом прописывать несколько значений, но это то же не хорошо, так стакими значениями сложнее будет работать и конечно тормоза будут при запросах типа у какия пользователей стоит какая программа.Надеюсь есть какое то цивилизованное средство для данного случая (я не думаю, что он уникальный).
правильно думаеш,пользователи и программы у тебя связанны отношением М:М (многие-к-многим)для реализации такой связи в схеме данных, нужно создать доп.таблицу PersonProgram {id_Person;id_Program}


Ferum1

qwerty112,Хороший совет, спасибо!