Я пытаюсь создать таблицу, которая в качестве первичного ключа использует значения из других таблиц. В моих лекциях говорилось, что это составной ключ (первичный + внешний), но я не могу найти, как его инициировать. Может ли кто-нибудь попробуйте объяснить эту концепцию и как попытаться ее реализовать?
Составной ключ SQL
Ответы (1)
Рассмотрим данные, состоящие из наборов студентов и курсов. Когда вы сохраняете его в СУБД, каждый студент (или курс) будет иметь связанный с ним уникальный идентификатор, который будет называться первичным ключом студента (или курса).
students(id, name, dob)
courses(id, name, credits)
Чтобы связать студентов с курсами, на которые они зачислены, вы создадите таблицу, которая выглядит следующим образом.
student_course(student_id, course_id)
Чтобы создать это на самом деле в mysql, вы должны написать что-то вроде: -
CREATE TABLE student_course(student_id INT NOT NULL,
course_id INT NOT NULL,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES student(id),
FOREIGN_KEY (course_id) REFERENCES course(id))
person
Himanshu
schedule
02.12.2012