One other option for storing the results would be a table with a multipart primary key, One part bringing the preset number, the second being the setting number, and then a data column for the value. Something like: CREATE TABLE Presets ( preset_no INTEGER, value_no INTEGER, value REAL, PRIMARY KEY(preset_no, value_no) ); You can then get a complete set of values for a given preset with something like SELECT value_no, value FROM Presets WHERE preset_no = ?; where you bind the ? to the preset_no you want to fetch. This has the ability to allow you to omit values from a preset if they don't matter to that one.