2013-03-27 3 views
0

Я пытаюсь реализовать базу данных для химии викторинапредложения для проектирования баз данных викторины

Идеи заключается в том, чтобы предоставить вопросы химии с использованием marvinscketch из chemaxon, используя cxsmiles как составные конструкции.

Я ищу какой-нибудь совет, не уверен, будет ли мой проект db работать правильно?

Таблицы для этой базы данных являются:

  • Вопросов: главная таблица отношений
  • QuestionType: строка для своего рода вопрос (например, один типа вопроса по имени oneStructureQuestion)
  • Категории: Сохраняет категорию в строке и связывает ее с Единицей и SubUnit программы.
    • Единица: описание для содержимого устройства для учебного плана
      • субъединиц: Описание для субъединицей учебного плана

Примером типа вопроса:

  • oneStructureQuestion
    • questionTxt
    • структура

enter image description here

Код для этой базы данных здесь

https://gist.github.com/friveroll/94c964af9eba1b6c7c5b

Является ли это правильная модель? Как я могу улучшить это?

+0

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

+1

Я добавил некоторое описание, и теперь все имена на английском языке. – friveroll

ответ

1

Я не понимаю имена таблиц вашего текущего дизайна;), но я бы не создал таблицу для каждого типа вопросов. В вашей таблице вопросов содержится вся информация по всем типам вопросов, поле перечисления, чтобы отобразить тип, и ссылаться только на другие таблицы, если у вас в противном случае были бы многозначные поля или дубликаты данных. Хранение многих значений NULL не дорого.

Пример:

question 
- id 
- type (ENUM('NUMBER','MULTIPLE_CHOICE','BOOLEAN', ...) 
- questionText 
- correctNumber (INT, ...) 
- correctBoolean 
- mcListId 
- correctMultipleChoiceOptionId 
- ... 

multipleChoiceList 
- id 
- name 

multipleChoiceOption 
- id 
- multipleChoiceListId 
- label 

answer 
- id 
- questionId 
- numberGiven 
- booleanGiven 
- givenMultipleChoiceOptionId 
- ... 
+0

Спасибо за ваше предложение, я изменяю вопрос и прикладываю сущность к дампу sql этого дизайна. Я изучал перечисление и нашел эту тему http://stackoverflow.com/questions/766299/mysql-enum-performance-advantage. И, пожалуйста, дайте мне знать, что вы думаете о новой модели. – friveroll

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