Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Структура БД

263
01 апреля 2007 года
koltaviy
816 / / 16.12.2004
Ситуация следующая:
Имеются таблицы:
1) Тестируемые(Код, ФИО)
2) Вопросы(Код, Наименование)
3) ВариантыОтветов(Код, Вопросы_Код, Наименование)
4) ОтветыТестируемых(Код, Тестируемые_Код, Вопросы_Код, ВариантыОтветов_Код)
5) Ключ(Код, НомерСтроки, НомерСтолбца, Текст)

Поясню:
В данном тесте всего два вопроса, в каждом по 10 вариантов ответа.
Результат тестирования определяется по ключу. В книге ключ отображен в виде таблицы, где значения полей - ответ на первый вопрос, значения записей - ответ на второй вопрос. Результат тестирования - пересечение соответствующей строки и столбца.

Вопрос собственно состоит в том, что меня не устраивает сама структура БД.
К примеру, поле Вопросы_Код в таблице ОтветыТестируемых кажется избыточным, т.к. по полю Вопросы_Код таблицы ВариантыОтветов и так можно определить номер вопроса. С другой стороны, нас интересует именно то, что первый вопрос представляет собой строку, а второй столбец в таблице Ключ.

Вообщем я совсем запутался с этим тестом.
Прошу помощи в организации корректной и уместной структуры БД.
10
01 апреля 2007 года
Freeman
3.2K / / 06.03.2004
Цитата: koltaviy
Результат тестирования определяется по ключу. В книге ключ отображен в виде таблицы, где значения полей - ответ на первый вопрос, значения записей - ответ на второй вопрос. Результат тестирования - пересечение соответствующей строки и столбца.


Вот тут не понял, чушь какая-то. Если там действительно таблица, в БД их должно быть две или даже 3: столбцы, строки и пересечения. Иначе модель получается нереляционной.

337
01 апреля 2007 года
shine
719 / / 09.06.2006
1)Таблицу Ключ я бы вообще убил.
2)В ВариантыОтветов добавил поле Правильность и по умолчанию ставил бы значение 0.
263
01 апреля 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Freeman
Вот тут не понял, чушь какая-то. Если там действительно таблица, в БД их должно быть две или даже 3: столбцы, строки и пересечения. Иначе модель получается нереляционной.


Чо-то не понял..
Столбцы и строки расшифрованы в таблице "ВариантыОтветов". Предлагаешь дублирование данных?!!
Приведу пример:
строка\столбец---1---2---3
------1------------а---б---в
------2------------г---д----е
------3------------ж--з----и
Два вопроса по три варианта ответа в каждом. Человек ответил на первый вопрос 2, а на второй 3. Первый вопрос - строка, второй - столбец. Получаем на выходе 'е'.

263
01 апреля 2007 года
koltaviy
816 / / 16.12.2004
Цитата: shine

1)Таблицу Ключ я бы вообще убил.


А это еще зачем?!! А откуда я должен брать результаты?? В код 'вшивать'? :D

Цитата: shine

2)В ВариантыОтветов добавил поле Правильность и по умолчанию ставил бы значение 0.


Правильность чего?!! Таблица ВариантыОтветов - исходные 'неприкосновенные' данные.

337
01 апреля 2007 года
shine
719 / / 09.06.2006
Цитата: koltaviy
А откуда я должен брать результаты?? В код 'вшивать'?


Из таблицы ВариантыОтветов конечно. У тебя в этой таблице будет задаваться соответствие коду вопроса нескольких вариантов ответов. Один из вариантов будет верным.
С этой таблицей будешь сверяться при подсчете результатов тестирования для того чтобы определить правильно ответили на вопрос или нет. Поэтому уродскую по своей структуре таблицу Ключ можно забыть как страшный сон. :D

263
02 апреля 2007 года
koltaviy
816 / / 16.12.2004
Цитата: shine
Из таблицы ВариантыОтветов конечно. У тебя в этой таблице будет задаваться соответствие коду вопроса нескольких вариантов ответов. Один из вариантов будет верным.
С этой таблицей будешь сверяться при подсчете результатов тестирования для того чтобы определить правильно ответили на вопрос или нет. Поэтому уродскую по своей структуре таблицу Ключ можно забыть как страшный сон. :D


Либо ты невнимательно прочитал мой вопрос, либо ты вообще не шаришь в теории БД.

337
02 апреля 2007 года
shine
719 / / 09.06.2006
Цитата: koltaviy
Либо ты невнимательно прочитал мой вопрос, либо ты вообще не шаришь в теории БД.


Ну как бы тебе объяснить. Подобную задачу я уже решал и структуру БД для своей задачи создавал и программа на ее основе работает. Не хочеш слушать - мне вобщем-то пофиг хотя непонятно зачем было задавать вопрос.

263
02 апреля 2007 года
koltaviy
816 / / 16.12.2004
Цитата: shine

Ну как бы тебе объяснить. Подобную задачу я уже решал и структуру БД для своей задачи создавал и программа на ее основе работает.


:) Работающая программа еще ничего не означает. У меня тоже все работает. И тем не менее я не доволен структурой.

Цитата: shine

Не хочеш слушать - мне вобщем-то пофиг хотя непонятно зачем было задавать вопрос.


Вопрос был задан, чтобы услышать ответ. Твой пост не является ответом, т.к. :

Цитата: shine

У тебя в этой таблице будет задаваться соответствие коду вопроса нескольких вариантов ответов.


Если ты прочитал мой первый пост - так и происходит.

Цитата: shine

Один из вариантов будет верным.


В данном тесте нет верных или неверных ответов. Для каждой пары ответов существует свой результат-пересечение в ключе.

Цитата: shine

С этой таблицей будешь сверяться при подсчете результатов тестирования для того чтобы определить правильно ответили на вопрос или нет.


То же самое + никакого подсчета результатов не происходит.

Цитата: shine

Поэтому уродскую по своей структуре таблицу Ключ можно забыть как страшный сон.


Ну про это вообще молчу!.. Высасывать из пальца какие-то ненужные поля и потом забывать то, что на самом деле необходимо - не лучший подход!!

Я же не против другого подхода в организации БД. Просто твоя структура не подходит для решаемой задачи. Опять же, видимо ты невнимательно прочитал условия задачи.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог