首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >2 XML导入-数据库设计

2 XML导入-数据库设计
EN

Stack Overflow用户
提问于 2010-10-26 18:29:56
回答 2查看 76关注 0票数 1

SQL Server 2008。

早上,

如果有人能提供他们的建议,我将不胜感激。

目前,我正在寻找导入两个XML文件,捐赠金额和捐赠制造商。

捐赠金额文件将由Amount字段和DonationMakerID组成,而捐赠制造者文件将由Name字段和DonationMakerID组成。捐赠者将在金额文件中带回一定数量的捐赠。

我的问题是,我偶尔会收到一个带有捐赠者ID的捐赠金额文件,该文件与当前数据库中的任何捐赠者无关,但可能与我将在当天晚些时候收到的捐赠者XML文件中的捐赠MakerID相关。

现在,在我收到捐款制造者文件之前,存储捐款金额信息的最佳方式是什么?显然,除非我有一个匹配的捐赠MakerID,否则我无法加载捐赠金额文件,但我宁愿在获得它们时加载该文件。

理想情况下,我需要一个FK约束,它只在捐赠金额表中为捐赠制造者表…中已经存在的ID强制执行引用完整性

例如,我有一些想法,在dbo.DonationAmount of DonationMakerID和XMLDonationMakerID中的两列中,DonationMakerID可以允许NULL。然后,当我收到捐赠金额文件时,我会将DonationMakerID加载到XMLDonationMakerID字段中,如果maker表中有匹配的ID,我会将其加载到捐赠makerID列中,否则将其保留为空。然后,当我收到后续的捐赠制造者XML文件时,我可以对照Donationmaker文件中的ID检查XMLDonationMakerID字段,如果我找到一个与更新DonationMakerID匹配的字段。

希望这一切都是有意义的。

非常感谢

EN

Stack Overflow用户

回答已采纳

发布于 2010-10-27 04:16:58

首先,您能等到收到第二个文件并按正确的顺序处理它们吗?或者你可以让他们同时发送这些文件,或者先发送捐赠者的文件?修复时间问题是第一个,也是最好的选择。

如果这是不可能的,那么将坏的记录移到一个单独的表中,这样您就可以维护外键约束(不要摆脱这些约束真的很重要)。然后在第二次导入后检查该表,并在输入正确的供体之后添加任何记录。无论您做什么,您都不希望将数据放到生产表中,直到关联的数据与它在一起,否则您的数据库中将会有无意义的垃圾。为了做到这一点,摆脱必要的FK约束是未来数据完整性其他问题的保证。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4022791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档