SQL — соединение данных из нескольких таблиц по внешнему ключу

SQL — соединение данных из нескольких таблиц по внешнему ключу

Я ломаю голову над следующей проблемой, которую не могу решить.

У меня есть три таблицы, содержащие данные о: студентах (таблица students), курсах (таблица courses) и учебе (таблица studies).

Помимо этих таблиц у меня есть две таблицы подключений.

Один связывает студентов, исследования и курсы по их идентификаторам и содержит дополнительный столбец «год» (в течение которого студент начал обучение), а другой связывает курсы и исследования по их идентификаторам и содержит дополнительный столбец «семестр».

Каждый студент посещает определенное исследование и изучает определенные курсы в зависимости от семестра. Каждое исследование имеет определенное количество курсов в зависимости от семестра.

Таблицы подключений выглядят так.

Таблица(соединение_учебный_курс_студент)

StudyID|CourseID|StudentID|Год

Таблица (connection_study_course)

КурсID|Учебный ID|Семестр

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

StudyID|CourseID|StudentID|Год

  • 1 1 1 2019
  • 1 2 1 2019
  • 1 3 1 2019
  • 1 4 1 2019
  • 1 5 1 2019
  • 1 6 1 2019
  • 1 7 1 2019
  • 1 8 1 2019

Что я могу сделать, чтобы соединить уже существующие данные без лишних хлопот? Я хотел бы иметь возможность вводить student_ID, studies_ID и someother_ID, которые дадут мне информацию о том, какой студент зачислен на какое обучение и какие курсы он слушает.

Связанный контент