当我们的IT部门将Access数据库转换为SQL Server时,关系不会转移。在过去,我提供了可用于建立关系的ERD。在这种情况下,我没有。
在MS Access前端中定义表关系与在SQL Server本身上定义表关系会产生什么后果?
如果我可以在Access中创建关系并避免向IT提交请求,那将是理想的,但我不想冒现在或将来出现性能问题。
答案 0 :(得分:2)
可能存在一些误解。
SQL Server中的关系强制执行参照完整性(订单不能包含不存在的客户ID)。 It does not automatically create an index on the Foreign Key,因此它本身对性能没有任何影响。
But in most cases it is a good idea to define an index on a foreign key,以提高效果。
您在链接表上的Access中定义的关系都不会。它不能强制引用完整性(这是服务器的工作) 表格通过指定的字段相关只是一个“提示”,例如,如果将表添加到查询设计中,查询生成器可以自动加入表。 (copied from here)
所以你应该
理想情况下,您应该拥有一个测试服务器,您可以自己定义关系,然后将完成的SQL脚本发送给IT。