You need to classify the different types of questions that you must handle. So far you have identified:
1) yes/no questions
2) "check all that apply" questions
There could also be:
3) "select just one answer from list" (like radio buttons)
4) free text reply
...etc.
Then you can build a data model to support those question types, e.g.:
Question( q_id, q_text, q_type );
Question_Options( q_id, o_id, o_text );
q_type here identifies the type of question from the above categories. So the data might look like:
insert into Question( q_id, q_text, q_type ) values (1, 'Do you like cheese?','YESNO');
/* No Question_options required for YESNO type */
insert into Question( q_id, q_text, q_type ) values (2, 'Which types of cheese do you like', 'SELECT_MANY' );
insert into Question_Options( q_id, o_id, o_text ) values (2, 1, 'Wensleydale' );
insert into Question_Options( q_id, o_id, o_text ) values (2, 2, 'Cheddar' );
insert into Question_Options( q_id, o_id, o_text ) values (2, 3, 'Brie' );
insert into Question_Options( q_id, o_id, o_text ) values (2, 4, 'Camembert' );
insert into Question( q_id, q_text, q_type ) values (3, 'Which is your FAVOURITE cheese?', 'SELECT_ONE' );
insert into Question_Options( q_id, o_id, o_text ) values (3, 1, 'Wensleydale' );
insert into Question_Options( q_id, o_id, o_text ) values (3, 2, 'Cheddar' );
insert into Question_Options( q_id, o_id, o_text ) values (3, 3, 'Brie' );
insert into Question_Options( q_id, o_id, o_text ) values (3, 4, 'Camembert' );
etc. You get the idea?
Next, of course, you will need to design the tables to hold the answers...