Mail.ruПочтаМой МирОдноклассникиИгрыЗнакомстваНовостиПоискСмотриComboВсе проекты

MySql - как хранить ссылки на значения в других таблицах?

Aleksandr Boronaev Ученик (35), закрыт 8 месяцев назад
Есть главная таблица (словарь: слово и перевод), у которой id - ключ.

Вторая таблица пользователи.
Если пользователь выучил слово под id 1, оно больше отображаться не должно.

Для реализации я хочу создать вторую таблицу, которая будет хранить эти значения:
user_name | words_id
alex | 1 55 92 45 -> id слов, которые больше отображать не нужно
jane | 42 123 44

То есть, добавлять значения в одну строку, используя пробел как разделитель.

Это правильный способ?
Лучший ответ
Андрей Искусственный Интеллект (145337) 8 месяцев назад
Нет, это совершенно НЕ правильный способ.

Стандартный механизм называется "связь многие-ко-многим" и объясняется в любом учебнике SQL.

Создаётся ОДНА дополнительная таблица, содержащая id_word (id слова) и id_user (id пользователя), которая содержит все комбинации пользователей и выученных ими слов - по одной записи на каждое слово каждого пользователя.
Комментарий удален
Андрей Искусственный Интеллект (145337) Так в этой самой таблице сделай ещё один столбец - дату добавления.
Остальные ответы
Новиков Федор Искусственный Интеллект (134496) 8 месяцев назад
правильный способ:
одна таблица user_name|user_id с уникальными индексами по обоим полям, чтобы не было дублей
вторая таблица user_id|seq|words_id с уникальным индексом по всем трем полям
тогда в SQL будет легко их обрабатывать
Комментарий удален
Aleksandr Boronaev Ученик (35) Извините за глупый вопрос. Только учусь
Похожие вопросы
Также спрашивают