Есть таблица с пользователями u (id, username, password, email), есть некоторая таблица r (id, name, v1, v2, v3). Каждый пользователь может создавать несколько списков из понравившихся записей из таблицы r (по сути дела, достаточно в списке хранит r.id).
Как хранить такие списки? Есть несколько идей:
1) создавать в базе данных на каждого пользователя и на каждый список отдельную таблицу, давать уникальное название, а в таблицу u добавить поле в котором хранить через запятую все связанные таблицы.
2) создать некую таблицу p (uid, listName, rid) и в ней хранить все сразу все списки всех пользователей.