Как сопоставить две таблицы с большой базой данных?

#mysql #database

#mysql #База данных

Вопрос:

Я делаю это в MySQL. В настоящее время у меня есть две таблицы: 1. universitiestable 2. coursestable

Таблица 1. содержит список всех университетов мира. Таблица 2. содержит список всех курсов.

Таблица университетов содержит следующие столбцы:

 id  University_Name 
1   NYU   
2   Yale
3   Oxford
  

Таблица курсов содержит следующие столбцы:

 id      Course      Univ_ids
1       BS             1:2
2       MS             3:1
3       Phd            1:2:3
  

теперь это правильный подход к хранению данных в этом сценарии, когда мне нужны все курсы, предоставляемые каждым университетом, перечисленным в universitiestable

Комментарии:

1. Таблица университетов содержит следующие столбцы: id имя_университета 1 Нью-Йоркский университет 2 Йель 3 Оксфордские курсы таблица содержит следующие столбцы: идентификатор курса Univ_ids 1 BS 1: 2 2 MS 3: 13 Phd 1: 2: 3 теперь это правильный подход к хранению данных в этом сценарии, когда мне нужны все курсы, предоставляемыекаждый университет, указанный в universitiestable

2. Нет — не объединяйте свои университеты в таблице курсов.

3. Тогда как сопоставить? Спасибо за вашу помощь, сэр.

4. 1 строка для каждого университета на курс в таблице courses

5. Тогда как насчет избыточности данных?

Ответ №1:

Я сам разобрался с решением. Мне нужно создать третью таблицу, в которой хранятся сопоставления. третья таблица будет выглядеть следующим образом со следующими полями Имя таблицы:university_courses

 id  course_id  university_id
1    1          2
2    3          3