Реализация "добавить в избранное" в базе данных - PullRequest
0 голосов
/ 07 марта 2019

У меня есть вопрос относительно дизайна базы данных / системы. У нас есть стол user с user_id и стол school с school_id. Мы хотим реализовать функцию, чтобы пользователи могли добавлять школы в свой «список избранного». Я уже создал третью таблицу, которая содержит отношения между user_id и school_id. Теперь у меня есть два следующих вопроса:

  1. Когда пользователь удаляет школу из списка «Избранное», должен ли я удалить ее или оставить в базе данных, но пометить ее как «удаленную»? Я хочу сохранить его, но со временем в таблице могут остаться тонны ненужных данных.

  2. Внешний интерфейс выглядит как кнопка «нравится / не нравится» в твиттере. Пользователь может добавить в избранное / удалить школу одним щелчком мыши. Есть ли хороший способ предотвратить постоянное попадание бота в базу данных нажатием кнопки?

Заранее спасибо!

1 Ответ

0 голосов
/ 10 марта 2019
  1. Ответ зависит от логики вашего приложения. Оба предложения в порядке.
    Если вам понадобятся эти данные в будущем или если вы сохраняете историю действий пользователя, вы можете пометить их как «удаленные», иначе вы можете удалить их немедленно. (другой подход - временно пометить его как удаленный и периодически выполнять очистку таблицы)
  2. У меня недостаточно опыта с подобными угрозами, но простое решение состоит в том, чтобы ограничить количество вызовов API в секунду на пользователя
...