我最近在IT领域找到了一份工作,虽然我的专业是应用设计,但我被指派负责修复和改进他们当前的数据库结构和应用程序。他们目前的数据库包含20个相互连接的数据库,有数百个不同的视图(没有存储过程),所有内容都与一系列访问前端相关联。现在服务器架构非常奇怪,在跨数据库中存在大量重复的表,这些表包含相同或几乎相同的数据,因此很多内容可以合并。然而,以前的开发人员布置应用程序的方式是为每个单独的应用程序使用一个单独的数据库,并创建另一个名为“Shared_Tables”的数据库,其中包含需要在表格之间传递的部分信息。现在我的主要问题是,既然我基本上是从头开始为公司创建新的系统结构,那么使用分离的数据库是否有任何真正的优势,或者将它们全部合并到一个数据库中是否同样有效,假设它们都在同一实例上运行?另外值得注意的是,没有任何数据库具有主键、唯一键、外键等。许多字段之间的数据类型不同,即使应该相同也是如此。