PSI Labs RSS feed

[設計]SQL設計書の書き方(続き)

こんにちは。shintaniです。

前回のSQL設計書(データ取得図)の記事 の続きです。

今回はGROUP BYやソート順の書き方、そしてインラインビューを使う場合と、書くときのポイントを説明します。




まずはGROUP BY とソート順。
(前回の紹介では書き忘れていました・・・)

SQL設計書01.JPG




ソート順とグループ化項目の位置に違和感を覚える方もいるでしょう。
しかしソート順は図に書いた理由の他にも「SELECT項目がどう並ぶか?」という観点から、SELECT句のそばにあった方が分かりやすいです。
そしてグループ化項目は「テーブル結合後にどう集約するか?」なので、図の下にあった方が分かりやすいです。



次は インラインビュー。



SQL設計書02.JPG


こんな感じになります。
(インラインビューにしなくても出来る・・・というのは御容赦を)




書くときのポイントですが、


SELECT句はこだわらない。テーブル結合にこだわる

です。

SELECT句の部分が間違っていても後で修正は容易です。
リターンされるレコード数が増えるわけでもなく、かつ影響範囲はその列だけだからです。
(インラインビューのSELECT句だったら困るかもしれませんが・・・)
半面、使用するテーブルや結合条件に誤りがあった場合、影響は甚大です。

また、分析関数を使ったりCASE式での複雑な分岐があったりする場合、そこに大量に記述して「テーブル結合」が見辛くなってしまうことがあります。
その場合にはいっそ「列A:別紙_列Aの取得方法、を参照」などと書いて、別シートに移してしまった方が分かりやすいです。

ではでは。