Yabu.log

色々勉強するブログです。

プログラマのためのSQL 読書会(28)に参加

今回の勉強会では、標準SQLかどうかを判断できる無料の資料の存在を教えてもらったのがデカかったです。

プログラマのためのSQL 第4版

プログラマのためのSQL 第4版

  • 「30. 6 ベンダー 拡張」から「31.6累積統計」まで読みました。
  • 進捗72% →74%

30. 6 ベンダー 拡張

この節でベンダー拡張のWindow関数として紹介されている以下の関数は、 現在では全て標準SQLに入っているためベンダー拡張では無くなっている。

この節で書かれているベンダ間の差分は無くなっています。 これはつまりどういうことかというと、Window関数に関して、一般的に普及している主要RDBMSはかなり高い水準でSQL標準に準拠しているということです。

そういえばMySQL8にWindow関数が対応したことが大きなニュースになっていましたね。 時代がWindow関数に追いつきましたね。私も障害調査の時にWindow関数をかなりカジュアルに書きますが、まだまだ普及しているとは言い難いので、積極的に使っていきましょう。

標準SQLかどうかはどうやって見分けるか?

  • JISになったものは公開されているのでそちらをみる

  • 昔の99とかは本が出たのでそちらを参考

C.J.Dateの有名なサンプルデータについて

サンプルとして、デイトの有名な部品テーブルを利用しよう(Date,1983,1995a)。

Parts

part_nbr part_name part_color part_wgt city_name
p1 Nut Red 12 London
p2 Bolt Green 17 paris
p3 Cam Blue 12 paris
p4 Screw Red 14 London
p5 Cam Blue 12 paris
p6 Cog Red 19 London

とあるが、有名なのか?と話題を出したところ、誰も特に知らなかった。まだ本書の参考文献は量が多いことに加えて、巻末に纏めて書かれているため参照しにくい。帰宅後調査してみたところ

Dateに関して1983年と1995年の著作は以下のものがあるらしい

  • Relational Database Writings 1991-1994 [FACSIMILE], 1995, Addison Wesley Longman, ISBN 978-0201824599
  • Database : a primer, Addison Wesley, 1983, ISBN 978-0201113587

おそらくこの2冊からの引用ということだろう。

Relational Database Writings 1991-1994

Relational Database Writings 1991-1994

Database: A Primer

Database: A Primer

余談だがカラム名でググってみたところ、

  • この本
  • セルコの投稿
  • この本のmedianの節を参考にしたと思われる発表スライド

のみがヒットした。セルコ以外の人が特に利用している様子が見当たらなかった。

JIS標準がカタカナ名末尾の'ー'をつけない理由

  • コンピュータ(JIS準拠)
  • コンピューター(非準拠)

JISの資料が多すぎて末尾のーを消すだけで規格書が1冊へる、という理由があるらしいが、ソースが不明。Wikipediaにも似たようなことが書かれている

JISの従来の表記規格では、後述のように一定の基準で長音符を省略していた。省略した理由は、当時の活字などの印刷コスト、紙面や画面上の表示スペース、記憶装置などの節約と言われている[要出典]。

次回は「31.6 累積統計」から