MyWackoSite: NsuTs/Вам запрещён доступDocumentation/devguide/taskbank ...

Home Page | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация | Вход:  Пароль:  

Банк задач

Описание:

  1. Теги к задаче (год написания; турнир, в котором задача была впервые использована; автор)
  2. Основной формат хранения условий задач – La Te X?
Текст задач больше не будет храниться в базе данных. Полнотекстовый поиск по условиям будет проводиться системными средствами (утилиты grep, awk, sed), либо, если объём базы данных потребует более мощного поискового механизма, с помощью пакета Sphinx.
  1. В БД хранятся основные данные о сложности и трудоёмкости задачи: лимиты времени и ограничения по используемой памяти. Данные ограничения предполагается хранить в отдельной таблице, так как поиск собственно по ним производиться не будет, поэтому задача их индексирования остро не стоит.
  2. поле “сложность” целочисленное (10-бальное), сложность сверху и снизу

Предполагаемые таблицы

Таблица 1.1. Таблица пользователей банка задач

id login password name role
int(10) varchar(50) varchar(32) varchar(50) int(4)

Примечание: в качестве логина будет использоваться e-mail, пароль в базе будет храниться в виде результата хэш-функции.

Таблица 1.2. Таблица рубрик банка задач.

id title description
int(10)varchar(50) text

Таблица 1.3. Таблица тегов банка задач.
id title
int(10)varchar(50)
Примечание: следует различать теги и рубрики. Рубрицирование используется для указания тематики задачи, тегирование – для вспомогательных данных, полезных при навигации по базе.

Таблица 1.4. Таблица задач.
id authorIdtitlesharedsharedSolution minComplexitymaxComplexitydescription
int(10)int(10)varchar(255)int(4)int(4)int(4)int(4)text
Примечание: функционал некоторых полей из предыдущей версии перенесён на файловую систему.

Таблица 1.5. Распределение задач по рубрикам
taskIdcategoryId
int(10)int(10)

Таблица 1.6. Тегирование задач
taskIdtagId
int(10)int(10)

Таблица 1.7. Технические данные по задачам
idmemoryLowmemoryHightimelimitLowtimelimitHigh
int(10)int(32)int(32)int(10)int(10)

Вопросы

  1. Надо ли вводить новую систему пользователей?
Как можно больше интегрировать с NSUts, чтобы затем из этого набора задач, можно было формировать новые туры, и наоборот
  1. Вместо authorid строкой хранить имя автора
  2. Таблица задач.shared?
  3. Хранить путь на 1) архив с тестами (+чекером) 2) условие 3)архив с решениями и генераторами тестов

file:tb_prototype.jpg
 
Один файл. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]