我们公司有一个用 asp.net MVC 编写的门户网站。现在每个部门都有自己的数据库,但我们希望避免拥有多个数据库,因为数据库方案是相同的,只是每个部门内部都有不同的数据。就像每个部门都有自己的项目等。数据库模型应该如何更改这样可以避免拥有多个数据库吗?我们也想在不同部门之间分享一些元素,比如项目。怎么做?
问问题
31 次
1 回答
0
您想到的单个数据库必须重新设计其表,以便您能够为每个表中的每条记录判断该记录与哪个部门相关。本质上,您需要向每个根级表添加一个“DeptId”列。我所说的根级表仅指外键关系的父级。例如,如果您有一个 OrderHeader 和 OrderLines,那么只有 OrderHeader 表需要这个 DeptId 列。这些行与标题相关,因此您也不需要将此列添加到行表中。或者,如果您有一个 Customer 表,这样每个客户只属于一个部门,那么您可以将 DeptId 列添加到此客户表中,然后在 OrderHeader 表中不需要它(因为订单标题应该引用 Customer桌子)
您希望在数据库之间共享的那些表/元素不会添加 DeptId 列。
于 2013-04-12T09:34:11.147 回答