我们公司有一个用asp.net MVC编写的门户网站。现在每个部门都有自己的数据库但是我们想要避免拥有多个数据库,因为数据库方案是相同的,只有每个部门内部都有不同的数据。比如每个部门都有自己的项目等,应该如何更改数据库模型这样一种方法可以避免拥有多个数据库? 我们也希望在diffrents部门之间分享一些项目之类的项目。怎么做?
答案 0 :(得分:0)
您想到的单个数据库必须重新设计其表,以便您能够为每个表中的每个记录分辨记录所涉及的部门。基本上,您需要在每个根级别表中添加“DeptId”列。根目录表我只是指外键关系的父母。例如,如果您有OrderHeader和OrderLines,则只有OrderHeader表需要具有此DeptId列。这些行与标题相关,因此您也不需要将此列添加到行表中。或者,如果您有一个Customer表,这样每个客户只属于一个部门,那么您可以将DeptId列添加到此customer表中,然后在OrderHeader表上不需要它(因为订单头应该引用Customer表)
您希望在数据库之间共享的那些表/元素不会添加DeptId列。