Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как связать Пользователья его ответ на вопрос и сам вопрос? / 9 сообщений из 9, страница 1 из 1
29.01.2015, 13:29
    #38866635
underW
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как связать Пользователья его ответ на вопрос и сам вопрос?
Необходимо офрмить первичный прототип системы проверки знаний, представлено это будет в виде web application и порядок действий будет следующий:
База приложения содержит набор вопросов;

Пользователь регистрируется на сайте;

Зарегистрированный пользователь начинает проходить тест;

Тест завершен;

В конце теста Пользователь получает информацию о результатах теста: "пройден или нет", "какие ответы были правильные": то есть пользователь может просмотреть заданные ему во время теста вопросы, увидеть какие правильные ответы на вопросы и какие ответы дал сам пользователь.

Ну вообщем то - все, думаю, для основы - такого фунционала будет вполне достаточно.

Теперь пытаюсь продумать структуру БД.
Хочу связать каждый шаг из списка выше с представлением в БД, итак:
Код: plaintext
База приложения содержит набор вопросов
Если прикинуть логически, то из чего состоит вопрос: из самого текста вопроса и вариантов ответов (вариантов ответов должно быть в количестве от 2 и больше). Так как у нас тут связь 1:n (1 вопрос и несколько вариантов ответа), то создадим 2 таблицы Questions и Varians (таблица будет содержать в себе сам текст варианта ответа и статус: "правильный вариант \ неправильный вариант" и привязку и Question).

Дальше,
Код: plaintext
Пользователь регистрируется на сайте
Для хранения информации о пользователе создаем таблицу Users , ну тут все понятно.

Еще дальше:
Код: plaintext

Зарегистрированный пользователь начинает проходить тестПри прохождении теста, пользователю надо отдавать вопросы, причем желательно каждый раз разные и в произвольном порядке и конечно же, без повторений... Еще до конца не уверен как правильно это реализовать, как вариант планирую сделать таблицу Quiz привязать ее к конктретному пользователю и поместить в таблицу инфу о N-количестве вопросов, которые будут отдаваться пользователю в течении теста. Имеет смысл такая идея?

И последний шаг:
Код: plaintext
В конце теста Пользователь получает информацию о результатах теста...

Ну вот с этим шагом у меня больше всего сложностей, так как надо как то слепить все вместе и информацию о вопросах которые попались пользователю и о том, какие варианты ответов были выбраны пользователем во время прохождения теста и суммарный результат.

Подскажите, пожалуйста, как бы было лучше всего связать информацию о вопросе и о том какие варианты ответа были выбранны конкретным пользователем для данного вопроса? На данным момент, какого нибудь адекватного варианта я не придумал.
...
Рейтинг: 0 / 0
29.01.2015, 13:59
    #38866673
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как связать Пользователья его ответ на вопрос и сам вопрос?
underWИмеет смысл такая идея?
Не имеет.

underWнадо как то слепить все вместе и информацию о вопросах которые попались
пользователю и о том, какие варианты ответов были выбраны пользователем во время
прохождения теста и суммарный результат.
Обычно все отдают пользователю только суммарный результат. Дабы он не мог скорректировать
свои ответы. Но даже ты хочешь выдавать всё информацию, в чём проблема связать
пользователя с ответами как 1:N?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.01.2015, 14:11
    #38866700
underW
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как связать Пользователья его ответ на вопрос и сам вопрос?
Dimitry Sibiryakov,

Dimitry SibiryakovОбычно все отдают пользователю только суммарный результат. Дабы он не мог скорректировать
свои ответы.

Тут задача несколько другого формата, надо не просто дать возможность человеку пройти тест, а еще дать возможность сделать работу над ошибками, то есть, тут явно присутствует обучающий фактор. Для этого и нужно указывать где неправильно, что неправильно и как правильно.
...
Рейтинг: 0 / 0
29.01.2015, 14:44
    #38866754
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как связать Пользователья его ответ на вопрос и сам вопрос?
underWДля этого и нужно указывать где неправильно, что неправильно и как правильно.

В таком случае один ПОЛЬЗОВАТЕЛЬ может сделать N ПОПЫТОК и в каждой одной ПОПЫТКЕ он даёт
N ОТВЕТОВ. В чём проблема-то? Ты же знаешь как сделать две последовательные связи 1:N?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.01.2015, 14:57
    #38866768
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как связать Пользователья его ответ на вопрос и сам вопрос?
Таблица Тестов
Справочник ТипыВопросов
Таблица ВопросыПоТесту
Таблица ВариантыОтветовКВопросамПоТесту
Таблица Пользователи
Таблица ПрохождениеТестовПользователями
Таблица ОтветыПользователейПриПрохожденииТестов

Типы вопросов - выбрать один вариант, выбрать несколько, расположить варинанты в правильном порядке, ввести строку ответа.
ВариантыОтветов - признаком помечаются правильный варианты.
Таблица ответов - если несколько вариантов, то приводятся все, как в таблице ВариантыОтветов, но признаком помечаются те, которые фактически выбраны при ответе.

Чуть логике в машине, выполняющей опрос (в зависимости от типа вопроса) все отстальное тривиально и делается легко.
...
Рейтинг: 0 / 0
29.01.2015, 15:07
    #38866788
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как связать Пользователья его ответ на вопрос и сам вопрос?
Подробнее и с картинкой 4612204
...
Рейтинг: 0 / 0
01.02.2015, 00:08
    #38868630
underW
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как связать Пользователья его ответ на вопрос и сам вопрос?
П-ЛТаблица Тестов
Справочник ТипыВопросов
Таблица ВопросыПоТесту
Таблица ВариантыОтветовКВопросамПоТесту
Таблица Пользователи
Таблица ПрохождениеТестовПользователями
Таблица ОтветыПользователейПриПрохожденииТестов

Типы вопросов - выбрать один вариант, выбрать несколько, расположить варинанты в правильном порядке, ввести строку ответа.
ВариантыОтветов - признаком помечаются правильный варианты.
Таблица ответов - если несколько вариантов, то приводятся все, как в таблице ВариантыОтветов, но признаком помечаются те, которые фактически выбраны при ответе.

Чуть логике в машине, выполняющей опрос (в зависимости от типа вопроса) все отстальное тривиально и делается легко.

1. я правильно понял, что табл. "ПрохождениеТестовПользователями" связана по принципу многие ко многим с табл "ОтветыПользователейПриПрохожденииТестов"?

то есть, пользователи могут проходить Тест сколько угодно раз, ответов тоже может быть сколько угодно (многие ко многим).

2. Табл. "ОтветыПользователейПриПрохожденииТестов" содержит в себе те значения из табл "ВариантыОтветовКВопросамПоТесту", которые были выбраны пользователем при Прохождении теста и ответе на вопрос, верно?
...
Рейтинг: 0 / 0
02.02.2015, 00:04
    #38868951
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как связать Пользователья его ответ на вопрос и сам вопрос?
Dimitry Sibiryakov
свои ответы. Но даже ты хочешь выдавать всё информацию, в чём проблема связать
пользователя с ответами как 1:N?


Только тут многие-ко-многим будет.
Пользователь отвечает на много вопросов, а вопрос отвечается многими пользователями.

Видимо, реализация Многик-ко-многим у автора поста и вызывает затруднения,
потому что более тут думать вообще не о чем.
...
Рейтинг: 0 / 0
02.02.2015, 14:47
    #38869545
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как связать Пользователья его ответ на вопрос и сам вопрос?
underW,

Да.

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


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