У меня есть несколько пользователей/клиентов (пусть говорят N пользователей) и M количество статей.нормализовать и эффективно SQL базы данных desinging
bydeafult эти предметы M будут показаны каждому пользователю. Пользователь может отметить статью как «не заинтересованную». если он это сделает, мы не будем показывать эту статью ему/ей. но эта статья может быть видна другим пользователям, которые не отметили это как «не интересующиеся». правильно?
Теперь у меня проблема. Я не хочу создавать повторяющиеся объекты статьи для разных пользователей. вместо этого должен быть некоторый путь/флаг (not_interested
), связанный с каждым пользователем, чтобы мы могли отфильтровать его на основе этого. но я не уверен, как это сделать в базе данных SQL.
Любые предложения будут оценены.
Таблицы:
Article:
title, description, etc..
User:
username, email, phone, etc
я должен создать среднюю таблицу, которая будет иметь foriegn ключ к статье и пользователя и флаг для not_interested? есть ли лучший способ?
да просто обновил свой вопрос – rocktheparty
или имя таблицы что-то вроде 'user_not_interested_in_article' и пропустить' not_interested' колонки :-) –
И использовать 'ЛЕВЫЙ JOIN ... IS NULL', чтобы найти не-not_interested строки. –