Как грамотнее оформить данные в базе данных?
Только отдельные таблицы, а ответы с вопросами можно получить одним запросом (было бы желание):
create table questions (
  id int primary key auto_increment,
  question varchar(255)
);

create table question_options (
  id int primary key auto_increment,
  question_id int,
  answer varchar(255)
);

select 
	q.question,
	json_arrayagg(answer) answers
from questions q
join question_options qo on qo.question_id = q.id
group by q.id, q.question
;

Результат:
+=============+============================+
| question    | answers                    |
+=============+============================+
| Question 1? | ["Answer 1?", "Answer 2?"] |
+-------------+----------------------------+
| Question 2? | ["Answer 3?", "Answer 4?"] |
+-------------+----------------------------+

Проверить SQL запрос
Лучше отдельную таблицу