Попытка выяснить, как лучше настроить «списки» коллекций для пользователей, используя следующие данные (псевдокод):
user table = id, name, email
cars table = id, make, model
user_cars table = user_id, car_id, rating
collections table = id, user_id, name
Факты
У пользователей может быть много машин
У пользователей может быть много коллекций
Отдельные машины могут быть во многих коллекциях
2 варианта, которые я вижу, чтобы позволить пользователю иметь список коллекций, это либо добавить поле к user_cars с именем collection_list
и сделать содержимое этого поля списком запятых коллекций, которыми владеет пользователь, например : 1,30,400
или добавить дополнительную таблицу с именем collection_entries
, которая содержит collection_id
и car_id
, каждая из которых указывает на свои соответствующие collection.id и cars.id. Возможная проблема, которую я вижу при добавлении другой таблицы, состоит в том, что число строк в этой таблице будет огромным. Например: 10 000 пользователей x 10 коллекций каждая x 100 автомобилей в коллекции = 1 миллион строк.
Идеи