У меня есть стол ученика и стол курса. Один студент может участвовать во многих курсах, и студент может оплатить только ту плату за курс, к которому он привлечен. Как я могу создать отношения для этой проблемы.
1 ответ
Вам нужна промежуточная таблица, которая будет содержать данные о студентах-курсах, эта таблица может содержать много строк для данного студента, например: Studennt1-Course1, Student1-Course2 и т.д. ... SQL для извлечения курсов данного студента было бы:
ВЫБЕРИТЕ Курсы.Courses_id, Курсы.Описание из курсов INNER JOIN Студенты-курсы по курсам.Courses_id = Студенты-Курсы.Courses_id ВНУТРЕННЕЕ СОЕДИНЕНИЕ Студенты на курсах студентов.Student_id = Студенты.Студент_ид ГДЕ Курсы.Course_id = 33
Лучше всего было бы использовать только числовые идентификаторы в этой промежуточной таблице, и эти числовые идентификаторы должны быть первичным ключом в таблицах «Студенты» и «Курсы», соответственно, в качестве авто-числового столбца для каждого экземпляра. Промежуточная таблица будет выглядеть так: id_students_courses (autonumeric), Students_id, courses_id. Id_students_courses будет первичным ключом для таблицы отношений.