Как вставить запись, которая указывает на множество идентификаторов?

0

Я немного запутался в том, как реализовать эту таблицу (все еще изучая SQL). Я хотел бы иметь 2 таблицы в отношениях, но столбец, относящийся к другой таблице, должен иметь возможность использовать MULTIPLE внешние ключи. Вот пример, который я хотел бы попробовать и сделать...

**Candidate Table**
(PK) id : int
(FK) exams : ??? <------ Multiple students many have multiple exams, so I need this column to contain MULTIPLE foreign keys. WHAT is the datatype that needs to be assigned to this column to take multiple foreign ids???
candidate_name : varchar (50)

**Exams Table**
(PK) id : int
exam subject : varchar (50)
exam_no : varchar(10)
nom_candidates : int

Возможно ли это сделать в mySQL (хотя это беспорядочно и запутанно)? Каким будет тип данных столбца, указанного в первой таблице, чтобы взять несколько ключей?

  • 0
    Одно поле не должно содержать несколько значений, что является центральным принципом проектирования базы данных. Исследуйте отношения «многие ко многим».
  • 0
    Здравствуй. Время, чтобы прочитать вводный учебник по информационному моделированию и реляционным базам данных.
Показать ещё 1 комментарий
Теги:
foreign-keys
relational-database

1 ответ

0
Лучший ответ

Изучите отношения "многие ко многим". Вот хороший пример.

Create table that connects Candidate with Exam
** CandidateExam **
(FK) candidate_id: int
(FK) exam_id: int
  • 0
    Итак, мне нужно 3 таблицы только для того, чтобы связать множество со многими (полями) между 2 таблицами? Другого пути нет? Я собирался создать массив, заполнить его внешними ключами, а затем удалить внешний ключ из массива, если студент не придет на экзамен. Но я думаю, что это не сработает .... о боже ...
  • 0
    Соединительная таблица необходима для перекрестного сопоставления кандидатов с экзаменами (и экзаменами с кандидатами).
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню