Вообще в данном случае требуется три таблицы:
1. таблица с сущностью
question_id serial
question_type enum
question_date
question_foo и другие параметры
2. Таблица с вопросами, где может быть 1 вопрос или несколько
question_data_id serial
question_data_text text
question_id int - ссылка на родителя
3. Таблица ответов
question_data_answer_id - serial
question_data_answer_text - txt
question_data_answer_score - int
question_data_id - ссылка на родительскую таблицу
Все... В зависимости от question_type будете формировать разные виды построения опросника. Целостность соблюдается.