Attid писал(а):для чего для заданий целых четыре таблицы не понимаю. кста может в сторону XML глянуть ??
Meine Gott im Himmel!
Структура входящего пакета (кратко):
КОЛЛЕКЦИЯ: состоит из модулей двух типов (могут присутствовать как оба типа одновременно, так и любой из них)
МОДУЛЬ: набор теории для изучения, набор данных для проверки знаний
МОДУЛЬ-ТЕОРИЯ: произвольная информация, например, в HTML
МОДУЛЬ-ПРОВЕРКА: перечень вопросов разного типа (выбрать один из предложенных вариантов, выбрать несколько из предложенных, вписать правильный, другие варианты) и варианты ответов на них (для варианта "вписать правильный" ответы не предусматриваются)
ОТВЕТЫ: готовые (один или несколько - в зависимости от типа вопроса - правильный, остальные неправильные) и сгенерированные (например, автосоздание неправильных ответов или расчет правильного ответа для вычислительных вопросов).
Кроме того, в каждом блоке (коллекция, модуль, вопрос, ответ) хранится и дополнительная служебная информация, так же перечисленная (частично) в ПЗ.
Ну и что для организации подобной структуры подходит лучше реляционной БД?
Про XML я думал, но, хоть убей, не вижу преимуществ этого формата, если использовать его именно как хранилище данных (для разметки страниц с использованием CSS и XSL - самое оно, спорить не буду). А вот недостатки, в частности - куча лишней информации из-за обязательности закрывающих тэгов, в избытке.
Сразу вспоминается бородатое:
- Боец!
- Я!
- Бери лом и подметай плац!
- Есть, товпрапор!
Но... Но ведь ломом неудобно?
- А мне не надо, чтобы тебе было удобно, мне надо, чтобы ты зае...лся!
Согласись, что хранить картинки в XML - занятие не самое приятное, ибо текстовым форматом не предусмотрено хранение двоичной информации. Значит надо использовать что-то вроде UUE. UUE (за base64 и другие способы MIME-кодирования не скажу ничего) увеличивает объем данных примерно в полтора раза.
Для чего картинки и вообще двоичка? См. выше - вопросы могут быть РАЗНОГО типа - от пресловутой текстовой строчки "Сколько букв в слове "Attid"?" до набора картинок с УГО для принципиальных схем, которые нужно расположить в правильном порядке, чтобы получилась схема мультивибратора с положительной обратной связью.
Значит картинки лучше хранить в блобах - как МНЕ известно, блобы, в отличие от мемо, не обладают фиксированным размером, а занимают столько, сколько необходимо для хранения содержимого плюс небольшой оверхед.
Если я не прав в своих рассуждениях, то прошу указать, где и именно, и поправить меня.
shade писал(а):каждое задание (как набор вопросов) сохраняется в файле некоторого формата (например, XML, INI или мб что-то свое), который шифруется. Клиент скачивает задание, хоть через флоппинет... Программа распаковывает файл в памяти, проводит экзаменовку. Получает ответы, ответы шифруются и записываются в файл. Отсылаются на проверку.
А-а-а!!!
Ну а я о чем говорю? Посмотри, пожалуйста, ближе к началу треда - именно это я и собираюсь сделать!