It looks like what you have in your requirement is to at the very least store a userID, username and a dynamic list of items for a user. You would need a schema which can hold the necessary information you need. A simple schema can allow for very fast retrieval and complex schemas can have a lot of integrity built in. There are pro's and con's for both different designs, and depending on what your requirement is, one schema design would work better than another.
Here are some examples that you can consider (user - item schema relationship):
many - many relationship schema
one - many relationship schema example
- requires that a user to have at least one item list
restricts users having the same unique item
User
userID
userName
ListItemID
List
ListID
ListItemID
ItemID
Item
one - many relationship schema example
many - many relationship schema example
many - many relationship schema example:
- this allows for a users to share the same unique item
- does not require a user to have a list of items
- it requires joining 3 tables to get information on the items the users have
- if user information changes only 1 record to update
- if the details of an item changes, only one record to update
if user item list changes, the number of changes would be the number of updates/deletes/inserts needed
User
userID
userName
ItemList
ItemListID
UserID
ItemID
Item
ItemID
Item
many - many relationship schema example:
- this allows for a users to share the same unique item
- requires that a user have a list of items (one or more)
- it requires joining 3 tables to get information on the items the users have
- if user information changes only 1 record to update
- if the details of an item changes, only one record to update
if user item list changes, the number of changes would be the number of updates/deletes/inserts needed
User
userID
userName
ListItemID
List
ListID
ListItemID
UserID
ItemID
Item
ItemID
Item