powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужна помощь в создании дизайна опросника
6 сообщений из 6, страница 1 из 1
Нужна помощь в создании дизайна опросника
    #35559763
Геныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток.

Нет опыта в проектировании таблиц, поэтому прошу помощи.

Есть система с пользователями, которые заполняют опросники. Опросник состоит из пронумерованных вопросов и вариантов ответов на вопрос (можно выбрать только один ответ). Пользователь имеет право не отвечать на какие то вопросы. Пользователь может заполнить несколько опросников. Порядок вопросов может меняться, добавляться вопрос или наоборот стираться (происходит редко).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
users (user_id,  ---pkey
   name)

question (question_id,  ---pkey
       question_order,
       text)

answer(id, ---pkey
     question_id, ---fkey to question.question_id 
     text)

questionnaire (questionnaire_id, ---pkey
      user_id ---fkey to users.user_id
      date)

user_answers (id, ---pkey
       questionnaire_id, ---fkey to questionnaire.questionnaire_id
       question_id, ---fkey to questuon.question_id 
       answer_id ---fkey to answer.id)

Mеня смущает два момента. Если захочу вставить новый вопрос в начало опросника, то придется делать update всей таблице questions. Можно ли как это избежать? В таблице user_answers много повторящихся question_id.

Заранее спасибо.
...
Рейтинг: 0 / 0
Нужна помощь в создании дизайна опросника
    #35560054
IT-Shaman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Геныч

Mеня смущает два момента. Если захочу вставить новый вопрос в начало опросника, то придется делать update всей таблице questions. Можно ли как это избежать? В таблице user_answers много повторящихся question_id.

Заранее спасибо.

я так понимаю, что question_order - видит только "админ" вопросника.
можно question_order наполнять 100, 200,300... тогда можно добавить новый вопрос в любое место и сортировать по question_order
для пользовательской нумерации можно делать счетчик на уровне визуального интерфейса.

Геныч

Пользователь может заполнить несколько опросников

Заранее спасибо.
судя по структуре - опросник один - таблица question. Соответственно, наверное, надо переформулировать так - "пользователь может отвечать на вопросы несколько раз" - таблица questionnaire
...
Рейтинг: 0 / 0
Нужна помощь в создании дизайна опросника
    #35560230
Геныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, совершенно верно. Опросник один, но пользователь может его заполнять много раз.

А насчет наполнения порядка 100, 200, 300,... я тоже думал, но мне показалось что это не слишком красивое решение. Скажите, это стандартное решение для порядка в базах данных?

Если есть допущение, что сам вопросник обновляться будет редко (скажем, раз в месяц), можно ли тогда пренебречь временем, затрачиваемым на update поля порядок и всей таблицы?
...
Рейтинг: 0 / 0
Нужна помощь в создании дизайна опросника
    #35560285
IT-Shaman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ГенычДа, совершенно верно. Опросник один, но пользователь может его заполнять много раз.

А насчет наполнения порядка 100, 200, 300,... я тоже думал, но мне показалось что это не слишком красивое решение. Скажите, это стандартное решение для порядка в базах данных?

нормально решение. для СУБД все равно какие числа сортировать.

ГенычЕсли есть допущение, что сам вопросник обновляться будет редко (скажем, раз в месяц), можно ли тогда пренебречь временем, затрачиваемым на update поля порядок и всей таблицы?
ну если Вы напишите програмку, которая "подвинет" часть номеров вопросов на +1, тогда не проблема.
мое мнение - не заморачиваться с апдейтами - это менее красивое решение.
...
Рейтинг: 0 / 0
Нужна помощь в создании дизайна опросника
    #35560348
`ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
под "Порядок вопросов может меняться" понимается изменение номеров вопросов или вывод на экран пользователю?
...
Рейтинг: 0 / 0
Нужна помощь в создании дизайна опросника
    #35561233
474
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделайте поле "номер вопроса" плавающим числом и успокойтесь на этом.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужна помощь в создании дизайна опросника
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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