items.row1.bow = "whatever";
items.row1.somethingelse = "foo";
items.row2.bow = "...";
etc.
This is LESS limited than your model because it's easier to set up and has the potential of different numbers of fields for each row.
The only thing needed in a database object is a good querying method. If XPath were implemented we could have XML "databases". (Inefficient in larger systems, but for graal sized systems with probably less than 1000 records it'd be ok).