如何从概念上设计查询?

时间:2016-04-22 15:38:49

标签: sql-server tsql sql-server-2014

(如果这是在错误的位置,请告诉我,我会移动它,它与编程有关,但我正在寻找一个通用框架。)

我希望通过建立一个框架或我在设计新查询时可以遵循的设计流程来为我的查询设计建立最佳实践。

我发现自己正在开发查询,然后对如何获得我需要的结果感到困惑。

  • 当您需要创建新查询时,您是否有设计流程或指南?
  • 你把它画在纸上吗?
  • 在提出问题时,您是否会遇到某些问题 设计?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

与任何类型的编程一样,您的代码应该是DRY,因此请设计重复部分并使用存储过程,视图和函数来执行这些部分。

在SQL中同样重要的是可读性 - 在某些时候,一些可怜的草皮(也许是未来的你)将不得不阅读你的代码并尝试理解它。因此,请尝试避免长查询,使用临时表或视图将其分解。

只是一些简单的想法......

设计流程问题

  • 我需要查询哪些表格?
  • 这些表有哪些索引和关系? - 这可能会告知您查询该表的方式
  • 我期待什么输出 - 哪些列,多少数据,哪些类型?
  • 查询的频率如何?

<强>设计

在纸上或图表上绘制您的设计,如果您正在使用star schema

的数据仓库工作,这将非常有用

显示将使用的表格以及它们之间的关系。

<强>评论

将类似内容添加到任何存储过程或函数的头部,或保存的SQL代码,并在更改代码时更新它。这有助于您和其他人了解代码的用途以及为何进行更改。

-----------------------------------------------------------------------------------------
-- Stored Procedure : usp_SSRS_ReportName                                               --
-- DateTime  : 07/07/2014                                                              --
-- Author    : John Smith                                                          --
-- Purpose   : Get Date for Report                              --
-----------------------------------------------------------------------------------------
-- Ver  |    Date    |  Author    | Description                                        --
-----------------------------------------------------------------------------------------
-- 1.00 | 07/07/2014 | J Smith | Created.                                          --
-- 1.10 | 10/02/2015 | B Builder | Split sales by currency, removed company param 
--                                                      --