Получить информацию о пакете расширения для персонажа, который принадлежит неизвестной команде - PullRequest
0 голосов
/ 04 марта 2020

Я создаю новую базу данных - для этого примера, скажем, я хочу создать таблицу с персонажами из игры, следующую таблицу с их командами, где первичным ключом этой таблицы является внешний ключ в таблице с символами и последняя таблица с выпущены пакеты расширения для той игры, где первичным ключом этой таблицы является внешний ключ в таблице команд (поскольку некоторые команды были добавлены в игру с пакетом расширения). К сожалению, некоторые персонажи принадлежат неизвестной команде, поэтому, вероятно, это должно быть показано как NULL, но в то же время мы знаем о пакете расширения, который добавил этих персонажей в игру. Пожалуйста, смотрите изображение ниже, чтобы сделать мое описание более понятным:

пример изображения таблиц базы данных

Я хотел бы получить информацию о пакете расширения для персонажа, который принадлежит неизвестная команда (персонаж 3 на картинке). Это единственный способ сделать это, добавив второй внешний ключ с extensionpack_id в таблицу символов? Это правильное решение?

1 Ответ

0 голосов
/ 04 марта 2020

Таблицы Character и Expansion Pack связаны через Team таблицу. Таблица Team работает как таблица отображения в отношении «многие-многие».

Следовательно, character3 в изображении не имеет отношения к таблице Team, поэтому вы не можете связать ее с Expansion Pack .

Предложение: переместить столбец expansionpack_id из таблицы Team в Character.

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