Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Здравствуйте.
Необходимо хранить подробную информацию о пользователе, включая то, какими языками он владеет.
Первое, что приходит на ум, так это хранение в виде названий этих самых языков, перечисленных, например через запятую – русский,французский,немецкий.
Поиск же производить по WHERE `language` Like 'немецкий', но вероятно поиск будет очень долгий, да и выглядит все это как костыль.
Хотелось бы иметь возможность хранить в одной колонке идентификаторы языков, а не их названия.
Как в этом случае поступают социальные сети?
Неактивен
Я схитрю и скажу, как надо сделать, а не то, как поступают социальные сети
CREATE TABLE users (id INT, ...);
CREATE TABLE languages (id INT, name VARCHAR(20));
CREATE TABLE user_languages (user INT, language INT, UNIQUE (user, language), INDEX (language, user));
А социальные сети явно это как-то денормализуют.
Неактивен
Страниц: 1