SQL Server 2008.
Утро,
Если бы кто-то мог предложить свой совет, он был бы очень признателен.
В настоящее время я хочу импортировать два XML-файла: сумму пожертвования и программу создания пожертвований.
Файл «Сумма пожертвования» будет содержать поле «Сумма» и DonationMakerID, а файл «Создатель пожертвования» будет содержать поле «Имя» и DonationMakerID. Создатель пожертвований внесет пожертвование определенной суммы, возвращенной в файл сумм.
Моя проблема заключается в том, что я иногда получаю файл суммы пожертвования с идентификатором создателя пожертвования, который не относится к создателям пожертвований, которые в настоящее время находятся в базе данных, но, вероятно, будет связан с идентификатором пожертвования в XML-файле Donation Maker, который я получу позже этим днем.
Теперь, как лучше всего хранить информацию о сумме пожертвования, пока я не получу файл создателя пожертвования? Я, очевидно, не мог загрузить файл суммы пожертвования, пока у меня не будет соответствующего Donation MakerID, но я предпочел бы загрузить файл, как и когда я получу их.
В идеале мне нужно ограничение FK, которое только обеспечивает ссылочную целостность в таблице суммы пожертвования для идентификаторов, которые уже существуют в таблице создателя пожертвования…
У меня есть несколько идей, например, два столбца в dbo.DonationAmount из DonationMakerID и XMLDonationMakerID, где DonationMakerID может разрешать NULL. Затем, когда я получаю файл суммы пожертвования, я загружаю DonationMakerID в поле XMLDonationMakerID и, если в таблице создателя есть соответствующий идентификатор, я загружаю его в столбец пожертвования makerID, в противном случае я оставляю его пустым. Затем, когда я получаю последующие XML-файлы Donation Maker, я могу проверить поле XMLDonationMakerID по идентификатору в XML-файле Donationmaker, и если я найду тот, который соответствует обновлению DonationMakerID.
Надеюсь, все это имеет смысл.
Большое спасибо