Добавить в одно поле несколько значений из другой таблицы, sql
Постараюсь описать ситуацию У меня есть таблица с пользователями и в ней поле факторов и таблица с несколькими факторами. Можно ли их как-то связать так, чтобы можно было присвоить одному пользователю несколько факторов, сохранив это всё в одно поле? Чтобы под каждый фактор не создавать отдельное поле. Я конечно не уверена, но это можно сделать связью М:М и доп. таблицей?
Ответы (1 шт):
Сохранение нескольких значений в одно поле является нарушением первой нормальной формы реляционной модели. Реляционные СУБД, чтобы называться реляционными должны не позволять ее нарушать.
Так что прямой ответ - нет, нельзя.
И вообще как только в постановке задачи возникает слово "несколько", значит речь идет о таблице.
PS Существуют способы обхода ограничения, например, преобразовав некоторое количество свойств в одну длинную строку (CSV, XML, JSON...), но они замедляют как разработку так и работу БД