It's hard for me to think outside of a database scope, just by nature. But I will try :)
I do think a database should be used to store cards, decks, and some card properties possibly (attack/defense, description, special abilities, etc.). If I were to suggest the minimum approach, that would be it.
Doing that it would be easy to manage new cards, update cards, remove cards with cascade, perhaps store a player's warehouse or deck as a view that the application would call to load cards in memory for use in a live game.
As far as RDBMS, I have two suggestions. If you were going to use a central DB, I would suggest PostgreSQL as it is much more solid than MySQL, and it's free, unlike SQL Server. Another option, which would be more portable and could be bundled with the application, is SQLite. While it does have a few limitations, it's small size and standalone usage would make up for it in things like a mobile app.