Какой подход я должен использовать для разработки таблиц в моей серверной системе? - PullRequest
0 голосов
/ 06 апреля 2019

Вариант использования для моего заявления:

  • На юридическом факультете в университете есть 8 семестров
  • У студента есть три шанса сдать экзамен, если он / онfails
  • В каждом семестре в среднем 8 предметов

Для проектирования таблиц базы данных в серверной системе мне на ум приходят два варианта:

i) Я должен создать одну таблицу для каждого семестра, в которой будет в среднем 8 столбцов, с тремя изменениями, в которых будут дубликаты идентификаторов, если студент потерпит неудачу, ему / ей нужно будет сдать второй экзамен.

ii) Я должен создать три таблицы по 8 семестров, в каждой из которых будет около 8 предметов, и это будет длинная таблица с 64 столбцами.

Какой вариант мне выбрать или сделать?у вас есть другой вариант, чтобы предложить?

1 Ответ

0 голосов
/ 06 апреля 2019

Вы упомянули 4 основных объекта:

  1. Семестр
  2. Студенты
  3. Предметы
  4. 1010 * Exams *

Итак, как стартер:

  1. Таблица с именем SEMESTERS, первичный ключ SEM_ID, столбцы даты START / END, NAME
  2. Таблица с именем STUDENTS, первичный ключ STU_ID, cols NAME
  3. Таблица с именем SUBJECTS, первичный ключ SUB_ID, имя столбца, PASS_MARK, MAX_FAILS
  4. Вам нужна таблица пересечений, показывающая, какие учащиеся посещают какие классы, поэтому таблица STUDENT_SUBJECTS, основной STS_ID.
  5. Теперь у вас может быть таблица EXAMS, которая является дочерней по отношению к SUBJECTS, а затем таблица STUDENT_EXAMS, которая является дочерней по отношению к EXAMS и STUDENT_SUBJECTS, в которую вы записываете результаты экзаменов. Или просто, не используйте таблицы EXAMS и STUDENT_EXAMS, а вместо этого добавьте столбцы EXAM_RESULT1, EXAM_RESULT2, EXAM_RESULT3 в STUDENT_SUBJECTS для записи результатов экзаменов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...