小编Rad*_*scu的帖子

两个不同数据库中两个表之间的连接有什么问题?

我对您加入来自不同数据库的两个或多个表的陷阱感兴趣.我试着举个例子.

假设表Table1位于DatabaseA数据库中并Table2位于DatabaseB.假设我有一个视图,DatabaseA从中抽出一些数据Table1,以及其他一些表格DatabaseA.

这个视图用于将数据推送到另一个数据库,让我们打电话给这个,这是一个非常想象的DatabaseC.

如果我需要一些数据Table2,我的直觉是直接加入Table2这个视图,有点像这样table1 inner join DatabaseB..table2 on [some columns]

这样做非常简单快捷,但我脑子里有一种唠叨的声音,一直告诉我不要这样做.我担心的是无法追踪所有对象Table2,所以如果我在那里改变了一些东西,我必须非常小心并记住我使用这张桌子的所有地方.所以,有点像打破这个视图(和两个数据库)的SRP,因为这个视图可以从两个不同的动作改变(在两个不同的数据库上执行:更改Table1或更改Table2)

我对你的意见感兴趣.这是一个好主意还是坏主意?这种方法会出现什么问题(表现明智,维护明智等等),如果你有真实的世界经验,这种方法要么是一个大错误,要么是为你节省生命.

PS:我在google和SO上搜索了这个主题,但找不到与此相关的任何内容.我很乐意接受来自SO用户的减号,重复问题和其他"谴责",以便对这个问题有不同的看法.

PPS:我正在使用SQL Server 2005.

谢谢你,希望我明白自己:)

database sql-server database-design sql-server-2005

20
推荐指数
3
解决办法
1万
查看次数