How to design database to store and retrieve large item/skill lists in ruby
===

I plan a role playing game where characters are supposed to carry/use items and train skills. When it comes to store (possibly numerous) items/skills possessed by characters, I can't think of a better way than putting a row for every possible item and skill to each character instantiated.

To be clear, if this would be an exercise or a small game where total number of items/skills is ~30, I would add an items and a skills hash to the character class and methods to add and remove them like:

    def initialize
      @inventory = {}
      @skills = {}
    end

    def add_item item, number
      @inventory[item] += number
    end

So what else can I try to handle ~1000 items and ~150 in the inventory (and also possibly 100 skills) in case that I would like to work with sinatra and datamapper?