Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД для хранения анкет (опросных). / 8 сообщений из 8, страница 1 из 1
29.03.2014, 10:39
    #38599741
KeqpuP-MoJloko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД для хранения анкет (опросных).
Всем доброго времени суток.
Есть задание создать систему анкетирования, и нужно анкеты вместе с ответами хранить в БД.
Понятно, что ответы к разным типам вопросов лучше хранить в разных типах данных (SET, например, отражает выбор нескольких ответов и имеющихся, ENUM одного).
Изначально была идея хранить все в метаданных: вопрос в имени столбца, варианты ответов в данных типа SET и ENUM, но тогда невозможно добавить в систему тип вопроса, который не отражается стандартным типом данных (помимо того, что хранение и выборка из метаданных, пожалуй, не самая лучшая идея).
Тогда было решено ввести отдельную таблицу с вопросами и еще несколько таблиц для каждого из типа ответов. Но тут проблема с реализацией ENUM через связи в таблицах и (как я понимаю) в моей модели на 1 вопрос могут даваться ответы разных типов.
Есть ли у кого-то какие то идеи?
Может стоит сделать обособленные таблицы с вариантами ответов и программно выбирать их программно?
Прикладываю скрин ERR модели.
...
Рейтинг: 0 / 0
29.03.2014, 14:11
    #38599824
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД для хранения анкет (опросных).
KeqpuP-MoJlokoЕсть задание создать систему анкетирования, и нужно анкеты вместе с
ответами хранить в БД.
Если их нужно только хранить - сваливай ответы в XML или JSON и храни BLOB.
Если их таки нужно ещё и обрабатывать, то пляши от способов и целей обработки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.03.2014, 08:45
    #38600062
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД для хранения анкет (опросных).
Dimitry SibiryakovKeqpuP-MoJlokoЕсть задание создать систему анкетирования, и нужно анкеты вместе с
ответами хранить в БД.
Если их нужно только хранить - сваливай ответы в XML или JSON и храни BLOB.
Если их таки нужно ещё и обрабатывать, то пляши от способов и целей обработки.

Классный совет, особенно для того, кто учиться проектировать [/b]реляционную [/b] базу данных.
Вот преподаватель то будет рад!

Я предлагаю пойти дальше — вообще всю бд сделать на xml. Одна таблица с одним столбом с xml, и в ней — одна строка...
...
Рейтинг: 0 / 0
30.03.2014, 19:19
    #38600279
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД для хранения анкет (опросных).
MasterZivВот преподаватель то будет рад!
И это будет правильно: в кои-то веки студент не стал фантазировать и высасывать из пальцы
ТЗ, а сделал ровно то, что написано в задании оптимальным образом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.04.2014, 17:01
    #38612622
movingshadow
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД для хранения анкет (опросных).
KeqpuP-MoJloko,

Для начала неплохо было бы разделить хранение структуры анкет и хранение результатов опроса по этим анкетам, а то такое чувство, что у вас это смешано воедино.

А хранить результаты разных типов можно и в одной таблице – несколько полей разных типов и поле, в котором указан тип результата.
...
Рейтинг: 0 / 0
17.04.2014, 14:01
    #38617526
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД для хранения анкет (опросных).
movingshadowKeqpuP-MoJloko,

Для начала неплохо было бы разделить хранение структуры анкет и хранение результатов опроса по этим анкетам, а то такое чувство, что у вас это смешано воедино.

А хранить результаты разных типов можно и в одной таблице – несколько полей разных типов и поле, в котором указан тип результата.

я бы ваще хранил как текст.

если вопрос сколько яблок осталось, и ответы 4,11,15 - что комуто нужны эти числа как числа? типо выбрать все вопросы, у которых 2 вариант ответа 11???

в самом вопросе проставлен верный вариант ответа.
...
Рейтинг: 0 / 0
18.04.2014, 08:58
    #38618281
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД для хранения анкет (опросных).
Простейший вариант раскладывается на 6 таблиц:

Анкеты
Типы вопросов: выбрать один, выбрать несколько, расположить в правильном порядке, ввести текст
Вопросы в анкетах (анкета, тип вопроса, вопрос)
Варианты ответов для вопросов с указанием правильного (вопрос, вариант ответа, флажок правильный)
Люди
Ответы людей на вопросы анкет (человек, вопрос, ответ)

Все остальное вычисляется запросами.

Где-то на форуме по аксесу есть выложенная готовая БД.
...
Рейтинг: 0 / 0
18.04.2014, 13:31
    #38618719
brudanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД для хранения анкет (опросных).
П-Л, найс!
лучше тут ничего и не придумать.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД для хранения анкет (опросных). / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]