Мне кажется, что определенный тип значения на самом деле не относится к отношениям "многие-многие". Если конкретное значение свойства является специфическим для каждого пользователя, то, похоже, это должна быть отдельная таблица. Такое ощущение, что между user
и другой таблицей, которая имеет настройки, уникальные для каждого пользователя, будет отношение 1-много.
Редактировать: Для таблицы 1 ко многим:
user_specific_prefs
------
id
user_id
pref_name (or possibly pref_id that indicates the type)
pref_value (store www.myhome.com for example)
user_id - это просто внешний ключ, возвращаемый конкретному пользователю. По сути, это (в логическом смысле) добавление дополнительных столбцов в пользовательскую таблицу. Но, как указывает Андомар, это добавляет сложности. Но если у вас есть огромное количество таких предпочтений, то может быть хорошим. С другой стороны, я видел таблицы с сотнями столбцов. Я не говорю, что это хорошо (и я их не создавал), но они выполняют свою работу и просты в использовании.