Создана таблица соединения со столбцом первичного ключа и двумя столбцами внешнего ключа без извлечения данных. - PullRequest
0 голосов
/ 11 января 2019

Я создал новую таблицу с именем Expirations, у которой есть собственный уникальный идентификатор с приращением идентификатора в качестве первичного ключа. Я также хочу, чтобы эта таблица извлекала данные из двух других таблиц, поэтому я создал столбец для InsuranceId и LicenseId, создавая внешние ключи обоих столбцов, чтобы связать их с данными (или идентификатором) из соответствующих таблиц (страхование и лицензия). , Любая идея, почему мои данные не заполняются автоматически для моей таблицы срока действия? Я считаю, что он был создан как "многие к одному" для всех этих столбцов. Также не уверен, что это правильно, так как я хочу, чтобы в таблице срока действия были перечислены все страховые идентификаторы и идентификаторы лицензий.

Кто-нибудь знает, что я здесь не так делаю?

Ответы [ 2 ]

0 голосов
/ 11 января 2019

По сути, ваша таблица срока действия похожа на таблицу фактов, и вы хотите загрузить данные из таблицы dim, которая представляет собой Insurancetable (InsuranceId как primarykey) и Licencetable (Licenceid как PK).

Но если у вас нет какой-либо комбинации InsuranceId и licenseId, как вы узнаете, какой страховой идентификатор принадлежит какому LicenseId.

Если ваша таблица выдохов пуста, вам нужно сначала выполнить перекрестное соединение между страховой таблицей и лицензируемой, что является декартовым результатом, но вы не хотите этого делать, поскольку в реальном мире это не имеет смысла.

Надеюсь, мое объяснение поможет.

0 голосов
/ 11 января 2019

Внешние ключи не означают, что таблица заполняется автоматически.

Допустим, у вас есть таблица сотрудников, таблица компаний и таблица company_person, чтобы показать, какой сотрудник работает в какой компании. Теперь вы вводите три компании и четыре человека. Это не означает, что таблица company_person заполняется записями 3 x 4 = 12 (то есть все люди работают во всех компаниях). Это не имеет смысла.

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

...