Sorry for long description but I feel like I need to provide background info to give you better understanding about problem I am trying to solve. This problem is dealing with database and I want to understand how I should parse the data from database and structure it efficiently so that the program can support this conditions (#of entries in database can shrink today, it can grow tomorrow).

I want to write a GUI program that does the following.
1. User can select the OS type (Vista, Win7, Win8 etc.) from drop down menu
2. Once OS selected, it fetches all the OS-selected systems that are in database storage and list them in GUI
3. User can then click on a particular system from the list and GUI will display the performance score about that particular system for the last 5 days

--------------Following is already implemented and my program only needs to read from database and do the above 3 steps ---------------------------------------------------------------------
This is how data look in database. STEP is always same (open, read, close). Things that can change are SCORE and RESULTS and number of system. This information is stored in database everyday with different number of systems (today 10, tomorrow 50, next day 20).
Comp 1 open 10 pass
Comp 1 read 04 fail
Comp 1 close 10 pass
Comp 2 open 10 pass
Comp 2 read 07 pass
Comp 2 close 10 pass

What is the best way to go about designing the code so that data are parsed easily and is flexible enough to support varying number of data? I have read upon ResultSet and ArrayList but I feel like itís may not be the best way to go. Any other way to handle this easily? Thanks a lot!