Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура бд для анкеты / 11 сообщений из 11, страница 1 из 1
09.08.2012, 18:28
    #37911230
rusanger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура бд для анкеты
Прошу помощи в построении структуры базы для анкеты. Примерный вид анкеты, требования и структуру, которая получилась у меня см. во вложении.
В этой схеме мне не нравится, что в таблице anketa будет всё в кучу, т.е. все анкеты всех пользователей. id\_anketa будет повторяться по 100 раз. Это нормально?
И еще не понятно как хранить ответ на вопрос. Если это вопрос да/нет, то в поле будет записано 1 или 0, а если вопрос с множественным выбором то все ответы просто записывать в строку? Т.е., например, answer="1,2,4".
...
Рейтинг: 0 / 0
09.08.2012, 18:38
    #37911244
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура бд для анкеты
rusanger, чот я не уловил, а где ответы юзеров-то? Дальше даже смотреть не стал...
ЗЫ. И при чём тут мускль, это скорее вопрос в "проектирование"...
...
Рейтинг: 0 / 0
09.08.2012, 18:52
    #37911262
rusanger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура бд для анкеты
ответы юзеров в таблице answers.
Да. Извиняюсь. Искала ветку "проектирование", но как-то криво смотрела. Возможно ли как-то перенести тему?

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
10.08.2012, 13:02
    #37912123
rusanger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура бд для анкеты
Что-то никто не хочет мне отвечать=(
Я немного подправила схему. Проверила. Всё работает. Но нет ли в такой структуре избыточности, есть ли узкие места и т.д.?
...
Рейтинг: 0 / 0
10.08.2012, 13:10
    #37912138
rusanger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура бд для анкеты
И еще сейчас у меня таблица ответов связана напрямую с таблицей вопросов. Ответ на вопрос с множественным выбором я записываю как "101", где 1 - ответ "да", на соответствующий подвопрос, 0 -"нет".
Хотелось бы при наличии у вопроса подвопросов записывать ответ отдельно на каждый подвопрос.
Для наглядности прикладываю картинку. На верхней картинке то, что получается сейчас. На нижней как хочется, чтобы было.
Подскажите пожалуйста, как это можно организовать?
...
Рейтинг: 0 / 0
10.08.2012, 13:20
    #37912157
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура бд для анкеты
А чего тут отвечать ? Схемы данных вы не продумали. Когда у меня была похожая задача, я сделал структуру, которая держи все виды вопросов. Интерфейс - аксес более чем 10 летней давности (очень давно это было)
...
Рейтинг: 0 / 0
10.08.2012, 13:55
    #37912220
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура бд для анкеты
Я вот шаблонов анкет не разглядел, как ни старался. То есть цепочка какая-то странная выходит:
- юзер
- экземпляр анкеты (а вот откуда взялся - хз)
- ответы (юзера) на экземпляр
Вместо того, чтобы плясать от юзера и шаблона анкеты, вы идёте от юзера и... чего??
...
Рейтинг: 0 / 0
10.08.2012, 14:02
    #37912228
rusanger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура бд для анкеты
Программист-Любитель,

Я не могу полностью продумать схему данных для своей задачи, поэтому и прошу помощи. Я не сильна в базах и не представляю как это правильно сделать.
Почти всё что мне нужно в моей структуре есть. Тип вопроса указывается, правильных вариантов ответа у меня нет, анкета создается для сбора информации.
Я не понимаю как организовать хранения ответов. Сделать на каждый тип разные таблицы? Но как тогда в таблице "анкета" мне ссылаться на них?
...
Рейтинг: 0 / 0
10.08.2012, 14:10
    #37912243
rusanger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура бд для анкеты
tanglir,

Немного поясню ситуацию. Анкета для проекта одна. Она создается в самом начале проекта и не меняется. Т.е. сначала заполняются таблицы блоков, вопросов, подвопросов. Остальные остаются пустыми. Когда пользователь заполняет анкету в таблице "answers" сохраняются его ответы, таблица "anketa" строится из вопросов и ответов, а в таблице "ankets" появляется одна запись с информацией.
...
Рейтинг: 0 / 0
10.08.2012, 16:35
    #37912524
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура бд для анкеты
Так и делайте структуру таблиц сообразно своим требованиям.

Закладываться ровно на одну анкету - глупо. В конце концов, появится новый вариант анкеты. Поэтому

сами анкеты

1. Таблица видов анкет ( ВидАнкеты )
2. Таблица разделов анкеты в каждом виде (ВидАнкеты, РазделАнкеты )
3. Таблица вопросов по анкете, для каждого указывается по какому он разделу (РазделАнкеты, Вопрос , ТипВопроса: один-из-всех, несколько-из-всех, ...)
4. Таблица вариантов ответов на каждый вопрос (Вопрос, ВариантОтвета , ПризнакПравильныйИлиНет)

учет ответов на анкеты

5. Таблица отвеченных анкет (ВидАнкеты, НомерЗаполненнойАнкеты , КтоЗаполнил)
6. Таблица отмеченных вариантов ответов ( НомерЗаполненнойАнкеты , Вопрос , ВариантОтвета, ФлагОтметилИлиНет)

процент пападаний в правильный ответы, баллы и прочее - все считается запросами
...
Рейтинг: 0 / 0
10.08.2012, 16:45
    #37912541
rusanger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура бд для анкеты
Программист-Любитель,

Спасибо большое! Вроде поняла. Сейчас попробую переделать.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура бд для анкеты / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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