SQL Server 70-431认证考试真题:外键与视图索引策略

需积分: 44 2 下载量 198 浏览量 更新于2024-11-11 收藏 1.03MB PDF 举报
1. 题目:SQL Server 70-431认证考试真题 在SQL Server 2000升级至SQL Server 2005的过程中,考生可能会遇到确保数据迁移时参照完整性的场景。问题描述了一个情况,即需要从SQL Server 2000的客户表和国别表中导入数据到SQL Server 2005,同时保证在插入过程中,客户表中的国家代码值必须在目标数据库的国别表中存在。为了处理这种情况,正确的做法是使用DML INSTEAD OF触发器。当尝试插入不符合规则的数据时,触发器会捕获错误,而不是让导入过程失败,然后可以选择将错误记录写入文件或表中,从而确保数据一致性。因此,选项C是最佳答案。 2. 另一道题目涉及SQL Server 2005数据库管理,特别是视图(v_Customer)的创建和索引优化。题目中提到的视图仅包含CustomerID、CompanyName、FirstName、LastName和Picture这些列,而Picture列使用了Varbinary(max)类型,可能不适合索引创建。在SQL Server中,对于存储大量二进制数据的列,通常不建议创建索引,因为这会增加存储开销且查询性能可能下降。如果确实需要索引,应该考虑使用其他列,或者对Picture进行适当的预处理,将其转换为更适合作为索引的数据类型,比如转换为较小的固定长度数据类型。选项A将Picture列改为image数据类型不是一个好选择,因为它仍然是二进制类型。正确的做法可能是排除掉包含Picture的索引,或者选择B和C中的方案: - B. 在表名中包含模式名,这有助于明确数据源和避免潜在的命名冲突,但这对索引创建不是必需的。 - C. 使用WITH SCHEMABINDING语句可以确保视图的结构在整个数据库中不会改变,这对于依赖视图的查询是重要的,但同样与索引创建无关。 因此,正确答案是**B 和 C**,但这并不包括对Picture列的修改,因为它并不是创建索引的理想选择。理想的解决方案应该是根据实际需求选择合适的列来创建索引,或者在创建索引前对数据进行预处理。 这两道题目展示了SQL Server数据库设计、数据迁移和视图管理中的一些关键概念,包括参照完整性、触发器的使用以及索引优化策略。考生在准备微软认证考试时,需要熟悉并掌握这些核心知识点。