【问题标题】:sql server partitioned tablesql server 分区表
【发布时间】:2013-11-16 10:05:13
【问题描述】:

我正在准备 70-451 考试。我有一个问题:

您是一名数据库开发人员。您计划使用 SQL Server 2008 设计数据库解决方案。该数据库将包含一个名为 Claims 的表。 Claims 表将包含大量数据。您计划将数据划分为以下类别:

  • 公开声明

  • 索赔在 2005 年 1 月 1 日之前结束

  • 索赔在 2005 年 1 月 1 日至 2007 年 12 月 31 日之间结束

  • 从 2008 年 1 月 1 日至今的索赔结束

Claims 表中的 close_date 字段是日期数据类型,仅当索赔已关闭时才会填充。您需要设计一个分区函数来将记录分隔到定义的类别中。 你该怎么办?

  • A 使用值 20051231、20071231 和 20080101 创建 RANGE RIGHT 分区函数。

  • B 使用值 20051231、20071231 和 NULL 创建 RANGE RIGHT 分区函数。

  • C 使用值 20051231、20071231 和 20080101 创建 RANGE LEFT 分区函数。

  • D 使用值 20051231、20071231 和 NULL 创建 RANGE LEFT 分区函数。

有人可以回答吗?

【问题讨论】:

    标签: sql-server-2008-r2 partitioning


    【解决方案1】:

    我已经看过几次了,我看不出其中任何一个是正确的。

    2005 年 1 月 1 日之前的声明分区不是由任何一个分区生成的,因为任何答案的第一个分区值都是 20051231。因此是否使用 LEFT/RIGHT 并不重要,直到 2005 年 12 月 31 日之前的每个值都在一个单独的分区,而 LEFT / RIGHT 只是关于是否包含该日期。

    我预计会有 20041231 的左侧或 20050101 的右侧出现在某处。

    如果答案都以 20041231 而不是 20051231 开头,那么我认为答案 D 是正确的。要么问题有错字,要么测试有。

    【讨论】:

    • 是的,这真的让我很困惑。我会同意你的。谢谢。
    【解决方案2】:

    这周我参加了考试,提出了这个问题。我用不相关的日期 20051231 评论了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多