Внешние ключи в отношениях многих ко многим? - PullRequest
0 голосов
/ 23 февраля 2020

Я немного озадачен тем, что нужно хранить в таблице отношений «многие ко многим».

Если у меня есть две таблицы: Flight и Company, что мне нужно хранить в таблице CompanyFlights?

Например, должна ли эта таблица содержать только номер рейса и уникальное название компании, или же она должна содержать дополнительную информацию, такую ​​как адрес штаб-квартиры компании, пункт назначения и место вылета и т. Д. c ,

А если у рейса есть два внешних ключа для идентификаторов мест назначения и отправления, которые ссылаются на другую таблицу Местоположение?

Может ли таблица CompanyFlights содержать эти внешние ключи, которые ссылаются на таблицу Location, которые являются внешними ключами таблицы Flight?

1 Ответ

2 голосов
/ 24 февраля 2020

Минимум - два столбца - первичный ключ для каждой из двух других таблиц, возможно, вы называете их flight_id и company_id. Каждый из них может быть AUTO_INCREMENT в их таблицах, но нет необходимости для auto_in c в таблице сопоставления.

См. Это для обсуждения индексации: http://mysql.rjweb.org/doc.php/index_cookbook_mysql#many_to_many_mapping_table

Все, что указано c для полета, должно быть в таблице Flights. То же самое для Companies. Она должна быть , а не в таблице «многие: многие».

A несколько разработчики схем добавляют еще один столбец для упорядочения или какой-либо квалификации в отношении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...