关系数据仓库中的参照完整性.这值得么?什么是替代品?

Dav*_*vid 5 sql-server database-design referential-integrity data-warehouse

如果你必须使用SQL Server 2008构建一个圣经比例的关系数据仓库,你会使用外键来强制数据完整性,还是会使用其他方法?

我喜欢外键,因为你只需要将它们弄好一次,它们总是在那里保护完整性.我正在考虑去禁用,加载,启用路由.

有什么想法吗?

提前致谢.

och*_*les 1

哦,我当然会的!您必须记住的是,您的数据库是您的数据存储,而不仅仅是前端的数据存储。这是细微的差别,但当您开始考虑未来时,这一点很重要。现在,您(大概)拥有管理应用程序,但谁能说将来情况仍然如此?

通过将尽可能多的验证卸载到数据库上,您可以在某种程度上证明您的应用程序的未来性 - 至少如果其他人尝试针对您的数据库进行开发,您的更多假设将成立。

在数据库端这样做的缺点是插入速度较慢,因此您需要权衡应用程序对读取和写入的负担有多大。在工作中,我们对读的需求比对写的需求要多得多,因此引用完整性似乎是显而易见的。然而,我们的表很大(并且可以免费导入),因此我们采用了多步骤导入路线:创建表、插入数据、创建索引,然后创建外键和其他约束。

我希望这有帮助!