У меня есть две таблицы.
Таблица A: Содержит список песен, обложки песен, ссылки на mp3, теги и т. Д.
Таблица B: Содержит информацию о зарегистрированном пользователе, идентификатор пользователя, имя пользователяи т. д.
Я собираюсь добавить звездную рейтинговую систему в песни и хотел бы, чтобы любой зарегистрированный пользователь голосовал только один раз за песню.
Итак, мой план изначальнобыло создать третью таблицу и использовать JOIN:
Таблица C: Содержит songID, общий балл (сумма всех поданных голосов), voice_count (количество голосов) и выполнить расчет на стороне клиента в jQuery для возвратасредний голос.
Я полагал, что это было бы оптимально для производительности, так как я буду иметь дело с очень большими наборами данных.
Конечно, используя этот метод, я не буду защищен от голосования пользователей столько раз, сколькоони хотят.
Поэтому мой вопрос в том, какую базу данных лучше всего защитить от мошенничества (т. е. для хранения и проверки идентификаторов пользователей в таблице C) без ухудшения характеристик.выполнение фильтрации / сортировки самих песен, так как это является ключом к проекту.
Надеюсь, я ясно дал понять этот запрос, извините, если нет.