«Как сохранить ответ как 1
ответить? "
Значение в типичной реляционной базе данных является монадическим, а не многозначным, и в вашем примере ответ имеет несколько значений, соответствующих каждому году. У вас есть два варианта для отслеживания данных по этому вопросу * s * (множественное число, а не этот вопрос, единственное число):
How did you like the food in
2006
2008
2010
2012
1) Каждый год соответствует столбцу. Добавление новых годов требует добавления новых столбцов в таблицу.
или
2) Ответ каждого года соответствует записи о детях в отдельной таблице ОТВЕТОВ:
QUESTION table (questionid, questiontext)
ANSWERS table (id, questionid, answervalue)
, где в таблице ANSWERS может быть один или несколько ответов на один вопрос в таблице QUESTIONS - например, записи отдельных позиций в заявке. Вторая таблица в отношении «многие к одному» с первой - это то, как «нормализованная» реляционная база данных структурирует такие данные.
Приведенные выше определения таблиц просты и просты. Если бы я собирался отслеживать вопросы, состоящие из нескольких частей, я бы, вероятно, имел бы таблицу QUESTIONPARTS, которая связана с ВОПРОСАМИ, и связывал бы мою таблицу ANSWERS с QUESTIONPARTS, или использовал бы первый подход, когда обрабатывается каждая часть вопроса, состоящего из нескольких частей. как отдельный вопрос, который имеет свою колонку.
Проблемы уровня представления (GUI) не должны иметь ничего общего со структурой данных. Данные должны в конечном итоге быть пригодными для использования / запроса , и визуальный компонент, который вы разрабатываете для сбора информации, не определяет основную структуру данных.
Вы должны убедиться, что данные пригодны для использования, в противном случае сбор данных является пустой тратой времени для всех.
P.S. В последние годы объектная ориентация (поддержка пользовательских пользовательских структур) была привита к реляционным базам данных. Два крупных коммерческих игрока, Oracle и SQL Server, теперь поддерживают это, но они являются проприетарными расширениями стандарта SQL и не переносимы из одной системы в другую. И за много лет до этого базы данных, такие как PICK и его варианты, поддерживали многозначные значения. Несколько значений в столбце были отделены друг от друга с помощью определенных разделителей. Это часто называли «вложенной реляционной» моделью.