Gaming Website: Schema Design I want to make a gaming website for Magic the Gathering to report event results and management user decks.

Here's what I have so far.

Event is a tournament with Players competing in the tournament.
Players have Decks, which is a like deck of cards (in this case 60 Magic the Gathering cards). 

So, the Decks table has these columns with foreign Ids related to the Events and Players table:


event_id
player_id


However, I also want the users to have Decks. Users are different from Players. Users log into the site. Then, they create and edit Decks.

Should I just create one Decks table or have a 2nd Decks table like UserDecks?

If I have one Decks table, it would have these columns:


event_id
player_id
user_id


However, the event Decks would not have user_ids and the user Decks would not have event_ids or player_ids. Is it okay to have null in columns with foreign Ids?

I could just do a Decks table for event decks and a UserDecks table for user decks but it doesn't seem right to have two Decks table that are the same except for some different columns with foreign Ids?
As far as I can see, your basic design shouldn't be anymore complex than I have drawn in the picture below:



This assumes that you have only one entity representing a person ("Player", could be "User" though), that decks MUST belong to a person and that multiple people can enter an Event as Participants. I assume they bring their own decks with them and that Events cannot own Decks.