2010-12-12 2 views
1

У меня есть как проблемы, так и решения более чем двадцатилетних квалификационных экзаменов PhD, которые я хотел бы сделать более доступными, доступными для поиска и полезными.Как создать базу данных физики?

Проблемы на Quals организованы в несколько разных категорий. Первая категория - бакалавриат или выпускник. (Первый день экзамена - Бакалавриат, второй - выпускник). В этих категориях проверено несколько предметов: Механика, Электричество & Магнетизм, статистическая механика, квантовая механика, математические методы и разное. Другие идентифицирующие функции: Год, Сезон и номер проблемы.

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

  • Искать и вернуть все Электричество & Проблемы с магнетизмом.
  • Поиск и возврат всех выпускников Проблемы статистической механики.
  • Создайте случайный квалификационный экзамен - это означает, что новый 20-вопросный тест случайным образом выбирает 2 проблемы механики Undergrad, 2 Undergrade E & M проблем и т. Д. Из прошлых квалификационных экзаменов (в течение некоторого ограниченного диапазона дат).
  • У вас есть возможность скрыть или отобразить решения по результатам.

Любые предложения или комментарии относительно того, как наилучшим образом выполнить этот проект, будут очень признательны!

Я написал более подробную информацию here, если вам интересно.

+2

Несомненно, это сводится к пометке или индексированию больше, чем к дизайну таблиц? – dmckee

+0

Может быть хорошим приложением для решения NoSQL, такого как MongoDB или CouchDB. – duffymo

+0

попробуйте [WeBWorK] (http://webwork.maa.org/wiki/Main_Page). –

ответ

1

Для вашей ситуации кажется более важной частью реализации интерфейса, чем хранение данных. Чтобы сохранить данные, вы можете использовать таблицу базы данных или теги.Каждая запись в базе данных (или метки) должны обладать следующими свойствами:

  1. Год
  2. Сезон
  3. Undergradure или выпускающих
  4. Тема: CM, EM, QM, СМ, Математические методы и Разное
  5. номер Проблема (это neccesary?)
  6. Вопрос
  7. Ответ

  • Поиск и вернуть все проблемы Электричество & магнетизм.

Непосредственный запрос к базе данных, и вы получите массив, а затем отобразите некоторые или все вопросы.

  • Создать случайный квалификационный экзамен - это означает новый тест 20 вопроса случайно собирание 2 старшекурсникя задач механики, 2 & E низкого качества M проблемы и т.д. из прошлых квалификационных экзаменов (над некоторыми ограниченным диапазоном дат).

Чтобы создать случайный экзамен, вы должны сначала указать количество вопросов для каждой категории и годы, из которых она была взята. Например, если вы хотите 2 вопроса UG EM. Запросите базу данных для всех вопросов UG EM, а затем выполните произвольный случайный перетасовка в массиве вопросов . Наконец, выберите первые два из них и покажите этот вопрос ученику. Продолжайте работать с другими категориями, и вы получите полный случайный экзамен.

  • Есть возможность скрыть или отобразить решения по результатам.

Это ваша задача определить, хотите ли вы, чтобы ученики увидели ответ. Он должен контролироваться только одной переменной.

0

«Электричество &« Магнетизм »и« Статистическая механика »взаимно исключают категории, по одному измерению? Существуют ли несколько категорий в категориях, которые вы хотите найти?

Если да, то да, я предлагаю вам изучить многомерное моделирование данных. Как физик, у вас есть нога для большинства людей, когда дело доходит до оценки количества измерений. Анализ реальности многоплановым способом - одна из вещей, которую делают физики.

Иногда получение и изучение инструмента MDDB является излишним. После того, как вы изучили многомерное моделирование, вы можете решить, что вам нравится концепция моделирования, но вы все еще хотите реализовать реляционные базы данных, которые используют интерфейс SQL.

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

Смежные вопросы