Что было бы лучшим способом связать эти две таблицы
У меня есть две таблицы в базе данных, обе из которых получены из официальных правительственных справочных таблиц, изначально предоставленных в форме электронных таблиц.
Структура этих двух таблиц показана ниже.
Таблица 1 (Видовые коды)
Таблица 2 (допустимые коды представления)
Когда я пытаюсь создать связь между первым и вторым (чтобы в полной мере использовать возможность поиска значений во второй таблице, я получаю следующую ошибку при попытке связать pescodes.FAOCode с allowstates.ErsSpeciesCodes).
Таблица "SpeciesCodeLookup" успешно сохранена. Таблица "AllowedPresentationAndStateCodesLookup" - Невозможно создать отношение "FK_AllowedPresentationAndStateCodesLookup_SpeciesCodeLookup".
Оператор ALTER TABLE конфликтовал с ограничением FOREIGN KEY "FK_AllowedPresentationAndStateCodesLookup_SpeciesCodeLookup". Конфликт произошел в базе данных "FishTrackerPro", таблице "dbo.SpeciesCodeLookup", столбце "FAOCode".
Может ли кто-нибудь просветить меня относительно 1) почему возникает эта ошибка 2) есть ли способ (путем изменения той или иной таблицы, где может быть установлено такое отношение?
1 ответ
Кажется, вы получаете эту проблему, потому что ссылочная целостность не соблюдается. Т.е. таблица внешних ключей не должна иметь значений, которых нет в таблице первичных ключей.
Проверьте эти ссылки: